计算机基础知识
开篇
- 学习数据结构与算法的方法;
- 基本概念和核心理论;
- 时间复杂度;
- 空间复杂度。
- 算法精髓;
- 使用数据结构和算法思维解决问题的能力。
- 业务开发:评估代码性能和资源消耗;
- 架构设计:优化设计模式;
- 玩转热门技术。
入门
1.1 为什么要学习数据结构和算法?
- 建立时间复杂度、空间复杂度意识;
- 编写高质量的代码;
- 设计基础架构;
- 提升编程技能;
- 训练逻辑思维。
1.2 如何抓住重点,系统高效地学习数据结构与算法?
- 数据结构和算法
- 广义:数据结构指一组数据的存储结构;算法即操作数据的一组方法。
- 狭义:队列、栈、堆、二分查找、动态规划等一些著名的数据结构和算法。
- 数据结构和算法是相辅相成的:数据结构是为算法服务的,算法要作用在特定的数据结构之上。
- 数据结构和算法解决的是如何更省、更快地存储和处理数据的问题。
- 复杂度分析
- 考量效率和资源消耗。
- 考量效率和资源消耗。
| 最常用、最基础的重点掌握 | |
|---|---|
| 10个数据结构 | 数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树 |
| 10个算法 | 递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。 |
掌握数据结构和算法的特点、用法,学会复杂度分析。
学习它的“来历”、“自身的特点”、“适合解决的问题”以及“实际的应用场景”。