参看:数据结构与算法分析-c语言描述public class Main { public static void main(String[] args) { String[] a = { "a", "d", "e", "f", "m" }; String[] b =...
分类:
编程语言 时间:
2014-06-18 16:08:33
阅读次数:
211
最近听说golang连接orcale比较麻烦,遂决定一探究竟,结果发现还的确有点费事,不过终究还是可以实现的。
分类:
其他好文 时间:
2014-06-18 13:53:21
阅读次数:
224
/* 合并排序 O(n*lgn) */ #include using namespace std; #define MAXN 100 int a[MAXN]; void Merge(int a[MAXN],int lef...
分类:
其他好文 时间:
2014-06-18 13:01:30
阅读次数:
229
[1.1]使用库语言排序算法本文地址: http://blog.csdn.net/caroline_wendy如果不缺少内存, 可以直接使用库的排序算法.使用库语言的排序程序:C语言性能最好的算法是快速排序(quick sort).C++性能最好的是集合(set)的排序算法.C语言代码:/*
* main.cpp
*
* Created on: 2014.6.12
* Auth...
分类:
其他好文 时间:
2014-06-18 00:40:02
阅读次数:
269
概述:排序算法可分为比较性的排序,以及运算性的排序;这里详细介绍这些排序的原理,性能,实现,以及应用场合。前面是维基百科的介绍,这里介绍几个比较典型的算法。理论计算复杂性理论大O符号全序关系列表稳定性比较排序自适应排序排序网络整数排序交换排序冒泡排序鸡尾酒排序奇偶排序梳排序侏儒排序快速排序臭皮匠排序...
分类:
其他好文 时间:
2014-06-18 00:03:48
阅读次数:
483
归并排序(merging sort): 包含2-路归并排序, 把数组拆分成两段, 使用递归, 将两个有序表合成一个新的有序表.归并排序(merge sort)的时间复杂度是O(nlogn), 实际效果不如快速排序(quick sort)和堆排序(heap sort),但是归并排序是稳定排序, 而.....
分类:
其他好文 时间:
2014-06-17 23:47:38
阅读次数:
299
排序思想:每次排序区间的第一个元素作为基准,把此区间内比基准大的元素放在基准右边,比基准小的元素放在基准左边。
性能分析:从空间复杂度方面,快速排序是递归的,每层递归调用时的指针和参数均要用栈来存放,递归调用次数与二叉树的深度一致。因此,在理想情况下,及每一趟排序都将记录序列均匀的分隔成长度接近的两个子序列,则需要栈空间为O(logn);在最坏情况下,即每趟排序之后,基准元素位置均偏向子序列的一...
分类:
其他好文 时间:
2014-06-17 21:55:05
阅读次数:
201
一:截图二:快速排序详解快速排序法(QuickSort)是一种非常快的对比排序方法。它也Divide-And-Conquer思想的实现之一。自从其产生以来,快速排序理论得到了极大的改进,然而在实际中却十分难以编程出正确健壮的代码。本文将对快速排序算法的基本理论和编程实践方面做作一个全面的讲解。在本文...
分类:
其他好文 时间:
2014-06-17 21:10:17
阅读次数:
244
归并排序(merging Sort) 详解 及 代码本文地址: http://blog.csdn.net/caroline_wendy归并排序(merging sort): 包含2-路归并排序, 把数组拆分成两段, 使用递归, 将两个有序表合成一个新的有序表.归并排序(merge sort)的时间复杂度是O(nlogn), 实际效果不如快速排序(quick sort)和堆排序(heap sort)...
分类:
其他好文 时间:
2014-06-17 16:19:56
阅读次数:
232
一. 算法描述 快速排序:快速排序采用分治法进行排序,首先是分割,选取数组中的任意一个元素value(默认选用第一个),将数组划分为两段,前一段小于value,后一段大于value;然后再分别对前半段和后半段进行递归快速排序。其实现细节如下图所示:二. 算法实现/*================....
分类:
其他好文 时间:
2014-06-17 13:15:16
阅读次数:
211