文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
6.3 树的抽象数据类型
相对于线性结构,树的操作就完全不同了,这里我们给出一些基本和常用操作。
ADT 树(tree) Data 树是由一个根结点和若干棵子树构成。树中结点具有相同数据类型及层次关系。 Operation InitTree(*T): 构造空树T。 DestroyTree(*T): 销毁树T。 CreateTree(*T, definition): 按definition中给出树的定义来构造树。 ClearTree(*T): 若树T存在,则将树T清为空树。 TreeEmpty(T): 若T为空树,返回true,否则返回false。 TreeDepth(T): 返回T的深度。 Root(T): 返回T的根结点。 Value(T, cur_e): cur_e是树T中一个结点,返回此结点的值。 Assign(T, cur_e, value): 给树T的结点cur_e赋值为value。 Parent(T, cur_e): 若cur_e是树T的非根结点,则返回它的双亲,否则返回空。 LeftChild(T, cur_e): 若cur_e是树T的非叶结点,则返回它的最左孩子,否则返回空。 RightSibling(T, cur_e): 若cur_e有右兄弟,则返回它的右兄弟,否则返回空。 InsertChild(*T, *p, i, c): 其中p指向树T的某个结点,i为所指结点p的度加上1, 非空树c与T不相交,操作结果为插入c为树T中p指结点的第i棵子树。 DeleteChild(*T, *p, i): 其中p指向树T的某个结点,i为所指结点p的度, 操作结果为删除T中p所指结点的第i棵子树。 endADT
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论