码迷,mamicode.com
首页 >  
搜索关键字:排序算法    ( 6430个结果
排序算法之归并
归并排序 归并算法是在分治的思想下,将数组递归的分为两半,分别排序后,再归并成 整个数组。所谓分治,即分而治之。 优点:对于长度为 N 的数组,无论规模多大,排序所需时间总和 NlogN 成正比。 缺点:排序所需额外空间和 N 成正比。 注意:归并排序的核心不是交换数据。 1. 自顶向下的归并排序 ...
分类:编程语言   时间:2020-04-24 23:23:55    阅读次数:114
数据结构与算法-堆排序
树的实际应用 堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序属于选择排序,其最好、最坏、平均时间复杂度均为 O(nlogn) ,他也是 不稳定排序 1. 堆介绍及最大最小堆 堆是具有以下性质的完全二叉树 每个结点的值都大于或等于其左右孩子结点的值,称为大项堆 每个结点的值都小于等于其 ...
分类:编程语言   时间:2020-04-24 20:06:27    阅读次数:68
排序算法 (11.基数排序)
对于给定的n个d位数,取值范围为[0,k],我们使用计数排序比较元素的每一位,基数排序耗时Θ(n+k),那么基数排序的复杂度为Θ(d(n+k))。 ...
分类:编程语言   时间:2020-04-24 13:08:25    阅读次数:59
排序算法 (10.桶排序)
桶排序是计数排序的升级版。它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定。为了使桶排序更加高效,我们需要做到这两点: 1.在额外空间充足的情况下,尽量增大桶的数量 2.使用的映射函数能够将输入的 N 个数据均匀的分配到 K 个桶中 图解 代码实现 效率分析 1. 什么时候最快 当输入 ...
分类:编程语言   时间:2020-04-23 11:52:34    阅读次数:61
堆排序
在经典堆排序算法中直接用fixDown操作。for循环构造堆,然后while循环把最大元素和最末尾的元素互换并且修复堆,直到堆为空为止。 堆排序比快速排序慢,但比归并排序快,而且不需要额外的储存空间,且运行时间对输入并不是特别敏感。 1 template <class Item> 2 void he ...
分类:编程语言   时间:2020-04-22 23:00:39    阅读次数:110
常用排序算法-直接插入排序
介绍 直接插入排序算法是一种简单,直观且稳定的排序算法。直接插入排序的基本思路是将一个元素插入到已经排好序的序列中,从而得到一个新的有序序列。 原理 直接插入排序的原理就好比抓扑克牌一样,我们每新抓到一张扑克后,会扫描已经有序的扑克牌,以升序为例,从大到小扫描扑克牌,当出现扑克小于当前的新扑克时,将 ...
分类:编程语言   时间:2020-04-22 22:51:19    阅读次数:78
排序篇--插入排序
算法描述:插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 动画演示: 一般来说,插入排序都采用in-place在数组上实现。具体算法流程如下: 1.从第一个元素开始,该元素可 ...
分类:编程语言   时间:2020-04-21 23:51:29    阅读次数:59
排序算法总结
1交换排序 1.1交换排序 冒泡排序(从前向后冒泡) 1.2交换排序 选择排序(选择排序第i个位置的元素跟后面的其他元素比较,找到比第i个元素小且最小的元素,与它进行交换) 2插入排序 2.1直接插入排序(带有标志位的) 2.2直接插入排序(不带有标志位) 2.3希尔排序 2.4归并排序 "参考博文 ...
分类:编程语言   时间:2020-04-21 13:22:09    阅读次数:68
排序算法 (08.堆排序)
什么是堆 1.所有 父节点 的值 都大于 (小于)子节点 的 值 2.属于完全 二叉树 堆排序思路 1.先定义一个调整堆的函数, 保证以 某点为 父节点进行调整, 并且保证 不 打乱 子节点 以下的 子树的 堆结构 , 所以 用到 递归思想 2.从头遍历 到 树尾, 先进行 首尾交换, 再进行 构建 ...
分类:编程语言   时间:2020-04-21 09:31:21    阅读次数:81
常见的排序算法
插入排序 直接插入排序,折半插入排序,2-路插入排序,希尔排序 快速排序 冒泡排序,快速排序(冒泡排序改进), 选择排序 简单选择排序,树形选择排序,堆排序 归并排序 基数排序 ...
分类:编程语言   时间:2020-04-20 13:41:41    阅读次数:63
6430条   上一页 1 ... 29 30 31 32 33 ... 643 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!