双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现(2)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//树的前根遍历
Behind( CSNode t)
//树的后根遍历
levelTravel(CSNode root)
//层次遍历
精选ppt
10
模块设计(二叉树)
总体思路:通过递归来实现操作
精选ppt
11
模块设计(树)
执行步骤:
创建孩子兄弟树→ 实现树的前根遍历→ 树的后根遍历→ 实现层次遍历 → void类型直接输出
精选ppt
6、就地逆置
3
主要的成员方法:
//创建链表 public DoubleLinkedList() {}
//插入一个节点 public void add(AnyType x) {}
// 删除第i个元素
public AnyType remove(int idx) {} //就地逆置
int a = lengh + 2; int b = 0; for(lengh = lengh+1;lengh > 0;lengh--){
概念模型
精选ppt
14
模块设计
精选ppt
15
函数或类的具体定义和功能
DFSTraveห้องสมุดไป่ตู้se()
// 图的深度优先遍历
BFS()
// 对图进行广度优先遍历
CBNode dfsTraverseTree() // 图的深度优先生成树
PathJudgement() // 图的路径操作
精选ppt
16
此课件下载可自行编辑修改,供参考! 感谢您的支持,我们努力做得更好!
精选ppt
12
图的基本操作
1.完成图的深度优先遍历和广度优先遍历;
2.求图的深度优先或广度优先的生成树(或 生成森林)(存储结构为孩子-兄弟链表), 并对生成树进行遍历;
3.对于图(不是网),求顶点u到v的一条 简单路径;
精选ppt
13
总体思路
通过深度遍历、递归、Dijkstra、Floyd、 prim思想来操作。
数据结构课程设计 成果展示
姓名:姜吉磊 学号:20121113017 班级:网络121
精选ppt
1
所选题目:
1.双向循环链表 2.二叉树 3.树 4. 图的相关操作
精选ppt
2
双向循环链表实现的功能:
1、建立一个空表;
2、插入第i个节点;
3、删除第i个节点;
4、插入第一个节点;
5、插入最后一个节点;
精选ppt
9
主要的成员方法:
①二叉树
BTNode<AnyType> CreateBT(AnyType[] arr)
//先序创建二叉树
countNode()
//统计叶子节点个数
②树
CSNode CSNodeCreateBinaryTree(AnyType[] st) //孩子兄弟树的创建
FontOrder(CSNode t)
dl.add(b, dl.get(a-1)); b++; dl.remove(a); }
精选ppt
4
模块设计
精选ppt
5
模块划分
建表
精选ppt
6
插入数据
模块划分
精选ppt
7
删除元素
模块划分
精选ppt
8
二叉树&树实现的功能:
一.统计二叉树叶子结点的个数 二.孩子-兄弟表示法
①树的先根遍历 ②树的后根遍历 ③树的层次遍历;