![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础算法
文章平均质量分 55
钟浩森
平平无奇一研究生,从土木行业到电子行业的学习进阶之路!
展开
-
【基础算法】-队列
队列介绍:先进先出(FIFO)-先进队列的元素先出队列。来源于我们生活中的队列(先排队的先办完事)。队尾(tail)——允许插入的一端队头(head)——允许删除的一端原创 2022-08-08 20:42:44 · 84 阅读 · 0 评论 -
【基础算法】-简单选择排序
基本思想:(1)首先在一个无序数列中,找到一个最小的值,然后把它与第一个数互掉位置;(2)固定第一个值(最小数),然后在剩余无序数列中找到次小数,将它与第二个数互换位置;(3)重复前面的步骤之后,可以得到一个排列好的数列;...原创 2022-08-08 15:46:36 · 179 阅读 · 0 评论 -
【基础算法】-希尔排序
(1):把待排序列,分为多个间隔为h的子序列,然后对每个子序列进行直接插入排序;(2):重复(1)多次,每次间隔h不同,并且越来越小;(3):最后一次选取,间隔h=1,完成排序!原创 2022-08-07 15:13:33 · 130 阅读 · 0 评论 -
【算法基础】-冒泡排序
1.比较相邻的元素,如果前一个数的值大于后一个数的值,那么交换他们的位置2.对每一个相邻的元素做同样的比较,从开始到最后,这步做完,最后一个元素就是当前数组中最大的元素。3.当2的步骤执行完毕后(也就是第一轮比较完毕),此时把序列中最大的值排在了最后一位,然后得到了一个新的序列。对这个新的序列再执行2步骤,就可以把次大值排在倒数第二序列,以此类推,可排列为从小到大的一个序列!...原创 2022-08-06 22:46:34 · 213 阅读 · 0 评论 -
【基础算法】-快速排序
首先,在所有序列元素中随机找出一个,作为“基准值”,然后把整个序列基于基准值进行重新排列,小于基准值的放在它左边,大于基准值的放在它的右边,重新排列完,这个基准值元素的位置就是排序后的位置了,同时,也产生了两个子序列,然后对两个子序列再用同样的方式,找一个基准值,对子序列重新排列…,直到最后子序列只有一个元素或0个元素(递归最底层的情形),这时,序列就排完序了。...原创 2022-08-06 14:37:32 · 77 阅读 · 0 评论 -
C语言整理-双向链表和单项链表那些事
链表一般细分为:1、不带头节点的单链表2、带头节点的单链表3、不带头结点的双链表4、带头结点的双链表5、带头结点的双向循环链表其具体的实现过程可以由下图表示:头指针: 头指针是指链表指向第一个结点的指针,若链表有头结点,则是指向头结点的指针 头指针具有标识作用,所以常用头指针冠以链表的名字 无论链表是否为空,头指针均不为空,头指针是链表的必要元素 头节点: 头结点是为了操作的统一和方便而设立的,放在第一元素(首元节点)的结点之前,其数据域一般无意义原创 2022-05-11 16:49:42 · 384 阅读 · 0 评论 -
【基础算法】-堆排序
基础算法学习原创 2022-08-06 13:36:46 · 200 阅读 · 0 评论