![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 55
HjasnJH
这个作者很懒,什么都没留下…
展开
-
算法:基于RingBuffer的高效环形数组
算法 环形数组 ringbuffer原创 2022-06-22 00:45:57 · 353 阅读 · 0 评论 -
重温算法导论(一) 插入排序
算法导论 插入排序原创 2017-11-19 22:52:04 · 197 阅读 · 0 评论 -
重温算法导论(二) 快速排序
快速排序的思想,就是分而治之的思想,也就是把问题分成两个,再继续分解,到最后。具体举例的思想如下:算法导论原书的例子:其实现的伪代码:将一个问题,分解为两个子串的排序问题,利用递归,继续对子串排序,最后实现整串排序QUICKSORT(A,p,r) //原地重排 p,r 对应下标 if p < r q = PARTITION(A, p, r) QUICKSORT(A, p, q-1)...原创 2018-07-04 13:50:07 · 130 阅读 · 0 评论 -
重温算法导论(三) 冒泡排序
冒泡排序原理简单,从最后的元素与前面的元素比较,小于则交换,最后最小的在最左边伪代码实现如下:for i ← 1 to length[A] //实际数组的下标从0开始 do for j ← length[A] downto i + 1 do if A[j] < A[j - 1] then exchange A[j] ↔ A[j...原创 2018-07-04 16:58:29 · 298 阅读 · 0 评论 -
重温算法导论(四) 希尔排序
希尔排序,就是插入排序的改进,具体改进的办法,就是利用增量对排序队列进行划分,再使用插入排序,如以下:利用分组排序后,再进行最后的排序其伪代码为:for path=0 to length_dlta for i=path to n //一趟分段直接插入排序 temp = data[i] j=i-path while j>=0 and ...原创 2018-07-04 19:26:40 · 474 阅读 · 0 评论 -
重温算法导论(五) 归并排序
归并排序,就是利用递归的思维,解决排序的问题首先嘉定L R中已经是排好序的数据,利用Merge函数,将他们合并起来Merge函数伪代码Merge(A, p, q, r) n1 = q - p + 1 n2 = r - q L[n1] = A[p, q] R[n2] = A[q+1, r] j = 0 i = 0 for k=p to r-1 if L[i] <= R[i...原创 2018-07-04 20:56:40 · 167 阅读 · 0 评论 -
重温算法导论(六) 堆排序
堆排序,思想就是先建立最大堆,然后从最大堆中取出最大数,作为数组的最后一个数据,重复并把数据取完。排序的数组结构,包含堆数组的长度,有效的堆大小 和堆数据A{ length heap-size A[] }每个节点对应的父节点,左子节点,右子节点维护最大堆的性质,先假定先假定Left[i] 和Right[i] 为最大堆,实现伪代码:MaxHeapify(A, i) //先假定Left[i] 和...原创 2018-07-05 13:34:36 · 203 阅读 · 0 评论