六。二叉树
1.二叉树的一些概念:深度,高度。。。
2.熟记基础代码
二叉树遍历,二叉堆(上浮,下沉,构建堆),优先级队列
后续非递归遍历比较特殊,
优先级队列的实现要会
3.二叉树
(1)满二叉树
这棵二叉树为满二叉树,也可以说深度为k,有2^k-1个节点的二叉树
(2)完全二叉树
(3)二叉查找树:二叉查找树的数值是有关系的,二叉搜索树是一个有序树。
(4)平衡二叉搜索树:又被称为AVL(Adelson-Velsky and Landis)树,
4.递归,二叉树的基本概念得看看
5.Math类的函数得了解了解
6.一个数据结构包括:数据项,操作
7.Integer.MAX_VALUE是21亿多
8.Collections.sort和Arrays.sort()的区别:
Arrays.sort()排数组(基本类型,引用类型)
Collections.sort()只能排List
两个都可以传入比较器定制排序
9.Collections的常用方法
sort(),binarySearch(),reverse()
10.递归中,共享变量一般放在参数里面
11.********递归的时候,可以将共享变量放在所有方法外面
12.Collection都有Object[] toArray()方法
13.一看到有topk,top10这种,就要想到堆
二.
1.二叉树的层序遍历题目中的实现和我记的不太一样
2.二叉树的遍历:DFS(深度优先搜索),BFS(广度优先搜索)。总共8种
3.第一次没有通过的题:
N429
N101:对称二叉树。这个题递归还是挺难的
N222
N275 String.join()方法,所有路径。用到了回溯
N404
N112 做了很长时间才做出来
N19***
N20
N98 这道题还是比较巧妙的
N530
N501
4.二叉搜索树一定要想到中序遍历是有序的
(1)traversal 遍历 recursion递归