数据结构
文章平均质量分 82
数据结构是程序设计的重要基础,它所讨论的内容和技术对从事软件项目的开发有重要作用。学习数据结构要达到的目标是学会从问题出发,分析和研究计算机加工的数据的特性,以便为应用所涉及的数据选择适当的逻辑结构、存储结构及其相应的操作方法,为提高利用计算机解决问题的效率服务。
yysh_001
这个作者很懒,什么都没留下…
展开
-
数据结构之外部排序
外部排序就是对大型文件的排序,待排序的记录存放在外存。在排序的过程中,内存只存储文件的一部分记录,整个排序过程需要进行多次内外存间的数据交换。原创 2024-02-10 15:49:26 · 1065 阅读 · 0 评论 -
数据结构之内部排序小结
快速排序目前被认为是内部排序方法中最好的方法,当待排序的关键字为随机分布时,快速排序的平均运行时间最短,但堆排序只需一个辅助存储空间,并且不会出现在快速排序中可能出现的最坏情况。迄今为止,已有的排序方法远远不止上述几种,人们之所以热衷于研究各种排序方法,不仅是由于排序在计算机运算中所处的重要位置,还因为不同的方法各有优缺点,可根据需要应用到不同的场合。在选取排序方法时需要考虑的因素有待排序的记录个数 n、记录本身的大小、关键字的分布情况、对排序稳定性的要求、语言工具的条件和辅助空间的大小。原创 2024-02-09 15:50:00 · 384 阅读 · 0 评论 -
数据结构之基数排序
基数排序的思想是按组成关键字的各个数位的值进行排序,它是分配排序的一种原创 2024-02-08 10:48:17 · 757 阅读 · 0 评论 -
数据结构之归并排序
所谓“归并”,是将两个或两个以上的有序文件合并成为一个新的有序文件。归并排序的一种实现方法是把一个有n个记录的无序文件看成是由n个长度为1的有序子文件组成的文件,然后进行两两归并.原创 2024-02-07 23:04:06 · 563 阅读 · 0 评论 -
数据结构之堆排序
推排序的基本思想是:对一组待排序记录的关键字,首先按堆的定义排成一个序列(即建立初始堆),从而可以输出堆项的最大关键字(对于大根堆而言),然后将剩余的关键字再调整成新堆,便得到次大的关键字,如此反复,直到全部关键字排成有序序列为止。原创 2024-02-06 14:37:49 · 3005 阅读 · 0 评论 -
数据结构之快速排序
快速排序的基本思想是: 通过一趟排序将待排的记录划分为独立的两部分,称为前半区和后半区,其中,前半区中记录的关键字均不大于后半区记录的关键字,然后再分别对这两部分记录继续进行快速排序,从而使整个序列有序。原创 2024-02-05 14:38:46 · 563 阅读 · 0 评论 -
数据结构之希尔排序
希尔排序的基本思想是:先将整个待排记录序列分割成若干子序列,然后分别进行直接插入排序,待整个序列中的记录基本有序时,再对全体记录进行一次直接插入排序。具体做法是:先取一个小于 n 的整数 d1 作为第一个增量,把文件的全部记录分成 d1 个组,即将所有距离 d1 倍数序号的记录放在同一个组中,在各组内进行直接插入排序;然后取第二个增量 d2(d2原创 2024-02-04 16:39:56 · 533 阅读 · 0 评论 -
数据结构之简单排序
在排序过程中需要进行下列两种基本操作:比较两个关键字的大小;将记录从一个位置移动到另一个位置。前一种操作对大多数排序方法来说都是必要的,后一种操作可以通过改变记录的存储方式来避免。原创 2024-02-03 22:38:54 · 1071 阅读 · 0 评论 -
数据结构之哈希表
哈希表通过计算一个以记录的关键字为自变量的函数(称为哈希函数)来得到该记录的存储地址,所以在哈希表中进行查找操作时,需用同一哈希函数计算得到待查记录的存储地址,然后到相应的存储单元去获得有关信息再判定查找是否成功原创 2024-02-02 17:41:03 · 1665 阅读 · 0 评论 -
数据结构之动态查找表
动态查找表的特点是表结构本身是在查找过程中动态生成的,即对于给定值 key,若表中存在关键字等于 key 的记录,则查找成功返回;否则插入关键字为 key 的记录。原创 2024-02-01 09:45:43 · 1802 阅读 · 0 评论 -
数据结构之静态查找表的查找方法
查找是一种常用的基本运算。查找表是指由同一类型的数据元素(或记录)构成的集合。由于“集合”中的数据元素之间存在着完全松散的关系,因此,查找表是一种非常灵活的数据结构。原创 2024-01-31 10:21:09 · 2580 阅读 · 0 评论 -
数据结构之查找
查找是一种常用的基本运算。查找表是指由同一类型的数据元素(或记录)构成的集合。由于“集合”中的数据元素之间存在着完全松散的关系,因此,查找表是一种非常灵活的数据结构。原创 2024-01-30 10:38:08 · 418 阅读 · 0 评论 -
数据结构之最短路径
数据结构是程序设计的重要基础,它所讨论的内容和技术对从事软件项目的开发有重要作用。学习数据结构要达到的目标是学会从问题出发,分析和研究计算机加工的数据的特性,以便为应用所涉及的数据选择适当的逻辑结构、存储结构及其相应的操作方法,为提高利用计算机解决问题的效率服务。数据结构是指数据元素的集合及元素间的相互关系和构造方法。元素之间的相互关系是数据的逻辑结构,数据元素及元素之间关系的存储称为存储结构(或物理结构)。数据结构按照逻辑关系的不同分为和两大类,其中,非线性结构又可分为树结构和图结构。原创 2024-01-29 14:52:43 · 1241 阅读 · 0 评论 -
数据结构之拓扑排序和关键路径
数据结构是程序设计的重要基础,它所讨论的内容和技术对从事软件项目的开发有重要作用。学习数据结构要达到的目标是学会从问题出发,分析和研究计算机加工的数据的特性,以便为应用所涉及的数据选择适当的逻辑结构、存储结构及其相应的操作方法,为提高利用计算机解决问题的效率服务。数据结构是指数据元素的集合及元素间的相互关系和构造方法。元素之间的相互关系是数据的逻辑结构,数据元素及元素之间关系的存储称为存储结构(或物理结构)。数据结构按照逻辑关系的不同分为和两大类,其中,非线性结构又可分为树结构和图结构。原创 2024-01-28 17:02:43 · 1050 阅读 · 0 评论 -
数据结构之生成树及最小生成树
对于有n个顶点的连通图,至少有n-1条边,而生成树中恰好有n-1条边,所以连通图的生成树是该图的极小连通子图。对于连通网来说,边是带权值的,生成树的各边也带权值,因此把生成树各边的权值总和称为生成树的权,把权值最小的生成树称为最小生成树。原创 2024-01-27 21:12:18 · 1712 阅读 · 3 评论 -
数据结构之图的遍历
图的遍历是指从某个顶点出发,沿着某条搜索路径对图中的所有顶点进行访问且只访问一次的过程。图的遍历算法是求解图的连通性问题、拓扑排序及求关键路径等算法的基础。原创 2024-01-26 18:51:37 · 1169 阅读 · 0 评论 -
数据结构之图的定义与存储
图是比树结构更复杂的一种数据结构。在线性结构中,除首结点没有前驱、末尾结点没有后继外,一个结点只有唯一的一个直接前驱和唯一的一个直接后继。在树结构中,除根结点没有前驱结点外,其余的每个结点只有唯一的一个前驱(双亲) 结点和多个后继 (子树) 结点。而在图中,任意两个结点之间都可能有直接的关系,所以图中一个结点的前驱结点和后继结点的数目是没有限制的。原创 2024-01-25 14:38:46 · 1145 阅读 · 0 评论 -
数据结构之树和森林
树结构是一种非常重要的非线性结构,该结构中的一个数据元素可以有两个或两个以上的直接后继元素,树可以用来描述客观世界中广泛存在的层次结构关系。森林则有多棵树构成。原创 2024-01-24 10:49:27 · 1347 阅读 · 0 评论 -
数据结构之最优二叉树
最优二叉树又称为哈夫曼树,它是一类带权路径长度最短的树。路径是从树中一个结点到另一个结点之间的通路,路径上的分支数目称为路径长度。树的路径长度是从树根到每一个叶子之间的路径长度之和。原创 2024-01-23 14:54:14 · 3563 阅读 · 4 评论 -
数据结构之线索二叉树
二叉树的遍历实质上是对一个非线性结构进行线性化的过程,它使得每个结点(除第一个和最后一个)在这些线性序列中有且仅有一个直接前驱和直接后继。但在二叉链表存储结构中,只能找到一个结点的左、右孩子,不能直接得到结点在任一遍历序列中的前驱和后继,这些信息只有在遍历的动态过程中才能得到,因此,引入线索二叉树来保存这些动态过程得到的信息。原创 2024-01-22 15:54:47 · 1001 阅读 · 0 评论 -
数据结构之二叉树的遍历
遍历是按某种策略访问树中的每个结点,且仅访问一次的过程。由于二叉树所具有的递归性质,一棵非空的二叉树是由根结点、左子树和右子树三部分构成的,因此若能依次遍历这三部分,也就遍历了整棵二叉树。按照先遍历左子树后遍历右子树的约定,根据访问根结点位置的不同,可得到二叉树的先序、中序和后序3种遍历方法。此外,对二叉树还可进行层序遍历。原创 2024-01-21 17:30:25 · 849 阅读 · 0 评论 -
数据结构之二叉树的性质与存储结构
二叉树是 n(n≥0)个结点的有限集合,它或者是空树(n=0),或者是由一个根结点及两棵不相交的且分别称为左、右子树的二叉树所组成。二叉树具有递归性质。二叉树的存储结构有顺序存储跟链式存储两种存储结构。原创 2024-01-20 21:28:13 · 1048 阅读 · 0 评论 -
数据结构之树和二叉树定义
树结构是一种非常重要的非线性结构,该结构中的一个数据元素可以有两个或两个以上的直接后继元素,树可以用来描述客观世界中广泛存在的层次结构关系。原创 2024-01-19 10:50:06 · 1296 阅读 · 0 评论 -
数据结构之数组、矩阵和广义表
数组与广义表可看作是线性表的推广,其特点是数据元素仍然是一个表。这里讨论多维数组的逻辑结构和存储结构,特殊矩阵和矩阵的压缩存储,广义表的逻辑结构、存储结构和基本运算。原创 2024-01-18 14:52:05 · 1517 阅读 · 0 评论 -
数据结构之串
串(字符串)是一种特殊的线性表,其数据元素为字符。计算机中非数值问题处理的对象经常是字符串数据,例如,在汇编和高级语言的编译程序中,源程序和目标程序都是字符串;在事处理程序中,姓名、地址等一般也是作为字符串处理的。串具有自身的特性,运算时常常把一个串作为一个整体来处理。这里介绍串的定义、基本运算、存储结构及串的模式匹配算法。原创 2024-01-17 21:05:58 · 1387 阅读 · 0 评论 -
数据结构之栈和队列
栈和队列是程序中常用的两种数据结构,它们的逻辑结构和线性表相同。其特点在于运算有所限制:栈按“后进先出”的规则进行操作,队列按“先进先出”的规则进行操作,故称为运算受限的线性表。原创 2024-01-16 17:27:03 · 1715 阅读 · 0 评论 -
数据结构之线性表
线性表是最简单、最基本也是最常用的一种线性结构。常采用顺序存储和链式存储,主要的基本操作是插入、删除和查找等。原创 2024-01-15 18:56:14 · 1398 阅读 · 0 评论