数据结构与算法入门前必读

目录

# 数据结构与算法

## 数据结构与算法为什么放到一起

## 数据结构与算法的核心 -- 复杂度分析

## 10个数据结构 && 10个算法

## 目的

## 学习技巧

## 感悟

## 附加餐


# 数据结构与算法

1. 数据结构:一组数据的存储方式;

2. 算法:操作数据的一组方发;

3. 数据结构与算法是解决如何更省、更快地存储和处理数据的问题

## 数据结构与算法为什么放到一起

数据结构是静态的,他是组织数据的一种方式。如果不在他的基础上操作、构建算法 ,孤立存在的数据结构就是没用的

## 数据结构与算法的核心 -- 复杂度分析

复杂度分析是整个算法学习的精髓,只要掌握了它,数据结构和算法的内容基本上就掌握了一半。

## 10个数据结构 && 10个算法

1. 数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树

2. 递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法

## 目的

1. 解决的是“快”和“省”的问题,即如何让代码运行得更快,如何让代码更省存储空间

2. 要学习它的“来历”“自身的特点”“适合解决的问题”以及“实际的应用场景”

## 学习技巧

1. 边学边练,适度刷题 

2. 多问、多思考、多讨论 :所谓被动学习(30%)以及主动学习(80%)

3. 打怪升级学习法 : 坚持下来,给自己设立一个切实可行的目标(最好是按季度来制定,一年四部走,每周周末回顾一下本周做了什么,所谓复盘)

4. 知识需要沉淀,不要试图一下子掌握所有 : 书读百遍其义自见,如果哪个知识点没有学懂,不要着急。听一遍、看一遍就把所有知识掌握,是不可能的。这里推荐一下《刻意练习》、一万次定律,相信你会有不同的感悟。

## 感悟

第一次接触这门课,随着你的坚持,你可能会迷茫,你知道数据结构与算法的重要性,但你不知道它为什么重要,在未来对于自己会有什么帮助,或者以后工作会不会用不到它,也许这篇文章会让你拨开数据结构与算法的迷雾。

## 附加餐

其实大学过程中,你可能在认真的学习java等高级语言,或者在网上各种搜索不同语言教程,想要提高自己的能力,但我认识到工作中通常只会使用一种语言的时候,我就在想

1. 我学习这么多语言,各个都了解,但都不深入,这样有用吗?

2. 要不我就针对一种语言,把他吃透?

3. 但我又迷茫,这么多语言,我要学哪个?

4. 我以后会从事什么工作?

5. 我又害怕我精通了这门语言,但以后它out了怎么办? 

真的是问题不断的出现。我在寻找答案,让我有了不同的发现。

我不重视的计算机组成原理(当时在我眼里有点偏向文科的东西,还难)原来非常重要,计算机组成原理、操作系统、计算机网络这些偏向底层才是最早的基础,就像建房子的根基,决定了房子的高度。许多东西可能过时,但他们不会,除非人类选择计算机这条道路是错误的。(选择和决定比努力重要)

你可能感兴趣的:(数据结构,算法)