算法导论之数据结构

91 阅读1分钟

数据结构: 栈,可以理解为js数组,先进后出。

链表:链表是js中没有的,链表可以理解为一个数据段分为三块,一块指向上个数据地址, 一块是当前数据 的值,一块指向下个数据地址。所以对链表的搜索,插入删除比较,要移动相应块的指针。

可以把二叉树理解为链表,不过这个链表是特殊的。不过这个链表不再是两个指向地址, 而是三个,一个指向父级,两个指向子集。

理解指针的概念对这一部分友帮助。

散列表:可以理解为js中的对象,不管这个对象里面的有多少个key,只要obj【key】就能得到value,时间复杂度相当小。 就是内存直接寻址就行了。有时候完全靠内存把这些东西都记住不太现实,也没有必要。

二叉树,平衡二叉树,红黑树,alv树,好多,以前研究过,都没什么用又忘记了。这一部分跳过不看了,看了也是望。

这些数对内存分配,文件夹管理,等很作用。