#include#include#includestruct Node{ int key; Node *next; Node(int k) { key = k; next = NULL; }};void Insert(Node **phead...
分类:
其他好文 时间:
2014-08-26 21:15:56
阅读次数:
154
日常操作中常见的排序方法有:冒泡排序、快速排序、选择排序、插入排序、希尔排序,甚至还有基数排序、鸡尾酒排序、桶排序、鸽巢排序、归并排序等。冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就...
分类:
编程语言 时间:
2014-08-25 21:07:44
阅读次数:
373
学渣乱搞系列之后缀数组 by 狂徒归来 后缀数组,其nlogn的构造方法,比较麻烦,十几个循环,基数排序?计数排序?各种排序,各种凌乱,学渣表示鸭梨很大啊!学渣从《挑战程序设计竞赛》中偷学了一点nlog2n的构造方法。字符串后缀(Suffix)是指从字符串的某个位置开始到其末...
分类:
其他好文 时间:
2014-08-23 12:30:30
阅读次数:
217
微信,庞大的用户基数,极强的用户粘性,在近两年吸引了无数的开发者注意力。 Nodejs,近两年发展非常快的开发工具,尤其适合构建移动后台。本文就以笔者自己开发的实例,来描述如何基于Nodejs开发属于自己的微信公众号。...
分类:
微信 时间:
2014-08-22 12:59:38
阅读次数:
334
什么是数字数字是属于抽象数学系统的一个单位,服从特定的顺序法则、加法法则和乘法法则。位置记数法数字是用位置记数法编写的。最右边的数位表示它的值乘以基数的0次幂,紧挨着这个数的左边的数位表示它的值乘以基数的1次幂,依此类推。记数系统二进制、八进制、十进制和十六进制。二进制八进制二进制十六进制十进制00...
分类:
其他好文 时间:
2014-08-20 22:26:42
阅读次数:
295
经典的排序算法有十种,分别是:选择排序、插入排序、希尔排序、冒泡排序、堆排序、合并排序、快速排序、计数排序、基数排序和桶排序。
下面对这些算法分类如下:
选择排序:简单选择排序、堆排序
插入排序:直接插入排序、二分插入排序、希尔排序
快速排序:快速排序、随机化快速排序
线性时间排序:计数排序、基数排序、桶排序
其他:冒泡排序、合并排序
这些排序排序算法的时间复杂度,稳...
分类:
其他好文 时间:
2014-08-20 16:31:32
阅读次数:
185
在箱子排序中,虽然时间复制度只有(n),但如果其箱子序列较大的话将会导致程序的空间复杂度较大,所以对于对于属性值跨度比较大的序列可以采用基数排序法。
概述:具体的做法是并不直接对这些数排序,而是采用一些基数来分解这些数,例如:用基数10来分解3725可以得到3、7、2和5。而利用60来分解可以得到1、2、5。然后再根据每一位基数从低位到高位对原数据进
行排序,即若最长的基数有m位,直到...
分类:
其他好文 时间:
2014-08-19 22:27:55
阅读次数:
208
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。 本文将依次介绍上述八大排序算法。算.....
分类:
其他好文 时间:
2014-08-19 14:31:04
阅读次数:
280
基数排序(radix sort)是属于“分配式排序”(distribution sort),基数排序法又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用。
排序思想:
首先按照数据的最低位(个位)将数据分配到0~9十个桶中,然后依次将这些桶中的数据取出来得到按照个位排序后的结果,然后...
分类:
其他好文 时间:
2014-08-19 12:58:54
阅读次数:
253
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。
常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。
本文将依次介绍上述八大排序算法。
算法一:插入排序
插入排序示意图
插入排序是一种最简单直观的排序算法,它的工作原理是...
分类:
其他好文 时间:
2014-08-18 14:37:12
阅读次数:
255