#include #include #include typedef int ElementType; #define DIGIT 31 #define RADIX_10 10 int GetNumInPos(ElementType Num,int Pos) { ElementType Temp =... ...
分类:
编程语言 时间:
2018-08-05 22:39:30
阅读次数:
198
文字描述 基数排序是和前面各类排序方法完全不相同,前面几篇文章介绍的排序算法的实现主要是通过关键字间的比较和移动记录这两种操作,而实现基数排序不需要进行记录关键字间的比较。基数排序是一种借助多关键字排序的思想对单逻辑关键字进行排序的方法。先介绍下什么是多关键字排序,以引入链式基数排序算法。 先介绍什 ...
分类:
编程语言 时间:
2018-07-31 21:57:13
阅读次数:
172
选择排序,冒泡排序,快速排序,归并排序,插入排序,希尔排序,计数排序,桶排序,基数排序 以上是一些常用的排序算法。 选择排序 for(int i = 0; i using namespace std; int n; int a[10] = {9, 19, 7, 2, 4, 5, 6, 8, 10, ...
分类:
编程语言 时间:
2018-07-28 12:03:28
阅读次数:
174
举个例子,一位数组,从小到大进行排序。 常见的排序,是冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序、基数排序、桶排序等。 1.冒泡排序 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,一次比较两个相邻的元素,如果他们的顺序(如从 ...
分类:
编程语言 时间:
2018-07-26 00:21:57
阅读次数:
238
通常所说的排序算法往往指的是内部排序算法,即数据记录在内存中进行排序。 排序算法大体可分为两种: 一种是比较排序,时间复杂度O(nlogn)~O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序 另一种是非比较排序,时间复杂度可以达到O(n),主要有:基数排序,基数排序,桶 ...
分类:
编程语言 时间:
2018-07-21 21:33:03
阅读次数:
164
冒泡排序 两数相较,大的数下沉,小的数上升。 function bubbleSort(array $arr) { for ($i=0, $len=count($arr); $i < $len; $i++) { $flag = false; for ($j=0; $j < $len-1; $j++) ...
分类:
编程语言 时间:
2018-07-17 19:13:22
阅读次数:
203
这是三种线性时间复杂度的排序算法,它们是用运算而不是比较来确定排序顺序的 一、基数排序 1.简介 它一种与其他排序算法完全不同的排序方法,其他的排序算法都是通过关键字之间的比较和移动来完成的,而它是采用一种多关键字的思想。 多关键字的思想:给定一组数据,我可以先按个位的大小对所有数进行排序,然后再按 ...
分类:
编程语言 时间:
2018-07-16 11:15:26
阅读次数:
202
下载地址: "网盘下载" 本书是国外数据结构与算法分析方面的经典教材,使用卓越的Java编程语言作为实现工具讨论了数据结构(组织大量数据的方法)和算法分析(对算法运行时间的估计)。 随着计算机速度的不断增加和功能的日益强大,人们对有效编程和算法分析的要求也不断增长。本书将算法分析与最有效率的Java ...
分类:
编程语言 时间:
2018-07-14 19:04:45
阅读次数:
188
一、基数排序 局限:只能处理整数,且位数不能太大。 import random from timewrap import * def list_to_buckets(li, iteration):#这个是用来比较每个位置的大小的数字 """ 因为分成10个本来就是有序的所以排出来就是有序的。 :pa ...
分类:
编程语言 时间:
2018-07-07 11:21:44
阅读次数:
186
之前的排序都是基于比较的排序,而桶排序是基于数据状况的排序,这就比较麻烦了,虽然很快,可是分析数据状况是很繁琐的。桶排序 是可以实现稳定排序的。常用有两种实现,一种是计数排序,一种是基数排序 (最后一节)。 桶排序的扩展,排序后的最大相邻数差值问题。有N个数字,建立N+1个桶,最大的差值不可能来自一 ...
分类:
其他好文 时间:
2018-07-03 19:50:52
阅读次数:
137