1、把一棵二叉树转换为它的镜像树。
2、输入两棵二叉树A,B,判断B是不是A的子结构(我们约定空树不是任意一个树的子结构)。
3、将一棵有序二叉树转换成一个有序的双向链表。
4、计算出有序二叉树中倒数第K个大的数。
5、判断一个二叉树是否对称。
6、请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。
线索二叉树:
规律:在n个节点的链式二叉树中必定有n+1个空指针域
有序链式二叉树中有很多的空指针,可以让这些指针指向下一个、前一个节点,这样在遍历时可以不用递归而可以使用循环遍历,可以提高树的遍历速度
中序线索二叉树节点数据项:
数据
左子树指针
右子树指针
右子树指针标志位 (假表示指向真的右子树,真表示右子树指向下一个节点)
实现过程:
1、构建有序二叉树
2、创建线索
3、通过线索循环遍历二叉树
选择树:(胜者树、败者树)
是一种完全二叉树,待比较的数据都存储在最后一层,根节点是根据左右子树其中一个生成,因此根节点是最大或者最小的,选择树的功能是快速地找出最大值或最小值
堆:
是一种完全二叉树,不适合链式存储
大顶堆(大根堆):根节点比左右子树大
小顶堆(小根堆):根节点比左右子树小
数据项:
存储数据的内存首地址
容量
数量