随笔分类 -  数据结构和算法

摘要:如果每个算法都有个模板,我们是不是就可以更加快速的写出来我们自己心中的想法了呢?这里总结了这么一套算法模板,一起来记一下吧。 阅读全文
posted @ 2020-11-23 23:58 StivenYang 阅读(307) 评论(0) 推荐(0)
摘要:堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。 阅读全文
posted @ 2020-09-14 16:25 StivenYang 阅读(229) 评论(0) 推荐(0)
摘要:快速排序的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序 阅读全文
posted @ 2020-07-10 14:11 StivenYang 阅读(162) 评论(0) 推荐(0)
摘要:归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。 阅读全文
posted @ 2020-06-27 23:46 StivenYang 阅读(161) 评论(0) 推荐(0)
摘要:1959年Shell发明,第一个突破O(n2)的排序算法,是简单插入排序的改进版。它与插入排序的不同之处在于,它会优先比较距离较远的元素。希尔排序又叫缩小增量排序。 阅读全文
posted @ 2020-06-27 12:11 StivenYang 阅读(150) 评论(0) 推荐(0)
摘要:插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 阅读全文
posted @ 2020-06-24 19:06 StivenYang 阅读(247) 评论(0) 推荐(0)
摘要:选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 阅读全文
posted @ 2020-06-23 18:25 StivenYang 阅读(221) 评论(0) 推荐(0)
摘要:冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 阅读全文
posted @ 2020-06-23 18:00 StivenYang 阅读(159) 评论(0) 推荐(0)
摘要:算法总览分类 阅读全文
posted @ 2020-06-23 17:32 StivenYang 阅读(102) 评论(0) 推荐(0)