1.算法
早期算法,相对简单:古代的计数方法、工具制作步骤...
如今算法,精细复杂:解放生产力的工业产品、宇宙运行的科学规律...
2.数据结构
数据结构无处不在:大到社会网络,小到地铁线路,许多系统都可以建模为“图”;大到一个国家,小到一个家庭,社会的主要组织形式呈现出“树”的特征;冬天的衣服就像“栈”,最先穿上的最后才能脱下;羽毛球筒则如同“队列”,一端放入、另一端取出;字典就像一个“哈希表”,能够快速查找目标词条。
第一句话,系统建模为图?参考第二句“树”,是因为线路、网络之类的所形成的关系线图吗?---关系图是数据结构?(且当是这样认为...)
名词 | 象形意思 | 释义 |
栈 | 冬天的衣服 | 最先穿上的最后才能脱下:先进后出 |
队列 | 羽毛球筒 | 一端放入、一端取出:先进先出 |
字典 | 哈希表(不明白?) | 快速查找目标 |
3.算法学习路线
阶段一:算法入门。熟悉各种数据结构的特点和用法,学习不同算法的原理、流程、用途和效率等方面内容。hello 算法
阶段二:刷算法题。从热门题目开刷,先积累至少 100 道题目,熟悉主流的算法问题。初次刷题时,“知识遗忘”可能是一个挑战,但请放心,这是很正常的。我们可以按照“艾宾浩斯遗忘曲线”来复习题目,通常在进行 3~5 轮的重复后,就能将其牢记在心。推荐的题单和刷题计划请见此算法题推荐
阶段三:搭建知识体系。在学习方面,我们可以阅读算法专栏文章、解题框架和算法教材,以不断丰富知识体系。在刷题方面,可以尝试采用进阶刷题策略,如按专题分类、一题多解、一解多题等,相关的刷题心得可以在各个社区找到。