码迷,mamicode.com
首页 >  
搜索关键字:排序算法    ( 6430个结果
《数据结构与算法之美》08——排序(一)冒泡排序、插入排序、选择排序
一、如何分析一个“排序算法” 从三个维度进行评价和分析: 1. 排序算法的执行效率 a. 最好情况、最坏情况、平均情况时间复杂度 b. 时间复杂度的系统、常数、低阶 c. 比较次数和交换(或移动)次数 2. 排序算法的内存消耗 用空间复杂度来衡量。 原地排序算法,特指空间复杂度是O(1)的排序算法。 ...
分类:编程语言   时间:2020-06-19 11:53:01    阅读次数:41
PHP基础算法
需求:分别用 冒泡排序法,快速排序法,选择排序法,插入排序法,归并排序将下面数组中 的值按照从小到大的顺序进行排序。 $arr=array(11,3,56,62,21,66,32,78,36,76,39,88,34); 冒泡排序(Bubble Sort) 算法原理:是一种简单的排序算法。它重复地走访 ...
分类:编程语言   时间:2020-06-18 16:30:56    阅读次数:49
php冒泡排序
前言:冒泡排序是一种很大众的排序算法,基本思路是,两个相邻的进行比较,如果满足条件,就交换位置,如果不满足,保持不变,依次循环到结束。 冒泡排序算法代码如下: $arr = [36, 26, 8, 21, 6, 23, 1, 3, 16]; function bubbleSort($arr) { i ...
分类:编程语言   时间:2020-06-17 18:08:04    阅读次数:50
手动实现一种时间复杂度为 O(n log n) 的排序算法
var quickSort = function (arr) { if (arr.length <= 1) { return arr; } var centerIndex = Math.floor(arr.length / 2); // 取中间基准 var center = arr.splice(c ...
分类:编程语言   时间:2020-06-17 13:08:41    阅读次数:128
python---常见排序算法
概述 本文中主要讲解一些常见排序算法,分别是冒泡排序,插入排序,选择排序,希尔排序,归并排序,快速排序,堆排序,计数排序 常见排序算法可以分为两大类: 非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。 线性时间非比较类排序 ...
分类:编程语言   时间:2020-06-17 13:03:11    阅读次数:69
算法漫游指北(第十一篇):归并排序算法描述、动图演示、代码实现、过程分析、复杂度
一、归并排序 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。 所谓“分”,指的是将一个 ...
分类:编程语言   时间:2020-06-17 01:03:57    阅读次数:82
[Java数据结构与算法]简单排序之插入排序
算法描述 大多数情况下,在三种简单排序中,插入排序都是最优的选择。虽然插入排序算法仍需要 O(N^2) 的时间,但在一般情况下,它要比冒泡排序快一倍,比选择排序还要快一点。插入排序可以简单表述为:使“标定项”的一侧局部有序,每次将标定项插入有序一侧,同时将另一侧的下一项设为“标定项”。 代码部分 / ...
分类:编程语言   时间:2020-06-16 23:25:17    阅读次数:70
排序—时间复杂度为O(n)的三种排序算法
这三种排序算法分别是桶排序、计数排序和基数排序,之所以它们的时间复杂度能到达O(n),是因为它们都是非基于比较的排序算法,不涉及元素之间的比较操作。 1 桶排序 1.1 原理 将待排数据元素分配到几个有序的桶中,然后对每个桶中的数据元素分别进行排序,每个桶中的数据元素有序后按桶的顺序将数据元素依次取 ...
分类:编程语言   时间:2020-06-16 20:03:08    阅读次数:101
插入排序与希尔排序算法
希尔算法: 先对列表分组,再对每组元素分别做插入排序。 元素分组是通过设置步长(gap,即组的数量)实现的。每一组元素内,相邻元素之间的距离(步长)固定。 插入排序与冒泡排序时间复杂度相同(O(n^2)),但执行速度快,是因为需要执行的代码行数少(寻找到插入位置前,插入排序每次判断仅移动一个元素,冒 ...
分类:编程语言   时间:2020-06-16 15:32:04    阅读次数:59
《数据结构》--内部排序算法比较
题目:各种内部排序算法的时间复杂度分析结果只给出了算法执行时间的阶,或大概执行时间。试通过随机的数据比较各算法的关键字比较次数和关键字移动次数,以取得直观感受。基本要求:(1) 从以下常用的内部排序算法至少选取5种进行比较:直接插入排序;折半折入排序;希尔排序;起泡排序;快速排序;简单选择排序;堆排 ...
分类:编程语言   时间:2020-06-15 22:34:29    阅读次数:61
6430条   上一页 1 ... 18 19 20 21 22 ... 643 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!