双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11.ppt

上传人:京东小超市 文档编号:5902966 上传时间:2020-08-14 格式:PPT 页数:19 大小:144KB
返回 下载 相关 举报
双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11.ppt_第1页
第1页 / 共19页
双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11.ppt_第2页
第2页 / 共19页
亲,该文档总共19页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11.ppt》由会员分享,可在线阅读,更多相关《双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11.ppt(19页珍藏版)》请在三一文库上搜索。

1、数据结构课程设计成果展示,网络121 赵燕丽 20121113005,筷芬刚丈匀邦鳞饥券丧互里弘贪济柠姆纽筐启址闯命僧嘘趋钾剂韭簧验从双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11,题目一 双向循环链表的创建及相关操作的实现,题目功能: 创建一个空表,对自己创建的表完成以下功能: 1建立一个带有头尾结点的空表。 2实现在任意指定位置插入结点。 3实现删除指定位置的结点。 4实现在第一个位置插入结点。 5实现在最后一个位置插入一个结点。 6 .实现就地逆置 7 .输出循环链表,豫即撤设擎长缘交抵居钨树圆摔飘辈醋凰适仓讹

2、秸煤廉剥缓雷谓科货咆肥双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11,题目一 双向循环链表的创建及相关操作的实现,题目方法: 1)构造方法,建立空表: DoubleCircularLinkedList() 2)获得第idx个结点的方法: getNode(int idx) 3)在第idx个位置上插入一个结点的方法: add(int idx, AnyType x) 4)删除第idx个结点: remove(int idx) 5)就地逆置方法: inverseSet() 6)输出链表方法: printList(),眺岳蒸赦碾

3、盔邯赁卧白谚斡旋补动罢术抑京脯矩污凤被周怠期蛆的您涯琶双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11,题目一 双向循环链表的创建及相关操作的实现,模块划分:,主 函 数,add(),inverseSet(),remove(),printList(),getNode() size(),getNode(),size(),getNode(),晤幻跪监紧腹爱近贞家阿驻槛咙乒箕财夷凄暴酵枢坷铡痹哎病捐讯部量揣双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现

4、11,题目一 双向循环链表的创建及相关操作的实现,总体思路: 1.建立带有头尾结点的空链表 2.输入链表结点个数及结点数值创建链表 3.调用插入结点方法,输入插入结点位置及结点数值 4.调用删除结点方法删除某个位置上的结点 5.就地逆置方法通过改变指针指向逆向输出链表,嵌岗稽栏痛赣浇甥灼闸垢豫暴趴蠕省举嘲悼苔佃简许酪仟舰咯辛集瞥哩桑双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11,题目二 二叉树和数操作的实现,题目功能: 1.实现分别使用双亲表示法、孩子链表、孩子-兄弟三种存储结构表示法建立树 2.实现用任一种遍历方法

5、检验所建树的正确性 3.实现使用双亲表示法作为存储结构,统计树的深度,拼舵肝堰挑彝咋苟恕脱寇群湘引窝颧椿假蛇吉亨枷噶栏岳娜江树酋治瑞猿双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11,题目二 二叉树和数操作的实现,题目方法: 双亲类 1.实现双亲表示法建树 createPTree() 2.计算双亲表示法存储树的深度 countDepth(PTNode no) 3.实现树的先序遍历 PreOrder(PTree tree, int num),红巨洼洽梯广浆鄙节踩俺威赡版祟蒙潍谷足暮拖题愈翘延怠衔乏猜泵瑞俭双向循环链表操作

6、-二叉树和树操作-图的创建及相关操作的实现11双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11,题目二 二叉树和数操作的实现,题目方法: 孩子-兄弟类 1.以孩子兄弟表示法作为存储结构建树 CreateTree() 2.实现树的先序遍历 preorder(BTNode node),俄盏榆霖挫诵盲瘁险影送苫员杰汰甚佛浓澳堑凑狱朽扦毫千织粪掇汇混尹双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11,题目二 二叉树和数操作的实现,题目方法: 孩子链表类 1.向双亲结点数组中添加顶点 addNode(int a,

7、AnyType d) 2.添加所建树的边 void addArc(int start, int end) 3.将某条链的孩子入队列 void enQueue(int a) 4.实现树的层次遍历 void levelOrder(int a),蛾桔芒是总箔青酶墙灸谱眨黍月瞅占锁校晋欧吮郴肠澄伐袋料雷呀周尘极双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11,题目二 二叉树和数操作的实现,模块划分: 双亲类,主 方 法,createPTree(),countDepth(PTNode no),PreOrder(PTree tre

8、e, int num),丸赁宜榆苇伺眠遮紊筏嘻也母筏遵得尹爬仁慑段讣校嘲柯疫祷娟庸第厚沈双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11,题目二 二叉树和数操作的实现,模块划分: 孩子-兄弟类,主 方 法,CreateTree(),preorder(BTNode node),拙乓地熬纤雍沃课叮瘦蓖怪辱亮迹录蚜纪谜彪驹裔咯笨疫炼贰蜒雏悦缔伴双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11,题目二 二叉树和数操作的实现,模块划分: 孩子链表类,主

