数据结构课程 设计.ppt

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计 -----成果展示 网络122 -张艳升 目录 一 . 双向循环链表 二 . 二叉树 三.有向图 双向循环链表 功能 : 1. 实现双向循环链表空表创建 2. 实现双向循环链表添加节点 3. 实现双向循环链表删除节点 4 实现双向循环链表就地逆置 5 打印出双向循环链表 双向循环链表 方法 : 1.构造方法建立空表:DoubleCircularLinked() 2.插入节点的方法:insert(AnyType x) 3.在某个位置插入节点的方法:insert(int idx,AnyType x) 4.删除某个位置的节点方法:remove(int idx) 5.就地逆置的方法:transfer() 6打印链表的方法:print() 双向循环链表 思路: 1.建立头节点headNode和尾节点endNode的双向循环链表 2.从键盘上直接输入节点数和节点值添加到链表 3.执行插入方法可以实现某个位上的插入 4.通过删除方法删除某个位置上的节点 5.就地逆置通过改变指针指向逆向输出 二叉树 功能: 1.实现二叉树的创建 2.实现二叉树的层次遍历 3.计算出二叉树的叶子节点数 4.通过建立一个哈夫曼树,实现哈夫曼算法 二叉树 方法: 1.创建二叉树的方法:createTree() 2.层次遍历的方法:leavelOrder() 3.计算叶子节点的方法:countLeafNode() 4.创建哈夫曼树的方法:compareNum() 5.计算码长的方法:print() 二叉树 思路: 1.通过从键盘上读取利用先序遍历结果创建一颗二叉树 2.层次遍历:通过利用队列思想看访问的节点不是空时进队列,然后访问下一个节点,头一个节点出队列。 3.通过判断访问节点左右孩子为空来计算叶子节点 4.通过输入一数组找出该数组中最小的两个,然后相加得到的数为这两个最小数的根节点依次类推,哈弗曼编码是向右拐加1向左拐加0 有向图 功能: 1.创建一个有向图 2.实现有向图的深度优先遍历 3.实现有向图的广度优先遍历 4.实现实现有向图的增加边的功能 5.实现有向图的删除边的功能 6.实现有向图的连通性判断及求连通分量 有向图 方法: 1.有向图的构造方法实现图的创建:adjDWGraph() 2.深度优先遍历的方法:DFSTransfer() 3.广度优先遍历的方法:BFSTransfer() 4.增加变得方法:addArc() 5.删除边的方法:deleteArc() 6.判断图的连通性及求连通分量:isConnect() 有向图 思路: 1.通过从键盘上输入来创建有向图 2.通过节点是否被访问过来进行深度优先遍历和广度优先遍历,广度优先遍历通过队列的思想访问过的进队列,访问下一个是头一个出来来进行每一个节点的遍历 3.通过深度优先遍历来进行图的连通性的判断如果该图是联通的连通分量为其本身,否则输出该图不是连通的并计算出连通分量 致谢! * * *

文档评论(0)

aena45 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档