
数据结构初阶
文章平均质量分 69
Le-Code
大一软工男一枚~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构——链表
一般用在单独存储数据。实际中使用的链表数据结构,都是带头双向循环链表。另外这个结构虽然结构复杂,但是使用代码实现以后会发现结构会带来很多优势,实现反而简单了,后面我们代码实现了就知道了。就像我们一节一节的小火车一样,靠中间的链子链接在一起。,一般不会单独用来存数据。,如哈希桶、图的邻接表等等。、非顺序的存储结构,数据元素的。原创 2024-09-24 23:20:30 · 688 阅读 · 0 评论 -
数据结构——栈和队列
队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out) 入队列:进行插入操作的一端称为。STPush(ST* pst, STDataType x):进栈(栈的插入操作),若栈pst未满,则将x加入使之成为新栈顶。队列也可以数组和链表的结构实现,使用链表的结构实现更优一些,因为如果使用数组的结构,出队列在数组头上出数据,效率会比较低。QueueFront(Queue* pq):读队头元素,若队列pq非空,返回头部元素的数据。原创 2024-09-08 23:59:42 · 1368 阅读 · 0 评论 -
数据结构——快速排序
上述为快速排序递归实现的主框架,发现与二叉树前序遍历规则非常像,大家在写递归框架时可想想二叉树前序遍历规则即可快速写出来,后序只需分析如何按照基准值来对区间中数据进行划分的方式即可。Hoare大佬的方法很好,奠定了我们快排的基础思想,但是,里面的坑实在是很多,稍有不慎算法就容易出错,后人因此提出了疑问并且继续优化了快速排序的代码,例如挖坑法。挖坑法的单趟排序跟Hoare版的可能大差不差,但是挖坑法会相比于Hoare版本更好理解。首先将我们的key的值存放起来,然后讲key值所在的位置挖空。原创 2024-05-11 17:10:37 · 509 阅读 · 0 评论 -
数据结构——希尔排序
希尔排序法又称缩小增量法。希尔排序法的基本思想是:先选定一个整数,把待排序文件中所有记录分成个组,所有距离为的记录分在同一组内,并对每一组内的记录进行排序。然后,取,重复上述分组和排序的工作。当gap=1时,所有记录在统一组内排好序。希尔排序分为两个步骤:1.预排序——接近有序(gap>1)2.插入排序(gap==1)1.预排序:比如先排红色组:再排蓝色组: 最后排绿色组: 代码分析:end的后一个输入往前插入: 依此类推 ,完成红色组的排序 依此类推,完成所有组的预排序 2.插入排序:当我们的g原创 2024-05-10 00:06:46 · 753 阅读 · 1 评论 -
数据结构——插入排序
直接插入排序是一种简单的插入排序法,其基本思想是:实际中我们玩扑克牌时,就用了插入排序的思想直接插入排序:当插入第i(i>=1)个元素时,前面的array[0],array[1],…,array[i-1]已经排好序,此时用array[i]的排序码与array[i-1],array[i-2],…的排序码顺序进行比较,找到插入位置即将array[i]插入,原来位置上的元素顺序后移时间复杂度分析://时间复杂度(最坏):O(N^2)--有序。原创 2024-04-27 20:26:52 · 386 阅读 · 0 评论 -
数据结构——顺序表
/断言i++)//逐个打印。原创 2024-03-23 00:53:02 · 2093 阅读 · 4 评论 -
空间复杂度的OJ练习——轮转数组
时间复杂度O(N^2)原创 2024-03-10 01:06:35 · 561 阅读 · 13 评论 -
数据结构——算法的空间复杂度
的空间,因为这个也没太大意义,所以空间复杂度算的是变量的个数。空间复杂度也是一个数学表达式,是对一个算法在运行过程中。空间复杂度计算规则基本跟实践复杂度类似,也使用。空间复杂度不是程序占用了多少。原创 2024-03-09 15:30:37 · 514 阅读 · 1 评论 -
时间复杂度的OJ练习——面试题:消失的数字
求和i++)return num;原创 2024-03-09 13:46:25 · 457 阅读 · 0 评论 -
数据结构——算法的时间复杂度
如何衡量一个算法的好坏呢?斐波那契数列的递归实现方式非常简洁,但简洁一定好吗?那该如何衡量其好与坏呢?原创 2024-03-09 01:32:42 · 2700 阅读 · 1 评论