数据结构笔记(三)【图、查找、排序】

一、图

  1. 定义
    1)图G由顶点集V和边集E组成,记为G=(V,E),其中V(G)表示图G中顶点的有限非空集;E(G)表示图G中顶点之间的关系(边)集合
    Eg:
    1.1)无向图在这里插入图片描述
    1.2)有向图
    在这里插入图片描述
    1.3)简单图&多重图
    在这里插入图片描述
    1.4)完全图
    在这里插入图片描述
    1.5)子图
    定义:设有两个图G=(V,E)和G’=(V’,E’),若V是V的子集,且E’是E的子集,则称G’为G的子图,且若V(G) = V(G’)则称G’为G的生成子图
    Tips:相同的图也是子图,只有几个点的也是子图
    2)图不能为空
    3)连通与强连通
    在这里插入图片描述
    4)连通图与强连通图
    在这里插入图片描述
    5)连通分量与强连通分量
    在这里插入图片描述
    6)生成树、生成森林
    在这里插入图片描述
    在这里插入图片描述
    7)顶点的度
    在这里插入图片描述
    无向图A点的度为3,B为2
    有向图A点的出度为2,入度为2
    有向图的总和为TD(V)=OD(V)+ID(V)

8)网
在这里插入图片描述
9)稠密图稀疏图
在这里插入图片描述
10)有向树
在这里插入图片描述
11)路径
在这里插入图片描述
12)路径长度
在这里插入图片描述
13)回路
在这里插入图片描述

  1. 储存与操作
    1)邻接矩阵法
    在这里插入图片描述
    1.1)网
    在这里插入图片描述
    1.3)代码
    在这里插入图片描述

2)邻接表法

2.1)有向图
在这里插入图片描述
2.2)无向图
在这里插入图片描述
2.3)代码
在这里插入图片描述
3)十字链表
3.1)有向图在这里插入图片描述
3.2)代码
在这里插入图片描述
4)邻边多重表
4.1)定义
在这里插入图片描述
4.2)代码
在这里插入图片描述

  1. 基本操作
    4.1)判断是否存在边
    在这里插入图片描述
    4.2)列出结点X相邻的边
    在这里插入图片描述
    4.3)插入结点
    在这里插入图片描述
    4.4)删除结点
    在这里插入图片描述
    4.5)添加边
    在这里插入图片描述
    4.6)删除边
    在这里插入图片描述

  2. 广度优先搜索
    5.1)定义
    1.1)类似于树的层次遍历
    在这里插入图片描述 1.2)代码
    在这里插入图片描述
    2.1)无权图单源最短路径问题
    定义从顶点u到顶点v的最短路径d(u,v)为从u到v的任何路径中最少的边数;若从u到没有通路,则d(u,v)=oo。
    2.2)代码
    在这里插入图片描述

  3. 深度优先搜索
    6.1)定义
    1.1)类似于树的先序遍历
    在这里插入图片描述
    2.1)代码
    在这里插入图片描述

  4. 最小生成树
    7.1)定义:连通图包含全部顶点的一个极小连通子图
    7.2)性质
    1)最小生成树不一定唯一,即最小生成树的树形不一定唯一。当带权无向连通图G的各边权值不等时或G只有结点数减1条边时,MST唯一。
    2)最小生成树的权值是唯一的,且是最小。
    3)最小生成树的边数为顶点数减1
    7.3)理解
    在这里插入图片描述

7.4)代码
在这里插入图片描述

11.最短路径
11.1)Dijikstra算法 带权图单源最短路径
11.1.1)理解
在这里插入图片描述
在这里插入图片描述
11.1.3)代码
在这里插入图片描述
在这里插入图片描述
11.2)Floyd算法 各顶点之间的最短路径
11.2.1)思想
在这里插入图片描述
11.2.2)代码
在这里插入图片描述

12.拓扑排序
12.1)定义
在这里插入图片描述
12.2)思想
在这里插入图片描述

12.3)代码
在这里插入图片描述

13.关键路径
13.1)定义
从原点到汇点最大路径长度的路径称为关键路径,关键路径上的活动为关键活动。
13.2)思想
1)事件Vk的最早发生时间ve(k)【路径最长的】
2)事件Vk的最迟发生时间v,(k)【路径最短的】
3)活动aj的最早开始时间e(i)
4)活动aj的最迟开始时间l(i)
5、活动a;的差额di)= (i)-e(i)

二、查找

  1. 基本概念
    1)查找:在数据集合中寻找满足某种条件的数据元素的过程。
    2)查找表:用于查找的数据集合,由同一种数据类型(或记录)的组成,可以是一个数组或链表等数据类型
    3)查找表的操作
    在这里插入图片描述
    4)关键字:数据元素中唯一标识该元素的某个数据项的值,使用基于关键字的查找,查找结果应该是唯一的
    5)平均查找长度:查找时,关键字比较次数的平均值:
    公式

  2. 顺序查找
    2.1)又称线性查找,主要用于在线性表中进行查找。
    2.2)代码
    在这里插入图片描述

  3. 折半查找
    3.1)又称二分查找,仅适用于有序的顺序表
    3.2)思想
    在这里插入图片描述
    3.3)代码
    在这里插入图片描述

三、排序

  1. 基本概念
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  2. 直接插入排序
    2.1)定义
    在这里插入图片描述
    2.2)代码
    在这里插入图片描述

  3. 折半插入排序
    3.1)代码在这里插入图片描述

  4. 希尔排序
    4.1)思想
    在这里插入图片描述
    4.2)代码
    在这里插入图片描述

  5. 冒泡排序
    5.1)基本思想
    在这里插入图片描述
    在这里插入图片描述
    5.2)代码
    在这里插入图片描述

  6. 快速排序
    6.1)定义
    在这里插入图片描述
    6.2)思路
    在这里插入图片描述
    6.3)代码
    在这里插入图片描述

  7. 选择排序
    7.1)思想
    在这里插入图片描述
    7.2)代码
    在这里插入图片描述

  8. 堆排序
    8.1)思想
    在这里插入图片描述
    8.2)代码
    在这里插入图片描述

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值