二叉树的抽象数据类型
一. 理论分析
- 结点是二叉树的基础,通常主要用结点保存与应用有关的信息.
- 作为二叉树的表示,还需要记录二叉树的结构信息,至少需要保证能检查结点的父子关系,例如,能从一个结点找到其左/右子结点
下面 一个基本的二叉树抽象数据类型的定义:
ADT BinTree: # 一个二叉树抽象数据类型
BinTree(self, data, left, right) # 构造操作,创建一个新二叉树
is_empty(self) # 判断self是否为一个空二叉树
num_nodes(self) # 求二叉树的结点个数
data(self) # 获取二叉树根存储的数据
left(self) # 获取二叉树的左子树
right(self) # 获取二叉树的右子树
set_left(self, btree) # 用btree取代原来的左子树
set_right(self, btree)