数据结构
文章平均质量分 76
DS
WhiteWater403
这个作者很懒,什么都没留下…
展开
-
稀疏矩阵的快速转置(C语言)算法详解
http://data.biancheng.net/view/188.html 稀疏矩阵的转置 需要经历以下 3 步: 将矩阵的行数和列数互换; 将三元组表(存储矩阵)中的 i 列和 j 列互换,实现矩阵的转置; 以 j 列为序,重新排列三元组表中存储各三元组的先后顺序; 稀疏矩阵快速转置算法和普通算法的区别仅在于第 3 步,快速转置能够做到遍历一次三元组表即可完成第 3 步的工作 稀疏矩阵的快速转置,在普通算法的基础上增设两个数组(假设分别为 array 和 copt): array 数组负责记录原原创 2021-08-31 17:09:19 · 1982 阅读 · 0 评论 -
九、排序算法
(一)排序的基本概念 排序(sort) sort:排序、分类 稳定性 排序算法的分类 1.插入类的排序 2.交换类的排序 交换类排序的核心是“交换”,即每一趟排序,都通过一系列的“交换”动作,让一个关键字排到它最终的位置上。还是军训排队的例子,设想军训刚开始,一群学生要排队,教官说:“你比你旁边的高,你俩换一下。怎么换完还比下一个高?继续换……”最后这个同学将被换到最终位置。这就是“交换” 类的排序。属于这类排序的有起泡排序(刚才排队的例子)、快速排序。 3.选择类的排序 选择类排序的核心是“选择”,即每一原创 2021-07-07 19:04:07 · 70 阅读 · 0 评论 -
七、图的手动模拟
目录最短路径问题迪杰斯特拉Dijkstra第一轮第二轮第三轮第4轮弗洛伊德Floyd (1)图的基本概念;图的存储表示:邻接矩阵、邻接表; (2)图的遍历与连通性; (3)最小生成树; (4)拓扑排序; (5)关键路径; (6)最短路径; 最短路径问题 单源最短路径 BFS算法(无权图) Dijkstra算法(带权图、无权图) 各顶点间的最短路径 Floyd算法(带权图、无权图) 迪杰斯特拉Dijkstra ●提出“goto有害理论”- -操作系统,虚拟存储技术 ●信号量机制PV原语- -操作系统,原创 2021-08-29 22:04:14 · 70 阅读 · 0 评论 -
四、树与二叉树
哈夫曼树 构造 给定n个权值 1)将这n个权值分别看作只有根结点的n棵二叉树,这些二叉树构成的集合记为F。 2)从F中选出两棵根结点的权值最小的树(假设为a、b)作为左、右子树,构造一棵新的二叉树(假设为c),新的二叉树的根结点的权值为左、右子树根结点权值之和。 3)从F中删除刚才选出的两棵树a、b,同时将新得到的树c加入F中。 4)重复进行2)、3)两步,直到F中只剩下一棵树为止,这棵树就是哈夫曼树。 哈夫曼树构造结果 都是左子树根权值小于右子树根权值,两子树根权值相同则较矮的子树在左边。 特点【判断构造原创 2021-08-31 18:08:34 · 111 阅读 · 0 评论 -
三、栈和队列和数组
考察形式 通常选择题 知识框架 (一)栈和队列的基本概念 (二)栈和队列的顺序存储结构 (三)栈和队列的链式存储结构 (四)多维数组的存储 (五)特殊矩阵的压缩存储 (六)栈、 队列和数组的应用 栈的应用 中缀转后缀表达式 算法思想如下: 从左向右开始扫描中缀表达式; 遇到数字时,直接加入后缀表达式; 遇到运算符时:abc规则 a.若为左括号’(’,入栈; b.若为右括号’)’,则依次把栈中的运算符加入后缀表达式,直到出现左括号’(’,并从栈中删除左括号’(’; c.若为除括号外的其他运算符("+"、原创 2021-07-07 22:52:31 · 67 阅读 · 0 评论 -
一、线性表
考察目标 1.掌握数据结构的基本概念、基本原理和基本方法 2.掌握数据的逻辑结构、存储结构及基本操作的实现,能够对算法进行基本的时间复杂度与空间复杂度的分析 3.能够运用数据结构基本原理和方法进行问题的分析与求解,具备采用C或C++语言设计与实现算法的能力 4.考试比重:占比45/150,和计算机组成原理分值相同题目形式:选择题、应用题(算法设计及实现) 算法设计及实现: 侧重考查算法思想及复杂度 C/C++实现 复试环节也会考察算法设计及编码实现 (一)线性表的基本概念 (二)线性表的实现 1.顺序存储原创 2021-07-06 22:03:48 · 64 阅读 · 0 评论 -
零、基本概念
了解数据结构的研究内容 理解掌握数据结构的基本概念和术语 了解数据元素间的结构关系 理解掌握算法及算法的==描述 掌握算法时间复杂度、空间复杂度分析 数据结构的研究内容 用计算机解决一个具体的问题时,大致需要经过以下几个步聚: (1)分析问题,确定数据模型(具体问题抽象出数学模型) (2)设计相应的算法 (3)编写程序,运行并调试程序直至得到正确的结果 基本概念和术语 数据(Data) 定义:是数、字符以及所有能输入到计算机并被程序识别、处理的符号集合 数据对象(Data Object) 相同性质的数据元素原创 2021-07-06 22:47:41 · 134 阅读 · 1 评论