二叉树程序设计主要考察以下几个方面:
二叉树的基本概念和特性
包括二叉树的定义、结点的度、叶子结点、度为2的结点等概念。
特殊二叉树的定义和特性
如平衡二叉树、哈弗曼树、满二叉树、排序树等,需要了解它们的定义和特性。
二叉树的遍历
包括前序遍历、中序遍历、后序遍历和层次遍历,以及递归和非递归实现。
二叉树的构建
如何根据给定的序列构建二叉树,通常利用前序遍历并结合非法值的方式进行构建。
二叉树的性质
例如,二叉树叶子结点数等于度为2的结点数加1。
二叉树的运算
如求二叉树的最远两个结点的距离、求二叉树的最小深度、判断二叉树是否是完全二叉树、判断是否是二叉查找树等。
二叉树的递归和迭代
包括递归遍历和迭代遍历(如层次遍历),需要理解递归调用的顺序和栈的使用。
二叉树的应用
如将二叉查找树转化为排序的循环双链表,有序链表转化为平衡的二叉查找树等。
建议重点掌握二叉树的基本概念、遍历方法、构建方式以及常见性质,同时加强递归和迭代的实践。