数据结构07二叉排序树的基本操作.doc.docVIP

  • 16
  • 0
  • 约5.79千字
  • 约 9页
  • 2018-10-15 发布于湖北
  • 举报

数据结构07二叉排序树的基本操作.doc.doc

数据结构07二叉排序树的基本操作.doc

《数据结构》实验报告 院系____________________ 专业 ____________________ 姓名__林桢曦__________ 学号__106052010235__________ 电话____________ __________级 __________班 _______年____月____日 实验题目 二叉排序树的基本操作 二叉树和Huffman树 需求分析 (1)编写二叉排序树的基本操作函数,调用上述函数实现初始化,插入元素,查找元素,删除元素等操作。 (2)编写二叉树的基本操作函数,用递归方法分别实现先序,中序和后序遍历二叉树。 3.概要设计 7.1ADT tree { 数据对象:D={ai|ai∈IntegerSet,i=0,1,2,…,n,n≥0} 结构关系:R={ai,ai+1|ai,ai+1 ∈D} 基本操作: SearchNode(TREE *tree, int key,TREE **pkpt,TREE **kpt) 操作前提:tree是一个已初始化的二叉树 操作结果:查找树根结点,键值赋给key,并返回key结点的父节点指针和key结点的指针 InsertNode(TREE **tree,int key) 操作前提:tree是一个已初始化的二叉树 操作结果:将key值插入tree中 DeleteNode(TREE **tree,int key) 操作前提:二叉树tree已存在 操作结果:将二叉树中的元素值为key的元素删除 OutputTree(TREE *tree) 操作前提:二叉树tree已存在 操作结果:将二叉树中的元素值输出 } 本程序包含7个函数: 主函数main() 进栈函数pop() 出栈函数push() 查找函数SearchNode() 插入函数InsertNode() 删除函数 DeleteNode() 显示函数 OutputTree() 各函数间调用关系如下: 主函数调用其他函数 main main InsLinkList DelLinkList LocLinkLis 主函数的伪码 main() { 定义各个变量; 输入结点个数; For循环输入元素值; 输出元素值; 输入删除的元素值; 显示元素值; } 7.2 ADT tree { 数据对象:D={ai|ai∈IntegerSet,i=0,1,2,…,n,n≥0} 结构关系:R={ai,ai+1|ai,ai+1 ∈D} 基本操作: CreateBiTree(BiTree T) 操作前提:T是一个已初始化的二叉树 操作结果:创建一颗二叉树 re_PreOrder(BiTree tree) 操作前提:tree是一个已初始化的二叉树 操作结果:先序遍历,递归方法 re_MidOrder(BiTree tree) 操作前提:二叉树tree已存在 操作结果:中序遍历,递归方法 re_PostOrder(BiTree tree) 操作前提:二叉树tree已存在 操作结果:后序遍历,递归方法 } 本程序包含5个函数: 主函数main() 创建二叉树函数CreateBiTree() 先序函数re_PreOrder() 中序函数 re_MidOrder() 后序函数re_PostOrder() 各函数间调用关系如下: 主函数调用其他函数 主函数的伪码 main() { 定义变量BiTree T; 调用CreateBiTree函数; 调用 re_PreOrder函数; 调用 re_MidOrder函数; 调用re_PostOrder函数; } 4.详细设计 7.1类型定义 typedef struct tree { int data; struct tree *lchild; struct tree *rchild; }TREE; typedef struct stack { TREE *t; int flag; struct stack *link; }STACK; 7.2类型定义 typedef struct BiTNo

文档评论(0)

1亿VIP精品文档

相关文档