一、对算法的思考:
- 算法为什么老和 数据结构 混在一起?
相辅相成、唇齿的关系。好的算法依赖巧妙的数据结构。数据的物理、逻辑结构又限制了算法。 - 算法包含哪些东西?难道就是排序吗?
搜索、排序、插入、删除、更新等。 - 数据结构有哪些?
线性数据结构(数组、堆栈、列队)、树、图等
二、算法学习的效果:
1、在最复杂的逻辑思维、纯抽象思维中来锻炼锻炼逻辑能力。
2、让人变的细心。锻炼出缜密的思维逻辑,告别凭感觉、大概、简单的思维。
效果体现、拓展:
1、逻辑是什么?
初级阶段: 面对一个问题、算法、目的。能清晰的划分出业务关系、逻辑关系、。且不能忽略各种边界值。
升级阶段: 能用最合适的数据结构。最快、最简洁、最优秀的算法 ,最高效的编程函数。最周全的边界值。最好的设计模式模式。
再升级: 能预料到可能遇到的所有情况。
都是抽象的,但却需要周全、清晰的划分关系,全凭脑子抽象出完整的闭环 + 经验来实现。
先制造一个闭环,例如:整数包含正数、负数、零。不能只考虑大于1的数、而忽略1、 0、 负数等。
2、数学是什么?
越来越觉得,数学就是抽象的现实、问题、思维、几何、编程等现实的最高级的抽象模型。
就像人体的细胞、物质的分子、生物的基因一样。万变不离其宗。