书栈网 · BookStack 本次搜索耗时 0.023 秒,为您找到 111015 个相关结果.
  • 快速排序

    947 2020-06-07 《小浩算法》
    快速排序 1. 算法步骤 2. 动图演示 3. JavaScript 代码实现 4. Python 代码实现 5. Go 代码实现 6. C++版 7. Java 代码实现 8. PHP 代码实现 快速排序 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要 Ο(nlogn) 次比较。在最坏状况下则需要 Ο(...
  • 排序算法

    1426 2020-06-07 《小浩算法》
    排序专栏 基本分类 时间复杂度: 如何记忆时间复杂度呢? 啥是稳定: 哪些稳定: 排序专栏 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。是《数据结构与算法》中最基本的算法之一。 我们常说的十大排序算法为:冒泡、选择、插入、希尔、归并、快速、堆、计数...
  • 计数排序

    计数排序 算法原理 计数排序 计数排序(Counting sort) 是一种稳定的线性时间排序算法.计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。计数排序使用一个额外的数组C,其中第i个元素是待排序数组A中值等于i的元素的个数。然后根据数组C 来将A...
  • 桶排序

    桶排序 算法原理 桶排序 桶排序(Bucket sort) ,工作的原理是将数组分到有限数量的桶里。每个桶再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序)。桶排序是鸽巢排序的一种归纳结果。 桶排序是计数排序的升级版。它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定。为了使桶排序更加高效,我们需要做到这两点: ...
  • 桶排序

    1187 2018-07-19 《算法珠玑(C++版)》
    桶排序 (Bucket Sort)的基本思路是: 将待排序元素划分到不同的痛。先扫描一遍序列求出最大值maxV和最小值minV,设桶的个数为k,则把区间[minV, maxV]均匀划分成k个区间,每个区间就是一个桶。将序列中的元素分配到各自的桶。 对每个桶内的元素进行排序。可以选择任意一种排序算法。 将各个桶中的元素合并成一个大的有序序列。假设数据是均...
  • 快速排序

    本节主要讲快速排序。 原文: https://soulmachine.gitbooks.io/algorithm-essentials/content/cpp/sorting/quick-sort/
  • 计数排序

    计数排序 (Counting Sort)是一种O(n)的排序算法,其思路是开一个长度为maxValue-minValue+1 的数组,然后 分配。扫描一遍原始数组,以当前值-minValue作为下标,将该下标的计数器增1。 收集。扫描一遍计数器数组,按顺序把值收集起来。举个例子,nums=[2, 1, 3, 1, 5] , 首先扫描一遍获取最小值和最大...
  • 选择排序

    JavaScript算法-选择排序 JavaScript算法-选择排序 选择排序 选择排序从数组的开头开始,将第一个元素和其他元素进行比较。检查完所有元素后,最小的元素会被放到数组的第一个位置,然后算法会从第二个位置继续。这个过程一直进行,当进行到数组的倒数第二个位置时,所有的数据便完成了排序。 选择排序会用到嵌套循环。外循环从数组的第一个元素一定...
  • 希尔排序

    JavaScript算法-希尔排序 JavaScript算法-希尔排序 希尔排序 这个算法在插入排序的基础上作出了很大的改善。希尔排序的核心理念与插入排序不同,它会首先比较距离较远的元素,而非相邻的元素。和简单的比较相邻元素相比,使用这种方案可以使离正确位置很远的元素更快回到适合的位置。当开始用这个算法遍历数据集时,所有元素之间的距离会不断减小,直...
  • 快速排序

    快速排序 基本思想 步骤 By C++ By Golang 排序过程 快速排序 基本思想 分治:在未排序序列中选择一个基准数(一般为第一个),将小于基准数的放在其左边,大于基准数的放在其右边,即分成两个区间 递归:将上述两个区间,每个区间内执行上述操作,以此类推,直到排序完成 步骤 选择一个基准数,一般为第一个: pivot ...