当前位置: 首页 > article >正文

备考408——数据结构基础知识

一、连通图与非连通图

无向图:边是没有方向的。
:顶点所具有的边的数目称为顶点的度。
连通图无向图中,任意两个顶点是连通的(一个顶点不必与另一个顶点直接相连,可以通过其它顶点到达即可)最少有n-1条边;如下:4个顶点最少需要3条边才能够连通
非连通图:即存在某个顶点无法到达另一个顶点的情况,最多有 ( n − 1 ) ∗ ( n − 2 ) / 2 (n-1)*(n-2)/2 (n1)(n2)/2条边(n个顶点,1个顶点孤立,(n-1)个顶点互相连接 --> ( n − 1 ) ∗ ( n − 2 ) (n-1)*(n-2) (n1)(n2),又因为是无向图,所以除以2,即 ( n − 1 ) ∗ ( n − 2 ) / 2 (n-1)*(n-2)/2 (n1)(n2)/2)。
生成树无向图中,包含图中全部顶点的一个极小连通子图(生成树不唯一)。若去除一条边,则生成树会变成非连通图;若多加上一条边,则会形成回路。

无向图:边是有方向的。入度是指指向该节点的边的数量;出度是指从该节点出发指向其他节点的边的数量。
:一个顶点的入度与出度之和称为该顶点的度
强连通图有向图中,任意两个顶点是连通的,最少有n条边(循环)。
若有向图本身不是强连通图,但其包含的最大连通子图具有强连通图的性质,则称该子图为强连通分量。参考强连通图见图

弱连通图:不是强连通图,但是如果将有向图的所有有向边替换为无向边,所得到的图(原图的基图)是连通图,则该有向图是弱连通图。

二、邻接矩阵和邻接表

邻接矩阵:数组(邻接矩阵)表示法,N个顶点,则是N*N维的矩阵。
无向图:W[i][j]=1表示顶点i到顶点j 有边,W[i][j]=0表示顶点i到顶点j 无边。
有向图:W[i][j]表示顶点i到顶点j的距离,即顶点i到顶点j的边的权重,W[i][j]=inf表示顶点i到顶点j 无边,所以是无穷大。
参考邻接矩阵

邻接表
顶点: 按编号顺序将顶点数据存储在一维数组中。
关联同一顶点的边: 用线性链表存储。
如果有边\弧的信息,还可以在表结点中增加一项。
参考邻接表图形化讲解
无向图中有n个顶点、e条边,则其邻接表需要n个头结点和2e个表结点。适宜存储稀疏图
邻接矩阵多用于稠密图;而邻接表多用于稀疏图

三、树的序列

树的序列化,类似层序遍历,不一样的是,空叶子节点也要记录下来(层序遍历一般不用)。
如:
在这里插入图片描述

出题类型为,给出一棵树的序列化数组,询问前序、中序、后序遍历的结果。
前序: 根、左、右
中序: 左、根、右
后序: 左、右、根

四、循环队列

参考循环队列判断队满和队空
队头指针在队尾指针的下一位置时,队满

Q.front == (Q.rear + 1) 
% MAXSIZE 因为队头指针可能又重新从0位置开始,而此时队尾指针是MAXSIZE - 1,所以需要求余。

当队头和队尾指针在同一位置时,队空

Q.front == Q.rear

五、广义表

广义表的长度,指的是广义表中所包含的数据元素的个数,如{a,{b,c},{c,d,e}}的长度是3。
广义表的深度,可以通过观察该表中所包含括号的层数间接得到,如{a,{b,c},{c,d,e}}的长度是2。

六、


http://www.kler.cn/news/359163.html

相关文章:

  • 模型驱动架构(MDA)设计方法及其应用分析
  • C++面试速通宝典——28
  • RestTemplate基本使用之HTTP实现GET请求和POST请求
  • Pymysql中Mysql连接默认会开启事务处理-数据表名行数列表SQL以及python中的日志模板 logoru 及常用参数配置解析
  • 内网穿透之Linux系统安装神卓互联【超详细,小白一看就会】
  • 2024-moectf Web WP
  • docker配置加速器
  • git分支模型
  • 情绪稳定!别再让Git合并冲突影响你工作了
  • 音视频入门基础:H.264专题(19)——FFmpeg源码中,获取avcC封装的H.264码流中每个NALU的长度的实现
  • [论文阅读]Large Language Models Are Reasoning Teachers
  • 《深度学习》OpenCV 人脸检测、微笑检测 原理及案例解析
  • commvault测试(1):cv10使用辅助拷贝实现不同MA的数据同步
  • 在文件里引用目录文件下的静态资源图片不显示
  • Element笔记
  • MoCoOp_ Mixture of Prompt Learning for Vision Language Models
  • xlnt加载excel报错:xl/workbook.xml:2:2581: error: attribute ‘localSheetId‘ expected
  • Kaggle Python练习:字符串和字典(Exercise: Strings and Dictionaries)
  • PythonNet:实现Python与.Net代码相互调用!
  • 2024-10-14 问AI: [AI面试题] 机器学习中维度的诅咒是什么?