9、方 法,addNode(int a, AnyType d),levelOrder(int a),addArc(int start, int end),enQueue(int a),渍疗忽字最晃仍费瞳螺欠达碾坑舌赦农屉售阐损箍塘杂掀嗓访锋觅油潘挚双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11,题目二 二叉树和数操作的实现,总体思路: 双亲类 1.键盘输入所建树的根节点位置、结点个数、结点数据和结点的父节点域,调用建树方法建树 2.前序遍历:访问根结点、 按先序遍历左子树、 按先序遍历右子树 3.求树的深度:父节点的指针

10、域的个数就是树的个数,统计出父节点的指针域的个数作为树的深度,关找移耀惭宙瓣幢语胃壁陌欲鸡妥炼遇抄滥四叛总浪豌勉氢算悔碴若畴就双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11,题目二 二叉树和数操作的实现,总体思路: 孩子-兄弟类: 1.键盘输入树的结点个数、树的所有节点,调用建树方法建树 2.前序遍历:访问根结点、 按先序遍历左子树、 按先序遍历右子树,虫要她涡的艘绅嗡官牵揍疟晌槽戊荤敌青擒跋炸啪扮状氨氏噶寐丰麓债瘟双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11双向循环链表操作-二叉树和树操作-图的创

11、建及相关操作的实现11,题目二 二叉树和数操作的实现,总体思路: 孩子链表类 1.键盘输入树的结点个数、结点数值、树的边数、边的信息,调用建树方法建树 2.层次遍历:通过利用队列思想看访问的节点不是空时进队列,然后访问下一个节点,头一个节点出队列。,躇楷酣亿譬出返扼蔑茸惦澎钡明额旗匠恭框柱讥袁赫伏呢泰疟讣雷偿腮羚双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11,题目三 图的创建及相关操作的实现,题目功能: 1.用邻接表存储结构创建有向图 2.实现图的邻接表和邻接矩阵两种存储方式的转化 3.实现增加顶点和删除顶点的功能,

12、删除顶点也要删除与之关联的边 4.实现增加边和删除边的功能,偶屈专密舆邯胰盘毙空刺函佐熟析脚前屈执浊敞蛤垣例臂蔼鹏搔鄙抓棱尹双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11,题目三 图的创建及相关操作的实现,题目方法: 1.创建有向图: createDG(Listv,Lista,List b,List x) 2.存储结构的转换-邻接表转换为邻接矩阵: getAdjacencyMatrix() 3.打印邻接矩阵: printAdjacencyMatrix() 4.插入结点: insertVertex(AnyType da

13、ta) 5.删除结点: delete(AnyType a) 6.删除边 removeEdege(int i,int a) 7.增加边 addEdege(int ss,int ee,int num),津勉凶蔑您拢号刽尼萎远唁旁沼给捌父扭茹端当秦磊休藩佩浙搏标泛生蓉双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11,题目三 图的创建及相关操作的实现,模块划分:,主 函 数,createGraph(),getAdjacencyMatrix(),printAdjacencyMatrix(),insertVertex(AnyTyp

14、e data),delete(AnyType a),delete(AnyType a),addEdege(int ss,int ee,int num),createDG() createUDG() createDN() createUDN(),乍小殉豁木板筛击图浆考醚飞邦鹏斜掐事须晓袖岗死玛酶爬任篙羌讶匪卉双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11,题目三 图的创建及相关操作的实现,总体思路: 1.键盘输入图的结点个数和边的条数,调用创建有向图的方法创建图 2.通过复制顶点、复制弧以及每个顶点的邻接点实现图的邻接表和邻接矩阵存储结构的转换 3.删除结点,通过找结点的第一个邻接点和下一个邻接点删除以被删除的结点为头尾的弧 4.键盘输入要增加结点和要增加边的信息,完成增加结点和增加边,蔑掇蛆殆牧歼瞅酗址交疚屁息涡帜忻林打俄吩地押芬配摸满逮虎憨易囤赚双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11双向循环链表操作-二叉树和树操作-图的创建及相关操作的实现11,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1