1、快速排序的时间复杂度(平均时间复杂度为) 数组本身就有序时,效果很差为O(n^2) 2、STl入门 (1) C++内联函数(inline)和C中宏(#define)区别 内联函数有类型检查,宏定义没有;C++编程尽量使用内联函数 template inline const T& max(cons...
分类:
其他好文 时间:
2014-07-26 14:41:03
阅读次数:
196
使用golang实现简单的websocket聊天室...
分类:
其他好文 时间:
2014-07-26 02:55:26
阅读次数:
239
// 在thin pool中创建一个新thin device
// 调用路径:driver.Create()
1.1 func (devices *DeviceSet) AddDevice(hash, baseHash string) error {
//查找父device
baseInfo, err := devices.lookupDevice(baseHash)
if err != n...
分类:
移动开发 时间:
2014-07-26 02:53:26
阅读次数:
347
堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都...
分类:
其他好文 时间:
2014-07-25 14:08:42
阅读次数:
228
快速排序(Quicksort) 是对冒泡排序的一种改进,它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 设要排序的数组是A...
分类:
移动开发 时间:
2014-07-24 22:28:52
阅读次数:
213
GoLang的官网被墙,镜像下载地址:http://tip.golang.so/dl/ 或者http://golang.so/dl/安装说明:http://tip.golang.so/doc/install其实只要设置一下环境变量就ok了。export GOROOT=$HOME/goexport P...
分类:
其他好文 时间:
2014-07-24 17:27:15
阅读次数:
246
1.1
算法思路——
该算法在数组中选定一个元素作为主元(一般选第一个),然后以这个主元为参考对象将数组分为两个部分,第一部分都是小于或者等于主元,第二部分都是大于或者等于主元。然后对第一和第二部分递归地使用快速排序算法,直到分到最小的小组为止。
1.2
时间复杂度——
在最差的情况下,要把n个元素的数组划分,需要n次比较和n次移动。假设用T(n)
来表示使用快速排序算法来排序n个元素...
分类:
其他好文 时间:
2014-07-24 10:36:04
阅读次数:
259
本文介绍从无序数组中选择最大值和最小值的最优算法。进而介绍采用快速排序思想的 RANDOMIZED-SELECT 选择算法来查找给定位置 i 的值,或获取中位数(median)。快速排序会递归地处理划分的两边,而 RANDOMIZED-SELECT 则只处理一边。所以快速排序的期望运行时间是 Θ(n...
分类:
其他好文 时间:
2014-07-24 04:58:28
阅读次数:
355