
数据结构
文章平均质量分 65
关于数据结构部分的知识,后续会陆续更新
大胆飞猪
初入炼题境
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构6.5--计数排序(非比较排序)
计数排序在数据范围集中时,效率很高,但是适用范围及场景有限。时间复杂度:O(MAX(N,范围))空间复杂度:O(范围)不适合范围分散或者非整形的排序,如字符串、浮点型。原创 2024-12-10 13:46:43 · 650 阅读 · 0 评论 -
数据结构6.4——归并排序
归并的缺点在于需要O(N)的空间复杂度,归并排序的思想更多的是解决再磁盘中的外排序问题时间复杂度:O(NlogN)空间复杂度:O(N)稳定性:稳定。原创 2024-12-10 10:56:51 · 622 阅读 · 0 评论 -
数据结构6.3--交换排序
任取待排序元素序列中的某元素作为基准值,按照该排序列将待排序列集合分割成两个序列,左子序列所有元素均小于基准值,右子序列中的所有元素均大于基准值,然后最左右子序列重复该过程,直到所有元素都排列在相应位置上为止。所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序的前部移动。动图中的L=left,R=right,P就是基准值。原创 2024-12-08 17:33:28 · 719 阅读 · 2 评论 -
数据结构6.2--选择排序
每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。堆排序是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。它是通过堆来进行选择数据。原创 2024-12-07 15:46:36 · 685 阅读 · 2 评论 -
数据结构6.1--插入排序
先选定一个整数gap,把待排序文件中所有记录分成个组,所有距离间隔gap的数就为一个同一小组。对每一个小组内的数进行排序。然后,取,重复上述分组和排序的工作。当gap==1时,所有小组和在一起统一排序。把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列。希尔排序又称缩小增量法。实际中我们玩扑克牌,就用了插入排序的思想。gap越大,跳得最快,越不接近有序。gap越小,跳得最慢,越接近有序。原创 2024-12-06 23:23:37 · 532 阅读 · 4 评论 -
数据结构5——二叉树
走上计算机的道路,疲惫和无力会不断向你袭来。虽途艰路险,然功成之日,往昔困厄皆为序章,亦足慰心怀,堪称圆满。原创 2024-12-05 21:49:37 · 2094 阅读 · 8 评论 -
数据结构4——栈和队列
栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一段称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,出栈:栈的删除操作叫做出栈,。(图源来自天命客)原创 2024-11-30 08:52:42 · 1034 阅读 · 1 评论 -
数据结构3.链表
一般用在单独存储数据,实际中使用的链表数据结构,都是带头双向循环链表。另外这个结构虽然结构复杂,但是使用代码实现以后会发现结构会带来很多优势,实现反而简单了,后面我们代码实现了就知道了。3.任意位置插入或者删除元素:顺序表可能需要搬移元素,效率低;3.从堆上申请空间,是按照一定的策略来分配的,两次申请的空间可能连续,也可能不连续。1.存储空间:顺序表物理上一定连续;链表逻辑上连续,但物理上不一定连续。1.从上图可看出,链式结构在逻辑上是连续的,但是在物理上不一定连续。、非顺序的存储结构,数据元素的。原创 2024-11-27 19:21:44 · 905 阅读 · 0 评论 -
数据结构2:顺序表
线性表是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串···线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。原创 2024-11-24 10:46:16 · 611 阅读 · 0 评论 -
数据结构1.算法的时间复杂度和空间复杂度
时间复杂度的定义:在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。一个算法执行所消耗的时间,从理论上说,是不能算出来的,只有你把你的程序放在机器上跑起来,才能知道。5. 实例5基本操作执行最好1次,最坏O(logN)次,时间复杂度为 O(logN) ps:logN在算法分析中表示是底。4. 实例4基本操作执行最好N次,最坏执行了(N*(N+1)/2次,通过推导大O阶方法+时间复杂度一般看最。实例1基本操作执行了2N+10次,通过推导大O阶方法知道,时间复杂度为 O(N)原创 2024-11-22 17:38:35 · 1024 阅读 · 0 评论