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

目录

# 数据结构与算法
## 数据结构与算法为什么放到一起
## 数据结构与算法的核心 -- 复杂度分析
## 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了怎么办?
真的是问题不断的出现。我在寻找答案,让我有了不同的发现。
我不重视的计算机组成原理(当时在我眼里有点偏向文科的东西,还难)原来非常重要,计算机组成原理、操作系统、计算机网络这些偏向底层才是最早的基础,就像建房子的根基,决定了房子的高度。许多东西可能过时,但他们不会,除非人类选择计算机这条道路是错误的。(选择和决定比努力重要)

    推荐阅读