码迷,mamicode.com
首页 >  
搜索关键字:比较排序    ( 240个结果
【每日算法】计数&基数&桶&位图排序-简介
在前面的文章中,我们介绍的都是基于比较的排序。对于比较排序,对含n个元素的序列进行排序,在最坏情况下都要用O(n logn)次比较(归并排序和堆排序是渐近最优的)。本文将继续介绍以线性时间运行的排序算法,他们使用的是非比较排序,因此下界O(n logn)对它们不适用。计数排序想象下面这种情况:一个班有k个人,需要排成一条纵队,地面上已经用粉笔按从小到大的顺序标明了1到k个号码,要求按身高从低到高排列...
分类:编程语言   时间:2016-02-20 13:24:39    阅读次数:193
算法导论 第八章 线性时间排序(python)
比较排序:各元素的次序依赖于它们之间的比较{插入排序O(n**2) 归并排序O(nlgn) 堆排序O(nlgn)快速排序O(n**2)平均O(nlgn)} 本章主要介绍几个线性时间排序:(运算排序非比较排序)计数排序O(k+n)基数排序O() 第一节:用决策树分析比较排序的下界 决策树:倒数第二层满...
分类:编程语言   时间:2016-02-05 18:30:58    阅读次数:229
冒泡算法
冒泡算法基本思路:对尚未排序的各元素从头到尾依次比较相邻的两个元素是否逆序(与欲排顺序相反),若逆序就交换这两元素,经过第一轮比较排序后便可把最大(或最小)的元素排好,然后再用同样的方法把剩下的元素逐个进行比较,就得到了你所要的顺序。可以看出如果有 n 个元素,那么一共要进行 n-1 轮比较,第 i...
分类:编程语言   时间:2016-01-09 09:47:37    阅读次数:128
算法导论5:基数排序 2016.1.5
今天的这个比较神奇,是一个线性复杂度的排序算法O(n),算法导论在这一部分先证明了比较排序的复杂度下界是nlgn,所以基数排序不是基于比较的排序。 其实这种比较方法我们应该都接触过。假设输入的数都是三位以下的数(当然其他位数也可以,类比一下,这里就假设是三位数、两位数、一位数),那么只需要大致3n....
分类:编程语言   时间:2016-01-06 00:11:29    阅读次数:228
排序算法时间复杂度的下界
《算法导论》中有一节讲的是“(比较)排序算法时间的下界”,本文将论述同一个问题,思路略有差异。本文将从信息熵的角度论述排序算法时间复杂度的下界。若本文论述过程中有错误或是不足,还请各位指正。1. 问题归约 排序,涉及到被排序的序列和排序的方法。(比较)排序算法时间的下界对被排序的序列和排序方法做了以...
分类:编程语言   时间:2015-12-22 19:32:03    阅读次数:219
[经典算法]计数排序
概述: 计数排序是一个非基于比较的排序算法,该算法于1954年由 Harold H. Seward 提出。它的优势在于在对一定范围内的集合排序时,它的复杂度为Ο(n+k)(其中k是元素的范围),快于任何比较排序算法。 计数排序本质上是通过计算无序集合中元素出现的次数来决定集合应该如何排序的。 例如一...
分类:编程语言   时间:2015-12-18 21:07:06    阅读次数:298
读书日记- 线性时间排序算法
在最坏情况下,任何比较排序算法都需要做O(nlgn)次比较。然而,在指定的条件下,线性时间的排序算法可以使得排序在O(n)时间内完成。计数排序 假设n个输入元素中的每一个都是0到k区间内的一个整数,其中k为某个整数。k=O(n)时,排序运行时间为O(n)。主要思想: 创建长度为k的数组C,将对应.....
分类:编程语言   时间:2015-12-15 01:01:37    阅读次数:193
Python流程控制
条件测试: if 条件测试表达式 不同类型的比较方式: 数字:比较大小 字符串:按照ascii码表逐字符比较 列表和元组:自左至右比较各部分的内容 字典:比较排序后的(键、值)列表Python中的真假: 1、非零数字和非空对象为真 2、数字0,空对象和None 为假 3、比较和相等测试会递归地应用于...
分类:编程语言   时间:2015-12-01 23:01:02    阅读次数:141
冒泡排序
冒泡排序: 一个数组中元素进行排序,无论是正序还是倒序,进行比较排序的次数应为最大次数(最大次数为数组长度),可能中间就已经完成大小排序但仍然有必要用最多的次数进行排序。 数组的长度计算方法为:sizeof(数组名)/sizeof(数组数据类型);
分类:编程语言   时间:2015-11-20 01:43:43    阅读次数:207
TreeSet的与众不同
TreeSet添加元素的时候,是根据compareTo 方法来比较排序和判断是否相等.如果返回0,则认为这两个对象在同以位置,是同一个对象.也就是说TreeSet 只会添加compareTo返回0的对象集中的一个对象.为了避免这种情况,需要像下面这样写 @Override public ...
分类:其他好文   时间:2015-11-17 18:43:08    阅读次数:124
240条   上一页 1 ... 15 16 17 18 19 ... 24 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!