记录一下数据结构的一些东西,方便复习应用
二叉树
结点的度:结点拥有的子树的数目
叶子结点:度为0的结点
分支结点:度不为0的结点
树的度:树中结点的最大的度
层次:根结点的层次为1,其余结点的层次等于该结点的双亲结点的层次加1
树的高度:树中结点的最大层次
森林:0个或多个不相交的树组成。对森林加上一个根,森林即成为树;删去根,树即成为森林。
满二叉树
定义:高度为h,并且由2h-1个结点组成的二叉树,称为满二叉树
完全二叉树
定义:一棵二叉树中,只有最下面两层结点的度可以小于2,并且最下层的叶结点集中在靠左的若干位置上,这样的二叉树称为完全二叉树。
树的遍历 详解链接
前序遍历-根左右
中序遍历-左根右
后序遍历-左右根
根据前序遍历中序遍历推导树的结构、根据树的中序遍历后序遍历推导树的结构 详细讲解
链表
详细讲解
注意 区分node和node.val
链表和数组的区别:
两者的区别:
数组静态分配内存,链表动态分配内存。
数组在内存中是连续的,链表是不连续的。
数组利用下标定位,查找的时间复杂度是O(1),链表通过遍历定位元素,查找的时间复杂度是O(N)。
数组插入和删除需要移动其他元素,时间复杂度是O(N),链表的插入或删除不需要移动其他元素,时间复杂度是O(1)。
JS查找算法
https://www.cnblogs.com/zhuochong/p/11641247.html
JS排序算法
https://www.cnblogs.com/AlbertP/p/10847627.html
https://www.cnblogs.com/ihboy/p/9799259.html
参考:
https://blog.csdn.net/xcy1193068639/article/details/81034537
https://blog.csdn.net/Shuffle_Ts/article/details/95055467
来源:CSDN
作者:saberrrrrrrr
链接:https://blog.csdn.net/saber04/article/details/104611240