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.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
开始:
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()函数,使用非递归算法实现求二叉树的高度。