排序
code配上格子衫
终身学习
展开
-
经典八大排序算法总结
排序算法分类排序算法具体实现及其思想https://blog.csdn.net/ifwecande/category_9491907.html本专栏针对不同排序算法已经整理好了博客。这里不加赘述。时间空间复杂度及其稳定性分析原创 2020-09-14 20:35:33 · 104 阅读 · 0 评论 -
插入排序——直接插入排序,希尔排序 思想及其实现
我们将数组中的数据分为两个区间,已排序区间和未排序区间。初始已排序区间只有一个元素,就是数组的第一个元素,然后在未排序区间中依次取出元素并插入到已排序区间的合适位置,并保证已排序区间一直是有序。重复这个步骤直到未排序区间元素为空,算法结束插入排序步骤:从第一个元素开始,该元素可以认为已经被排序取出下一个元素,在已经排序的元素序列中从后向前扫描如果该元素(已排序)大于新元素,将该元素移到下一位置重复步骤3,直到找到已排序的元素小于或者等于新元素的位置将新元素插入到该位置后重复步骤2~5对于原创 2020-09-14 20:14:23 · 134 阅读 · 0 评论 -
简简单单选择排序
思想选择排序思想很简单, 但是发现网上有些人讲的和冒泡,插入含糊在一起了,这里贴上自己的理解。选择排序:实现原创 2020-09-14 16:03:58 · 100 阅读 · 0 评论 -
简简单单的冒泡排序
思想冒泡排序(BubbleSort)以其“在排序过程中相邻元素不断交换,一些元素慢慢被换到最后,看起来就像是元素在冒泡一样”而得名,是一种简单的基于关键词比较的排序算法。冒泡排序的原理(以递增序为例)是每次从头开始依次比较相邻的两个元素,如果后面一个元素比前一个要大,说明顺序不对,则将它们交换,本次循环完毕之后再次从头开始扫描,直到某次扫描中没有元素交换,说明每个元素都不比它后面的元素大,至此排序完成。实现void BubbleSort(int* a, int n){//降序 for(int j原创 2020-09-14 15:27:51 · 99 阅读 · 0 评论 -
归并排序的思想与实现(递归与迭代)
归并排序的思想核心思想:归并排序是利用归并的思想实现的排序方法,该算法采用经典的分治策略(分治法将问题分成一些小的问题然后递归求解,而治的阶段则将分的阶段得到的各答案”修补”在一起,即分而治之)。如图:对于有序的两个数组我们可以很容易的进行有序合并,那么我们基于分治的思想, 我们将无序的数组进行分割, 直到分成一个元素,重新进行合并。稳定性 归并排序是一种稳定的排序。存储结构要求 可用顺序存储结构。也易于在链表上实现。时间复杂度 对长度为n的文件,需进行趟二路归并,每趟归并的时间为O(n原创 2020-09-14 15:06:58 · 314 阅读 · 0 评论 -
快排的迭代,递归实现及其优化
快排的思想首先 快排是一种比较排序。具体思想是 选出一个基准值,通过比较找出待排序区间中基准值该放置的位置。实现逻辑:先从数列中取出一个数作为基准数(通常取第一个数)。分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。再对左右区间重复第二步,直到各区间只有一个数。分区的三种方式通常有三种方式来进行基准数的左右分区。左右指针法。挖坑法前后指针法。左右指针实现://左右指针法int PartSort(int* a, int begin, int end原创 2020-09-14 14:52:32 · 661 阅读 · 1 评论 -
深入理解堆 —— 堆的底层实现,堆排序,TopK问题
概念结构特点堆(数据结构)逻辑上:完全二叉树物理上:数组堆是一种顺序存储结构(采用数组方式存储),仅仅是利用完全二叉树的顺序结构的特点进行分析。结点下标计算公式(根节点从0开始)已知二叉树根结点的下标是root,那么它左孩子的下标left=2root+1,右孩子的下标right=2root+2。已知孩子结点的下标(不区分左右)为child,那么双亲的下标为(child-1)/2。如果从1开始,则已知root,则左孩子节点left=2root+1,right=2root+2。已知chil原创 2020-09-10 15:20:51 · 903 阅读 · 0 评论 -
简单易懂的排序方法桶排序 (C语言简易版)
我们首先来了解一下桶排序是什么意思!举个例子有五个同学去考试,这五个同学考得的分数分别是 5分 3分 5分 2分 8分(总分是10分)我们需要将上面的分数由高到低进行排列 得到 8 5 5 3 2具体实现首先我们需要申请一个大小为11的数组 int a[11] 初始化为全0。接着处理每个人的分数 第一个人得了5分 我们将a[5]改为1,第二个人得了3分我们将a[3]改为1,第三个人得了...原创 2019-11-07 23:26:55 · 279 阅读 · 0 评论