排序算法
文章平均质量分 84
ゞ浪人与酒丶0
有一种力量无人能抵挡,它永不言败生来倔强。有一种理想照亮了迷茫,在那写满荣耀的地方。
展开
-
排序算法 - 堆排序
文章目录1. 什么是堆堆排序 1. 什么是堆 堆的本质上是一种完全二叉树,它分为两个类型 最大堆: 最大堆的任何一个父节点的值,都大于或等于它左、右孩子节点的值 最小堆: 最小堆的任何一个父节点的值,都小于或等于它左、右孩子节点的值 堆的根节点叫做 堆顶 最大堆和最小堆的特点决定了 最大堆的堆顶是整个堆中的最大元素,最小堆的堆顶就是整个堆中的最小元素 该数组从逻辑上讲就是一个堆结构,我们用简单的公式来描述一下堆的定义就是: 大顶堆:arr[i] >= arr[2i+1] &&a原创 2021-06-20 23:36:08 · 301 阅读 · 1 评论 -
排序算法 - 计数排序
文章目录概念:案例:计数排序优缺点 概念: 计数排序不是一个比较排序算法,该算法于1954年由 Harold H. Seward提出,通过计数将时间复杂度降到了O(N),利用数组下标来缺的元素的正确位置 案例: 假设数组中有10个随机数,取值范围0~10,要求用最快的速度把这20个证书从小到大进行排序 考虑到这些整数只能够在 0、1、2、3、4、5、6、7、8、9、10 这11个数中取值,取值范围有限。所以,可以根据这有限的范围,建立一个长度为11的数组,数组下标从0-10,元素初始值全为0 假设1原创 2021-06-24 15:39:44 · 346 阅读 · 1 评论 -
排序算法 - 快速排序
简介 同冒泡排序一样,快速排序也属于交换排序,通过元素之间的比较和 交换位置来达到排序的目的。 不同的是,冒泡排序在每一轮中只把1个元素冒泡到数列的一端,而快速排序则在每一轮挑选一个基准元素,并让其他比它大的元素移动到数列一边,比它小的元素移动到数列的另一边,从而把数列拆分成两个部分。 ...原创 2021-05-13 00:58:51 · 946 阅读 · 9 评论 -
排序算法 -鸡尾酒排序
简介 鸡尾酒排序是冒泡排序的一种,又称为来回排序。它比冒泡排序要高级点, 冒泡排序的每一个元素都可以像小气泡一样,根据自身大小,一点一点地向着数组的一侧移动。算法的每一轮都是从左到右来比较元素,进行单向的位置交换。而鸡尾酒排序元素比较和交换过程是双向的。 举例,有数组 int[] array={5,8,6,3,9,2,1,7}; 第一趟排序: 从左往右 第一次排序:5 和 8 比较,5 小于 8 ,位置不变: 5,8,6,3,9,2,1,7 第二次排序:8 和 6 比较,8 大于 6 ,交换位置原创 2021-05-10 17:49:42 · 329 阅读 · 1 评论 -
排序算法 - 冒泡排序
文章目录简介 简介 冒泡排序是一种非常主流的排序算法,冒泡排序的英文(Bubble sort),它是一种基础的交换排序。 原理 : 比较两个相邻的元素,将值大的元素交换至右端。 思想: 把相邻的元素两两比较,当一个元素大于右侧相邻元素时,交换他们的位置。当一个元素小于或等于右侧相邻元素时,位置不变。 举例说明:要排序数组:int[] array={5,8,6,3,9,2,1,7}; 第一趟排序: 第一次排序:5 和 8 比较,5 小于 8 ,位置不变: 5,8,6,3,9,2,1,7 第二次排原创 2021-05-07 15:27:08 · 345 阅读 · 0 评论