编写完成重点数据结构和算法: 0.链表 1.栈 2.队列 3.二叉树数据结构和构建 4.前序中序后序遍历二叉树 5.构建哈夫曼树(最优二叉树) 6.图数据结构,图的深度优先遍历和广度优先遍历 7.拓扑排序 8.直接插入排序 9.希尔排序 10.希尔排序 11.冒泡排序 12.快速排序 13.直接选择...
分类:
其他好文 时间:
2015-01-07 01:50:00
阅读次数:
205
交换类排序:1:冒泡排序O(n^2),空间复杂度O(1)
2:快速排序O(n乘以log以2为底,n的对数),空间复杂度O(log以2为底,n的对数)
//冒泡排序
void BubbleSort(int R[],int n)
{
int i,j,tmp,flag;
for(i=0;i
{
flag=0;
for(j=n-1;...
分类:
编程语言 时间:
2015-01-06 18:07:29
阅读次数:
170
排序算法注意点:
插入类排序:1:直接插入排序O(n^2)
2:折半插入排序O(n^2)
3:希尔排序 O(n乘以log以2为底,n的对数)
空间复杂度都是O(1)
交换类排序:1:冒泡排序O(n^2),空间复杂度O(1)
2:快速排序O(n乘以log以2为底,...
分类:
编程语言 时间:
2015-01-06 18:03:00
阅读次数:
165
奇偶排序,或奇偶换位排序,或砖排序,是一种相对简单的排序算法,最初发明用于有本地互连的并行计算。这是与冒泡排序特点类似的一种比较排序。
该算法中,通过比较数组中相邻的(奇-偶)位置数字对,如果该奇偶对是错误的顺序(第一个大于第二个),则交换。下一步重复该操作,但针对所有的(偶-奇)位置数字对。如此交替进行下去。
处理器数组的排序
在并行计算排序中,每个处理器对应处理一...
分类:
编程语言 时间:
2015-01-06 13:54:29
阅读次数:
225
快速排序原理是找出一个元素(理论上可以随便找一个)作为基准(pivot),然后对数组进行分区操作,使基准左边元素的值都不大于基准值,基准右边的元素值 都不小于基准值,如此作为基准的元素调整到排序后的正确位置。递归快速排序,将其他n-1个元素也调整到排序后的正确位置。最后每个元素都是在排序后的正 确位...
分类:
编程语言 时间:
2015-01-06 13:41:04
阅读次数:
286
冒泡排序(Bubble Sort,台湾另外一种译名为:泡沫排序)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
冒泡排序对个项目需要O()的比较次数,且可以原地排序。尽管这个算法是最简单了解和实...
分类:
编程语言 时间:
2015-01-06 11:59:41
阅读次数:
165
鸡尾酒排序,也就是定向冒泡排序, 鸡尾酒搅拌排序, 搅拌排序 (也可以视作选择排序的一种变形), 涟漪排序, 来回排序 or 快乐小时排序,
是冒泡排序的一种变形。此算法与冒泡排序的不同处在于排序时是以双向在序列中进行排序。
与冒泡排序不同的地方:
鸡尾酒排序等于是冒泡排序的轻微变形。不同的地方在于从低到高然后从高到低,而冒泡排序则仅从低到高去比较序列里的每个元素。他可以得...
分类:
编程语言 时间:
2015-01-06 11:56:29
阅读次数:
186
1.实现冒泡排序【描述】请根据自己的理解编写冒泡排序算法,数组大小1000以内【输入】第一行是n,表示数组的大小,接着n行是数组的n个元素。【输出】排序之后的结果,一个元素一行。【冒泡排序原理】
分类:
编程语言 时间:
2015-01-05 21:48:52
阅读次数:
312