数据库实验(五):二叉链表
来源:互联网 发布:河北网络干部学院下载 编辑:程序博客网 时间:2024/06/05 21:58
一、实验目的
1、熟练理解树和二叉树的相关概念,掌握的存储结构和相关操作实现;
2、掌握树的顺序结构的实现;
3、学会运用树的知识解决实际问题
二、实验内容
1、自己确定一个二叉树(树结点类型、数目和结构自定)利用链式存储结构方法存储。实现树的构造,并完成:
1)用前序遍历、中序遍历、后序遍历输出结点数据;
2)以合理的格式,输出各个结点和双亲、孩子结点信息;
3)输出所有的叶子结点信息;
三:实验例子
课本108页 图5-11
实验代码
#include <iostream>using namespace std;template <class Datatype>struct BiNode{ Datatype data; BiNode<Datatype> *lchild ,*rchild;};template <class Datatype>class Bitree{ public: Bitree( ){root=create(root);} ~Bitree( ){Release(root);} void Preorder( ){Preorder(root);} void Inorder( ) {Inorder(root);} void Postorder( ) {Postorder(root);} private: BiNode<Datatype> * root; BiNode<Datatype> *create(BiNode<Datatype> *bt); void Release (BiNode<Datatype> *bt); void Preorder(BiNode<Datatype> *bt); void Inorder (BiNode<Datatype> *bt); void Postorder(BiNode<Datatype> *bt);};template <class Datatype>void Bitree<Datatype>::Preorder(BiNode <Datatype> *bt){ if(bt==NULL) return; { cout<< bt->data; Preorder(bt->lchild); Preorder(bt->rchild); }}template <class Datatype>void Bitree<Datatype>::Inorder(BiNode<Datatype> *bt){ if(bt==NULL) return; { Inorder(bt->lchild); cout<<bt->data; Inorder(bt->rchild); }}template <class Datatype>void Bitree<Datatype>::Postorder(BiNode<Datatype> *bt){ if(bt==NULL) return; { Postorder(bt->lchild); Postorder(bt->rchild); cout<<bt->data; }}template <class Datatype>BiNode<Datatype> *Bitree<Datatype>::create(BiNode<Datatype> *bt){ Datatype ch; cin>> ch; if(ch=='#') bt=NULL; else{ bt=new BiNode<Datatype> ; bt->data=ch; bt->lchild=create(bt->lchild); bt->rchild=create(bt->rchild); } return bt;}template<class Datatype>void Bitree<Datatype>::Release(BiNode<Datatype> *bt){ if(bt!=NULL) { Release(bt->lchild); Release(bt->rchild); delete bt; }}int main(){ cout<<" 新建的二叉树为: "<<endl; Bitree <char> a; cout<<"前序遍历为:"<<endl; a.Preorder(); cout<<endl; cout<<"中序遍历为:"<<endl; a.Inorder(); cout<<endl; cout<<"后序遍历为:"<<endl; a.Postorder(); cout<<endl;}
阅读全文
0 0
- 数据库实验(五):二叉链表
- 数据库实验(五):二叉树的顺序存储
- 实验五 二叉树
- 数据库概论(实验五)数据库完整性
- 【数据结构实验五】二叉树
- 实验五 数据库完整性
- 实验五: 树和二叉树实验
- 实验五: 树和二叉树实验
- 实验五:树和二叉树实验
- 实验五: 树和二叉树实验
- 实验五: 树和二叉树实验
- 实验五:树和二叉树实验
- 实验五: 树和二叉树实验
- 《数据结构》实验五:树和二叉树 实验(实验报告)
- 实验五 Oracle 数据库对象
- 数据结构实验之二叉树五:层序遍历(二叉树+队列)
- 实验五:二叉树的基本操作
- 实验五 二叉树的实现
- KNN
- 关于django项目的DATABASES setting
- 基于复杂问题求解策略设计的排序算法
- Openstack中使用iso安装系统并启动vm
- 百度地图API1
- 数据库实验(五):二叉链表
- MAC系统下基于Python3版本安装Scrapy
- java Eclipse
- Tensorflow的应用(四)
- 第十三周总结:数组学习及编程练习
- Java源码阅读之String(2)
- 键盘按键错乱解决方案
- Hibernate入门学习(6)----hbm配置文档
- Linux内核移植(1)