欢迎光临散文网 会员登陆 & 注册

labuladong的算法秘籍-阶段总结

2023-02-19 22:50 作者:风格星辰  | 我要投稿

最近学习的知识点太多了,labuladong的算法秘籍、金字塔原理、认知颠覆以及各种思维模型等等的知识点,有点消化不良,决定把有些知识缓一缓放一放,按重要程度分类。金字塔原理>算法秘籍>认知颠覆。

每学习完一章都要留一到两天时间消化,将其加入自己的知识体系中,与旧知识产生联系。避免学完就忘。

并且会整理以后学习的方法论。

学习labuladong的算法秘籍有段时间了。到目前为止,学习了以下内容。

什么是数据结构?

数据+结构

数据(描述客观事物的符号)

结构(组合的方式)

数据结构即是研究数据组合的方式的学问

结构分为物理结构和逻辑结构

物理结构

1、顺序存储:逻辑上相邻的元素物理上也相邻

2、链式存储:逻辑上相邻的元素物理上不相邻,使用一定的空间存储下一个元素位置

顺序存储优缺点

查询方便,通过起始值计算得到任意元素的位置。

插入删除不方便,需要移动后续的元素。

链式存储优缺点

插入删除方便,只需要改变下一个元素位置即可

查询不方便,需要从头遍历

逻辑结构

1、集合 元素之间没有联系,只是单纯的集合

2、线性 元素之间存在一对一关系

3、树形 元素之间存在一对多关系

4、图形 元素之间存在多对多关系

按上述的说法,所有的数据结构基础就是数组和链表

现在回到算法秘籍

关于数组和链表的算法技巧

1、虚拟头节点:创建一个假的节点,用来处理链表头的边界问题

2、双指针:两个指针

2.1、左右指针:两个指针相背而行

2.2、快慢指针:两个指针相向而行,一个在前一个在后,步调可以一致也可以不一致。

2.3、滑动窗口:控制左右指针的间隔

动态规划

将问题分为几个子问题,然后求解每个子问题,得到总解决方案

回溯算法

通过回退选择,重新选择。跟深度优先遍历有点类似。

深度优先遍历遍历的节点,回溯算法遍历的路径。

目前就这么多


labuladong的算法秘籍-阶段总结的评论 (共 条)

分享到微博请遵守国家法律