简单梳理一下以前学过的排序算法 冒泡排序 平均时间复杂度:O(n²);稳定 比较相邻元素,如果前面的比后面大,就交换两个元素 每一对相邻元素做同样的比较,从开始第一对元素一直比到结尾,一轮结束最后的元素是最大的。 除了每轮比较出来的最大元素,对其他元素重复以上操作。 public void bubb ...
分类:
编程语言 时间:
2021-07-29 16:19:56
阅读次数:
0
什么叫冒泡排序?冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素, 如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的 ...
分类:
编程语言 时间:
2021-07-28 21:24:41
阅读次数:
0
内部排序是指在排序期间数据元素全部存放在内存的排序。外部排序是指在排序期间全部元素的个数过多,不能同时存放在内存,必须根据排序过程的要求,不断在内存和外存之间移动的排序。本次主要介绍常见的内部排序算法。 1. 直接插入排序 直接插入排序的算法思想是把待排序序列a[n]中的n个元素看作是一个有序表和无 ...
分类:
编程语言 时间:
2021-07-19 16:39:46
阅读次数:
0
C++ STL中的算法(Algorithms)作用于容器。它们提供了执行各种操作的方式,包括对容器内容执行初始化、排序、搜索和转换等操作。按照对容器内容的操作可将STL 中的算法大致分为四类: (1)只读算法:指不直接修改其所操作的容器内容的算法。 (2)可变序列算法:指可以修改它们所操作的容器内容 ...
分类:
编程语言 时间:
2021-07-12 18:25:22
阅读次数:
0
选择排序: 数据较少时可以用,缺点:时间复杂度n的平方,优点:空间复杂度小 具体实现: /** * 选择排序 * * @param $array * @return mixed */ public function sort($array) { $len = count($array); if ($ ...
分类:
编程语言 时间:
2021-07-12 18:06:27
阅读次数:
0
快速排序: 总体最优,数据大时性能最好 具体实现:设置一个基准值,小于基准值放左边,大于基准值放右边,最后递归继续排左右两侧的,最后排完后合并 /** * 快速排序 * * @param $array * @return array */ public function sort($array): ...
分类:
编程语言 时间:
2021-07-12 18:06:10
阅读次数:
0
冒泡排序: 数据少时可以用,简单,稳定 具体实现: /** * @param $array * @return mixed */ public function sort($array) { $len = count($array); if ($len 1) { return $array; } / ...
分类:
编程语言 时间:
2021-07-12 18:05:32
阅读次数:
0
NumPy 提供了多种排序的方法。 这些排序函数实现不同的排序算法,每个排序算法的特征在于执行速度,最坏情况性能,所需的工作空间和算法的稳定性。 下表显示了三种排序算法的比较。 种类速度最坏情况工作空间稳定性 'quicksort'(快速排序) 1 O(n^2) 0 否 'mergesort'(归并 ...
分类:
编程语言 时间:
2021-07-05 18:14:50
阅读次数:
0
https://www.cnblogs.com/chuonye/p/10963994.html#4272128 ...
分类:
编程语言 时间:
2021-07-01 17:23:48
阅读次数:
0
一、插入排序介绍 二、插入排序图解 三、插入排序代码实现(Java) ...
分类:
编程语言 时间:
2021-07-01 16:25:44
阅读次数:
0