Commit fcc8c9ce by 李楚霏

周记总结

parent 410f33ae
### 树和二叉树,平衡二叉树
* 树是二维数据结构,他的基本特性就是一个根节点下又有左右子节点,并且以此类推下去。利用树进行增删改查的操作会比普通的数据结构要来得快。时间复杂度一般是O(logn),但是也有分特殊情况,如退化成只有左子树或只有右子树的树时,时间复杂度就会变成O(n),这就引出了后面的二叉树和平衡二叉树;而平衡二叉树是查找节点最常用的数据结构之一,他的基本特性就是父节点大于左子节点,小于右子节点且左右子树以此类推下去的一种树结构。
* 一般树的算法题有如下几种:
* 前后中序的遍历,层次遍历;
* 利用遍历方式访问,删除,增加节点等
* 利用栈,队列,递归,迭代方法实现各种遍历,层次遍历用到的是队列,也可以使用递归来完成;前后中序则可以用栈+迭代的方式或者是递归。
### 堆和二叉堆
* 学到了堆和二叉堆的基本特性,堆是可以在一组数据中快速获得最大值或最小值的数据结构,一般会用到的是大顶堆或者小顶堆;二叉堆是用完全二叉树来实现的,他的任意一个节点都要大于它的左右子节点。使用二叉堆来插入,删除节点的时间复杂度O(logn)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment