C语言与程序设计ppt-第15章非线性数据结构.ppt

C语言与程序设计ppt-第15章非线性数据结构.ppt

  1. 1、本文档共156页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

C语言与程序设计

TheCProgrammingLanguage;*第15章非线性数据结构;15.1树与二叉树;表达式6-4+5*4的二叉树表示;树的相关术语;15.1.2二叉树的创建与操作;例15.1编程创建一棵二叉树,并对其进行遍历和查找操作。;(2)对二叉树的操作;(3)建立二叉树;tree函数采用的算法思路;创建二叉树;(4)二叉树的遍历;先序、中序遍历二叉树;后序遍历二叉树;(5)树内结点的查找;(5)树内结点的查找;(6)二叉树操作的使用;(6)二叉树操作的使用;运行结果;运行结果分析;15.1.3二叉搜索树;1.创建二叉搜索树;1.创建二叉搜索树;(2)二叉搜索树的查找;BST查找算法实现;查找数据域之值为x结点的双亲结点;(3)二叉搜索树中删除结点;(3)二叉搜索树中删除结点;(3)二叉搜索树中删除结点;(3)二叉搜索树中删除结点;(3)二叉搜索树中删除结点;15.1.4二叉树的应用;例15.2统计输入正文中各种标识符出现的次数。;例15.2-包含的头文件和常量;例15.2-函数原型的声明;main函数(演示:源程序\ex15_2.c);Add|node函数;print_tree函数;get_word函数;strdup函数;getch函数;ungetch函数;运行结果;运行结果对应的二叉树;15.2查找表与哈希(散列)函数;查找表的概念;哈希(Hash)函数或散列函数;**15.2.2实现简单宏替换的查找表;程序分析;install函数分析;lookup函数分析;宏定义及数据结构;函数原型声明;宏名字符指针数组和替换文本字符指针数组;main函数;哈希函数和查找函数;创建哈希表函数install;读一个单词函数getword;程序运行结果分析;15.3图

15.3.1图的概念;格尼斯堡7桥问题;图的描述;无向图、有向图、网络图;关于图的术语;关于图的术语;15.3.2图的存储结构与邻接表;2.邻接表;邻接表的数据结构示意图;例15.4编写构造图15.7无向图的邻接表的程序(即编程实现图15.8的邻接表),并且输出创建的邻接表。演示:源程序\ex15_4.c;创建邻接表;显示输出邻接表;15.3.3图的深度优先遍历与广度优先遍历;2.图遍历的深度优先搜索;深度优先搜索执行过程;深度优先遍历图15.9结点顺序;3.图遍历的广度优先搜索;3.图遍历的广度优先搜索;4.图遍历的深度优先搜索和广度优先搜索;例15.5编程创建图15.9给出的有6个顶点9条边的??向图,并且对其进行深度优先遍历和广度优先遍历。;(2)图的深度优先遍历;(3)图的广度优先遍历;(3)图的广度优先遍历;(4)关于SeqQueue队列数据结构;(5)main函数的主控作用;宏定义及数据结构;函数原型声明;创建邻接矩阵函数;输出邻接矩阵函数;Initqueue和empty函数;入队和出队函数;深度优先遍历函数;广度优先遍历函数;main函数;程序的运行结果;15.3.4图的路径搜索;例15.6对于图15.9,修改例15.5的程序,使得当输入起点和终点后,程序能够搜索并输出从起点到终点全部路径。例如,当输入起点0到终点5后,程序新增部分的输出为:

从v0到v5的路径:

第0条路径:-0-3-4-2-5

第1条路径:-0-3-4-1-2-5

第2条路径:-0-3-2-5

第3条路径:-0-1-4-3-2-5

第4条路径:-0-1-4-2-5

第5条路径:-0-1-2-5;程序设计分析;在例15.6的程序中增加相应数据结构和函数原型声明;push、pop和show_path函数;深度优先路径搜索函数;搜索全部路径的算法思想;搜索全部路径的算法思想;回溯过程分析;**15.4图的应用;15.4.1生成树与最小生成树;2.最小生成树;最小生成树的用途;15.4.2基于Kruskal算法求解最小生成树;Kruskal算法的伪码描述;关于并查集;关于MST问题中的并查集;例15.7某山区有如图15.11所示的A、B、…、H、I共9个村庄,在村村通工程中要求修建乡村公路连接这些村庄,村与村之间的公路造价如图中边的权重所示,单位为万元。边的权值表示修建该段公路所需造价。请设计能够连接这9个村庄且投资规模最少公路铺设方案。;分析与说明;数据结构与函数原型;main函数及并查集查找函数;Kruskal算法实现;间接排序函数;程序运行结果;程序运行结果分析;去掉注释后程序重新编译运行;15.4.3基于Prim算法求解最小生成树;例15.8用Prim算法重做例15.7。;算法步骤分析;程序分

您可能关注的文档

文档评论(0)

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

好文档 大家想

1亿VIP精品文档

相关文档