【软考】9.4 图的概念/存储/遍历/最小生成树/拓扑/查找

《图》

在这里插入图片描述

  • 图的存储(顶点和边)
  • 邻接矩阵:适合边数较多的图,不易造成浪费
  • 无向图:不分方向;对称矩阵
    在这里插入图片描述
  • 邻接链表:顶点,边——>(编号,权值);无值为空“∧”
    在这里插入图片描述
  • 邻接链表顶点的表结点 ——> 出度
  • A[ i ] [ j ] 等于1或0 ——> i 和 j 之间存在弧
  • e 条弧,有向图则有 e 个非零元素(i ——> j),无向图则有 2e 个(i ——> j;j ——> i)
    在这里插入图片描述
  • 图的遍历
  • 图的遍历序列不唯一,树的遍历序列唯一
  • 深度优先遍历:某一顶点出发,遍历到底(下层),再返回
  • 广度优先遍历:某一顶点出发,访问所有邻接顶点(同层),遍历到底——>层次遍历
    在这里插入图片描述
  • 图的最小生成树
  • n个节点,图的最小生成树有 n -1 条边,不能形成环——>形成树,边的权值之和最小
  • 普里姆算法:
  • 从顶点出发,依次寻找权值最小的邻接边
  • 时间复杂度为O(n^2)
  • 与图的边数无关;适用于边稠密的最小生成树
  • A(1,5,6)——> AC(4,5,6)——> ACF(2,5,6)——> ACFD()——> ACFD B(3,6)——> ACFDB E()
    在这里插入图片描述
  • 克里斯卡尔算法:
  • 从边出发,依次寻找权值最小的邻接边
  • 时间复杂度为O(eloge)
  • 与图的顶点数无关;适用于边稀疏的网的最小生成树
  • AC(1)——> DF(2)——> BE(3)——> CF(4)——> BC(5)
    在这里插入图片描述

在这里插入图片描述

  • 拓扑序列
  • 找到在图里面按照顺序执行的序列,不依赖于其他事务;类似进程的前趋图原理
  • 删除入度为0的节点及与其相关的有向边
  • 序列不唯一
    在这里插入图片描述
    在这里插入图片描述

《顺序查找》

  • 从头到尾查找,符合返回,否则失败
    在这里插入图片描述

《折半查找》

  • 只适用于待查找序列中的元素是有序排序的情况
  • 每次查找取中间值,舍弃上次中间值序列
  • 中间值为小数时,要向下取整
    在这里插入图片描述

《哈希表》

  • Hash(key)= key mod 表长
  • 一个地址只能存储一个记录
    在这里插入图片描述
  • 哈希函数产生冲突解决方法
  • 多个关键字执行同一个哈希函数时,产生相同的地址/结果,则产生了冲突
  • 线性探测法:执行后取得的地址依次+1,直到可存储到尚未存储关键字的哈希地址中;
    在这里插入图片描述
  • 只有 [ 0,10 ],没有11,则形成了一个环,则 65 的哈希地址 10 + 1 ——> 0
    在这里插入图片描述
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1章 绪论 1.1 数据结构的基本概念和术语 1.1.1 引言 1.1.2 数据结构有关概念及术语 1.1.3 数据结构和抽象数据类型(ADT) 1.2 算法描述与分析 1.2.1 什么是算法 1.2.2 算法描述工具——C语言 1.2.3 算法分析技术初步 习题一 第2章 线性表 2.1 线性表的定义及其运算 2.1.1 线性表的定义 2.1.2 各种运算简介 2.2 线性表的顺序存储结构(向量) 2.2.1 顺序存储结构(向量) 2.2.2 向量中基本运算的实现 2.3 线性表的链表存储结构 2.3.1 单链表与指针 2.3.2 单链表的基本运算 2.4 循环链表和双向链表 2.4.1 循环链表 2.4.2 双向链表 2.4.3 顺序存储结构与链表存储结构的综合分析与比较 2.5 多项式相加问题 2.5.1 多项式相加的链表存储结构 2.5.2 多项式相加的算法实现 2.6 线性表的算法实现举例 2.6.1 实现线性表顺序存储结构及运算的C语言源程序 2.6.2 单链表处理的C语言源程序 习题二 第3章 栈和队列 3.1 栈 3.1.1 栈的定义及其运算 3.1.2 栈的顺序存储结构(向量) 3.1.3 栈的链表存储结构 3.1.4 栈的应用 3.2 队列 3.2.1 队列的定义及运算 3.2.2 队列的顺序存储结构(向量) 3.2.3 队列的链表存储结构 3.3 栈和队列的算法实现举例 习题三 第4章 串 4.1 串的基本概念 4.2 串的存储结构 4.2.1 串的顺序存储 4.2.2 串的链表存储 4.2.3 串变量的存储映象 4.3 串的运算 4.3.1 串的运算简介 4.3.2 串的匹配运算 4.4 文本编辑 习题四 第5章 数组和广义表 5.1 数组的基本概念 5.1.1 数组的概念 5.1.2 数组的顺序表示 5.1.3 特殊矩阵的压缩存储 5.2 稀疏矩阵的三元组存储 5.2.1 三元组表 5.2.2 稀疏矩阵的运算 5.3 稀疏矩阵的十字链表存储 5.3.1 十字链表的组成 5.3.2 十字链表的有关算法 5.4 广义表 5.4.1 广义表的概念和特性 5.4.2 广义表的存储结构 5.4.3 求广义表的深度 5.4.4 广义表的输出 5.4.5 建立广义表的存储结构 5.5 迷宫问题 习题五 第6章 6.1 的基本概念和术语 6.1.1 的定义 6.1.2 的常用术语 6.1.3 的表示方法 6.2 二叉 6.2.1 二叉的定义 6.2.2 二叉的重要性质 6.2.3 二叉存储结构 6.2.4 二叉二叉链表的一个生成算法 6.3 遍二叉 6.3.1 先根遍 6.3.2 中根遍 6.3.3 后根遍 6.3.4 二叉算法的应用 6.4 线索二叉 6.4.1 线索二叉的基本概念 6.4.2 线索二叉的逻辑表示 6.4.3 中根次序线索化算法 6.4.4 在中根线索上检索某结点的前趋或后继 6.4.5 在中根线索上遍二叉 6.5 二叉和森林 6.5.1 存储结构 6.5.2 与二叉之间的转换 6.5.3 森林与二叉的转换 6.5.4 一般或森林的遍 6.6 的应用 6.6.1 二叉排序 6.6.2 哈夫曼及其应用 6.7 二叉的建立和遍C语言源程序示例 习题六 第7章 7.1 的基本概念和术语 7.1.1 的基本概念 7.1.2 路径和回路 7.1.3 连通 7.1.4 顶点的度 7.2 存储结构 7.2.1 邻接矩阵 7.2.2 邻接链表 7.3 的遍和求的连通分量 7.3.1 的建立 7.3.2 的遍 7.3.3 求的连通分量 7.4 生成 7.4.1 生成概念 7.4.2 最小生成 7.4.3 普里姆(Prim)算法和克鲁斯卡尔(Kruskal)算法 7.5 最短路径 7.5.1 单源顶点最短路径问题求解 7.5.2 求有向网中每对顶点间的路径 7.6 有向无环及应用 7.6.1 拓扑排序 7.6.2 关键路径 7.7 的算法C语言程序实现举例 7.7.1 无向的邻接表的建立和遍 7.7.2 有向无环拓扑排序和求关键路径 习题七 第8章 查找 8.1 基本概念

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值