You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
6 years ago | |
|---|---|---|
| .. | ||
| BiTreeTest.cpp | 6 years ago | |
| Bitree.h | 6 years ago | |
| LinkedStack.h | 6 years ago | |
| Queue.h | 6 years ago | |
| SeqQueue.h | 6 years ago | |
| SeqStack.h | 6 years ago | |
| Stack.h | 6 years ago | |
| data.txt | 6 years ago | |
| hw8-9-10.sln | 6 years ago | |
| hw8-9-10.vcxproj | 6 years ago | |
| output.txt | 6 years ago | |
| readme.txt | 6 years ago | |
readme.txt
开始: 1、解压hw8-9-10文件夹到你的电脑中。在hw8-9-10文件夹中, BiTree.h头文件实现基于二叉链表数据结构实现二叉树类,包括二叉树的深度优先和广度优先遍历、遍历的应用。 Stack.h、SeqStak.h、LinkedStack.h、Queue、SeqQueue.h分别实现了顺序栈、单链栈、顺序循环队列数据结构。 BiTreeTest.cpp测试BiTree类的构造、输出、遍历、求二叉树的深度、结点个数、判断两个二叉树是否相等、判断二叉树是否是平衡二叉树和撤销二叉树、凹入表形式输出二叉树等。data.txt是测试输入数据文件。 2、建立一个空项目,添加Stack.h、SeqStak.h、LinkedStack.h、Queue.h、SeqQueue.h、BiTree.h头文件和BiTreeTest.cpp。运行测试文件BiTreeTest.cpp。 3、你的任务: 数据结构 作业8 目标:本次作业练习用二叉链表实现二叉树。 3.1 任务1 在BiTree.h文件中,编写Insert(BinTreeNode<T> *& curr, const T& x, int d)函数,在二叉树的curr结点左/右插入新子女结点x,原来的子女节点作为新结点的子女结点。d=0,左插入;d不等于0,右插入。插入成功返回新子女结点的地址。 数据结构 作业9 目标:本次作业练习二叉树的递归遍历。 3.2 任务2 在BiTree.h文件中,编写Find(BinTreeNode<T> * subtree, const T& x)递归函数,在二叉树subtree中查找x,查找成功,返回结点地址,否则返回0。 3.3 任务3 在BiTree.h文件中,编写IsBalanced()递归函数,判断二叉树是否为平衡二叉树。如果每个结点的左子树和右子树的高度差的绝对值都小于2,则二叉树是平衡的。subTree二叉树如果是平衡的则返回true,否则返回false。 数据结构 作业10 目标:本次作业练习二叉树的非递归遍历。 3.4 任务4 在BiTree.h文件中,编写NonR_Height()函数,使用非递归算法实现求二叉树的高度。