二叉查找树的基类实现(总)
2011-10-01 16:59
176 查看
现在有这几个文件:
objectclass.h 定义一种数据基类型,以便查找树节点使用
当后面要用到数据类型是就继承它
IntClass.h 定义整数数据类型,从ObjetClass类继承而来
StringClass.h 定义字符串数据类型,从ObjetClass类继承而来
BinaryTreeNode.h 定义树的节点
具有关键字(key),值(value),父节点指针,儿子节点指针
BSTree.h 定义二叉搜索树
具有搜索 (get) ,插入(insert),删除(remove),遍历输出(output)功能.
其他部分具体的实现是容易的,只有删除操作稍微麻烦一点,在使用模板类的实现时讨论。
与模板类实现相比缺点是不是很方便,因为它节点内部的数据类型是自己定义类结构
必须从ObjectClass类继承而来,这就不能直接使用C++库中已经存在的数据类型。
就像例子中的使用整数数据类型都要自己定义一下,很不方便。
优点是它可以使用多态,后面的AVL树和红黑树将继承它。
后续将一步一步实现这个数据结构。
为了便于打印出树的结构,对代码做一些修改,并且加入一个新的类Queue(见附加部分)。
objectclass.h 定义一种数据基类型,以便查找树节点使用
当后面要用到数据类型是就继承它
IntClass.h 定义整数数据类型,从ObjetClass类继承而来
StringClass.h 定义字符串数据类型,从ObjetClass类继承而来
BinaryTreeNode.h 定义树的节点
具有关键字(key),值(value),父节点指针,儿子节点指针
BSTree.h 定义二叉搜索树
具有搜索 (get) ,插入(insert),删除(remove),遍历输出(output)功能.
其他部分具体的实现是容易的,只有删除操作稍微麻烦一点,在使用模板类的实现时讨论。
与模板类实现相比缺点是不是很方便,因为它节点内部的数据类型是自己定义类结构
必须从ObjectClass类继承而来,这就不能直接使用C++库中已经存在的数据类型。
就像例子中的使用整数数据类型都要自己定义一下,很不方便。
优点是它可以使用多态,后面的AVL树和红黑树将继承它。
后续将一步一步实现这个数据结构。
为了便于打印出树的结构,对代码做一些修改,并且加入一个新的类Queue(见附加部分)。
相关文章推荐
- 二叉查找树的基类实现(三)
- 二叉查找树的基类实现(四)
- 二叉查找树的基类实现(五)
- 二叉查找树的基类实现(终)
- 二叉查找树的基类实现(上)
- 二叉查找树的基类实现(中)
- 二叉查找树的基类实现(下)
- 二叉查找树的基类实现(一)
- 二叉查找树的基类实现(二)
- Android中基类BaseActivity的设计与实现
- 二叉查找树及其C语言实现
- Java实现二叉查找树
- 线程基类的实现(一)
- 统计输入中所有单词出现的次数(使用二叉查找树实现:递归和非递归)
- 二叉查找树实现(C语言版本)
- 数组实现二叉查找树
- javascript组件开发之基类继承实现
- Python 3.X 实现定时器 Timer,制作抽象的Timer定时器基类
- 二叉查找树的C实现
- C++二叉查找树实现过程详解