数据结构与算法(一)

开发工具与关键技术:
作者: 李伙
撰写时间: 2020年5月6日

数组:
1、所谓数组是有序的元素序列,如何理解元素?元素简单说就是存放在每个格中的内容(值);在C、Java等强类型语言中,一讲到内容(值)就必须与类型挂钩;元素的释义:定义了个一维数组,其序列长度为10,数组的名字为a,每个格中存放的都是int类型的值。
2、二维数组:一维数组的每个元素都是一维数组。
3、矩阵:在数学中,矩阵是一个按照长方阵列排列的复数或实数集合。
4、矩阵在日常生活中的应用:图像处理、信息加密,密文、明文
5、几种特殊矩阵:
(1)零矩阵:内部元素全部为0,一般用0m*n表示;
(2)方阵:对于行数和列数相等的矩阵;如下图:
在这里插入图片描述

(3)对角矩阵:方阵A中的元素ai j=0(i≠j)时,A是一个对角矩阵;如下图:
在这里插入图片描述

(4)单位矩阵:对角矩阵A的元素ai i=1时,A称为n阶单位矩阵,记做En或In;如下图:
在这里插入图片描述

(5)上/下三角形矩阵:主对角线以下/上元素全为0的矩阵;如下图:
在这里插入图片描述

(6)行/列矩阵:矩阵中只有一行/一列元素的矩阵。如下图:
在这里插入图片描述

图:
1、图结构是一种比树形结构更复杂的非线性结构,任意一个结点都可以有任意多个前驱和后继。图结构是一种重要的数据结构。
定义:图是有由顶点集合及顶点间的关系集合组成的一种数据结构。记为G=(V,E)
其中 V是顶点的非空有穷集合;E是顶点之间关系的有穷集合,也叫边集合。
图是一种比线性表和树更加复杂的数据结构。在线性表中,数据元素之间呈现一种线性关系,即每个元素只有一个直接前驱和一个直接后继;在树结构中,结点之间是一种层次关系,即每个结点只有一个直接前驱,但可有多个直接后继;而在图结构中,每个结点既可以有多个直接前驱,也可以有多个直接后继。
2、图的基本术语:(1)邻接点 (2)顶点的度、入度的出度 (3)完全图、稠密图、稀疏图 (4)子图 (5)路径 (6)连通图、连通分量 (7)强连通图、强连通分量 (8)权、网
3、邻接矩阵概念
邻接矩阵这种存储结构采用两个数组来表示图,一个是一维数组,存储图中的所有顶点的信息:另一个是二维数组,即邻接矩阵,存储顶点之间的关系。
图的邻接矩阵表示法具有以下特点:
(1)无向图的邻接矩阵一定是对称的;
(2)有向图的邻接矩阵不一定对称的;
(3)从邻接矩阵很容易确定图中任意两个顶点间是否有边相连。
4、图的遍历:从图中某一顶点出发遍历图中其余顶点,且使每一顶点仅被访问一次。
算法设计需要考虑三个问题:
(1)算法的参数要指定访问的第一个顶点;
(2)要考虑遍历路径可能出现的死循环问题;
(3)要使一个顶点的所有邻接顶点按照某种次序被访问。
遍历图的基本方法:
(1)深度优先搜索:是往纵深方向搜索
(2)广度优先搜索:是在同一层中搜索完了再继续下一层

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值