快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。 分治法的基本思想 分治法的基本思想是:将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。...
分类:
其他好文 时间:
2014-08-27 16:33:48
阅读次数:
193
想将mysql 的TCP 封死,所有外部链接由我的proxy来控制,so 写了一个 tcp 转 unix socket 的 proxy。
package main
import (
"os"
"fmt"
"net"
"io"
"sync"
"time"
)
type proxy struct{
Host string
Port string
Local string...
分类:
其他好文 时间:
2014-08-27 00:27:36
阅读次数:
270
论坛 http://www.golangtc.com/ 入门教程: http://tour.golangtc.com/ http://www.golang-book.com/ 开发工具配置 sublime: http://www.cnblogs.com/sevenyuan/archive/2013/03/01/2938351.html LiteIDE: http://...
分类:
编程语言 时间:
2014-08-26 20:00:56
阅读次数:
212
快速排序的分治的两种实现方式1,两个指针分别从前面和后面向中间移动// 快速排序有两种partition的方式 // 方式一:两个指针从两端向中间靠拢 private int partation1(int[] array, int start, int end) { int...
分类:
其他好文 时间:
2014-08-26 19:18:06
阅读次数:
178
这是我的博文系列《内部排序算法》的第一篇。所谓排序,就是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来。所谓内部排序,是指在排序过程中,若整个文件都是放在内存中处理,排序时不涉及数据的内、外存交换(外排序的定义则相反)。
内部排序法按照策略可以划分为五类:插入排序、选择排序、交换排序、归并排序和分配排序。待排文件的存储方式采用顺序表(或直接用向量)作为存储结构(其他的...
分类:
其他好文 时间:
2014-08-26 00:31:45
阅读次数:
352
TCO2014的编程赢取门票的题目,大致是从一个数组(大小为K),可以选取1~K个数,必须保证这n个数是从1~n,返回所有的选取方法个数。
思路:首先是得到从1开始连续的数,保存每个数的个数。然后通过排列组合得到结果。
分类:
编程语言 时间:
2014-08-26 00:24:15
阅读次数:
307
关于快排的递归实现关于快排的递归实现Table of Contents1 引子2 源码1 引子 自己以前写过一篇关于快速排序的blog,但是没采用递归,而且当时的blog是完全手写的.但是现在都用Emacs工作,所以就分开了. 虽然以前写过快排,但是过了一段时间再来写,虽然有递归的引子,但还是对递归...
分类:
其他好文 时间:
2014-08-26 00:12:55
阅读次数:
405
日常操作中常见的排序方法有:冒泡排序、快速排序、选择排序、插入排序、希尔排序,甚至还有基数排序、鸡尾酒排序、桶排序、鸽巢排序、归并排序等。冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就...
分类:
编程语言 时间:
2014-08-25 21:07:44
阅读次数:
373
#include using namespace std;void swap(int* p,int* q){ int temp = *p; *p = *q; *q = temp;}//快速排序int partition(int *ptr,int first, int last){ ...
分类:
其他好文 时间:
2014-08-25 21:07:04
阅读次数:
268