实现二叉搜索树
动手练习
实现二叉搜索树
选择C、C++、Java或Python,实现一棵不存储重复元素的二叉搜索树。
- 维护根结点和元素数量,实现判空、获取数量、计算高度与清空操作。
- 实现查找和插入;重复插入同一个元素时,树形和元素数量都不改变。
- 实现删除,处理叶子、只有一个孩子、拥有两个孩子以及删除根结点的情况;删除不存在的元素时数量不变。
- 实现前序、中序、后序和层次遍历。
- 依次插入8、3、10、1、6、14、4、7、13,检查中序结果为[1,3,4,6,7,8,10,13,14];再重复插入6,删除不存在的99,依次删除1、14、8,检查结果为[3,4,6,7,10,13]。
- C与C++分别使用头文件声明接口、实现文件定义方法;C中释放已删除的结点及清空时的所有结点。