学习笔记
第五课、第六课
其实可以把哈希表理解为带有键值对的字典,从键到值有一个映射函数。
哈希表的查找、插入和删除的平均时间复杂度都是O(1)的,这点很特别也很重要!
1.前序(Pre-order):根-左-右
2.中序(In-order):左-根-右
3.后序(Post-order):左-右-根
所谓的“前”、“中”、“后”指的都是根节点的位置,剩余的“左”和“右”都是“先左后右”,或者说是“从左到右”
二叉搜索树,也称二叉排序树、有序二叉树(Ordered Binary Tree)、排序二叉树(Sorted Binary Tree),是指一棵空树或者具有下列性质的二叉 树:
- 左子树上所有结点的值均小于它的根结点的值;
- 右子树上所有结点的值均大于它的根结点的值;
- 以此类推:左、右子树也分别为二叉查找树。 (这就是 重复性!)
需要注意的是二叉搜索树是已经排好序的!所以它的获取、查询、插入和删除的时间复杂度才能为O(log(n))
另外跳表Skip List的最差空间复杂度为O(n log(n)),其余的结构的最差空间复杂度都为O(n)
最好用递归!!!!