六。二叉树

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递归

原文地址:https://www.cnblogs.com/midiyu/p/15416750.html