1. 数据结构(Data Structure) ¶
- ..note::
-
-
写代码时有必要考虑复杂度(空间及时间)。
-
主定理(Master Theorem).
-
开始时间:2020-06-02
-
更新时间:2020-06-02
-
1.1. 方法论 ¶
-
- 坚持、刻意练习。掌握计算思维。编程基础语法形成肌肉记忆,不加思索,一气呵成。
-
-
计算思维?正确理解问题;识别和抓住关键问题;问题合理拆解;任务转化为算法步骤;算法评估和测试。
-
-
练习缺陷(会的总会,不会总不会)、多练自己薄弱的、不熟悉的。
-
刚开始coding是不爽、不舒服、枯燥的。
-
- 练题平台:leetcode(力扣) ,可以看国外版的网站Discuss(有世界范围的大神解题思路,你说看不看……)
-
-
举个力扣的 例子
-
一题多解(最优(时间空间小)解法)
-
寻求反馈(成长的关键):leetcode的solution和discussion.
-
-
现在就开始动手!
1.2. 数据结构 ¶
-
两大类:线性结构(顺序表、链表、栈、队列)和非线性结构(树、图、二(多)维数据、广义表)
1.3. Array ¶
1.4. Stack and Queue ¶
1.5. PriorityQueue ¶
1.6. LinkedList(single/double) ¶
1.7. Tree/Binary Tree ¶
1.7.1. 树 ¶
1.7.2. 二叉树 ¶
-
二叉搜索树:左子树小于根结点,右子树大于根结点。