手撕考研数据结构算法100题
热心市民小汪
这个作者很懒,什么都没留下…
展开
-
【考研·数据结构->排序】9 希尔排序算法
希尔排序是对插入排序的优化,基本思路是先选定一个整数作为增量,把待排序文件中的所有数据分组,以每个距离的等差数列为一组,对每一组进行排序,然后将增量缩小,继续分组排序,重复上述动作,直到增量缩小为1时,排序完正好有序。 希尔排序原理是每一对分组进行排序后,整个数据就会更接近有序,当增量缩小为1时,就是插入排序,但是现在的数组非常接近有序,移动的数据很少,所以效率非常高,所以希尔排序又叫缩小增量排序。 顺序有序的数组排序时,时间复杂度为O ( n ) O(n)O(n),此时效率最高。原创 2024-05-12 18:34:05 · 119 阅读 · 0 评论 -
【考研·数据结构->排序】8 折半插入排序算法
注:当low>high 时折半查找停止,应将[low, i-1]内的元素全部右移, 并将A[0]复制到low所指位置 当A[mid]==A[0]时,为了保证算法的“稳定性”,应继续在mid所指位置右边寻找插入位置。当A[0]>=mid,说明当前元素应插入min右侧,将左区间low=mid+1。当A[0]<mid,说明当前元素应插入min左侧,将左区间low=mid-1。原创 2024-05-12 16:42:52 · 92 阅读 · 1 评论 -
【考研·数据结构->排序】7 直接插入排序算法
直接插入排序(Straight Insertion Sort)的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表。开始时有序表中只包含1个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,将它插入到有序表中的适当位置,使之成为新的有序表,重复n-1次可完成排序过程。* A -- 待排序的数组。* n -- 数组的长度。二.带哨兵A[0]存储当前元素。一.temp变量存储当前元素。原创 2024-05-11 19:04:15 · 119 阅读 · 0 评论 -
【考研·数据结构->线性表】6 将顺序表中的元素逆置
【代码】【考研·数据结构->线性表】6 将顺序表中的元素逆置。原创 2024-04-07 23:47:58 · 86 阅读 · 0 评论 -
【考研·数据结构->线性表】5 用顺序表最后一个元素覆盖整个顺序表中最小元素,并返回该最小元素
【代码】【考研·数据结构->线性表】5 顺序表递增有序,插入元素x,仍递增有序用顺序表最后一个元素覆盖整个顺序表中最小元素,并返回该最小元素。原创 2024-04-07 23:46:23 · 110 阅读 · 0 评论 -
【考研·数据结构->线性表】4 顺序表递增有序,插入元素x,仍递增有序
【代码】【考研·数据结构->线性表】4 顺序表递增有序,插入元素x,仍递增有序。原创 2024-04-07 23:44:22 · 118 阅读 · 0 评论 -
【考研·数据结构->线性表】3 顺序表查询元素/按值/按位
假如你要从一个顺序线性表根据值或着位序查询某个元素,其本质核心就是对顺序表的遍历查找。按值查找:在顺序表L中查找给定关键字值的元素,返回其位序按值查找:在顺序表L中根据位序查找其值。原创 2024-04-04 01:58:28 · 160 阅读 · 1 评论 -
手撕考研数据结构算法 100题(代码汇总篇)持续更新中~
数据结构是一门需要实践的学科,通过编写代码并进行调试,可以快速掌握相关知识。同时,它也是计算机和软件类考研无法绕过的重要内容。在这篇博客中,我将整理我在考研期间编写的数据结构代码,全部为可直接运行的C/C++代码,注释详细、风格统一。希望这些内容能帮助到备考的同学们!整个博客从线性表、树、图、查找排序四部分来列举考研数据结构中重要的内容。原创 2024-03-29 23:55:05 · 372 阅读 · 1 评论 -
【考研·数据结构->线性表】2 顺序表删除元素
假如你要从一个顺序线性表删除某个元素,实现 ListDelete(SqList *L,int i,ElemType *e),即在L中的第i个位置删除一个元素e,应该如何操作呢?3.删除元素位置开始遍历到最后一个元素位置,分别将它们向前移动一个位置4.表长减去1。1.如果删除的元素位置不正确,结束程序,输出异常信息。2.取出删除元素,放在元素e中。原创 2024-03-29 23:38:19 · 202 阅读 · 1 评论 -
【考研·数据结构->线性表】1 顺序表插入元素
【考研·数据结构->线性表】1 顺序表插入元素原创 2024-03-28 10:19:00 · 278 阅读 · 0 评论