快速排序如同其名,是排序中性能比较好的一个排序算法,当数组是顺序的话,他的最差的时间复杂度是O(N^2),一般的时间复杂度是O(n*lgn).
快速排序的思想就是分治,每一趟排序过程都把一个数放到最终的位置上面去。然后这个位置把数组分为前半部分和后半部分。针对前半部分和后半部分再递推进行快速排序。
快排的java实现:
public class Sort {
public stat...
分类:
其他好文 时间:
2014-05-23 01:44:26
阅读次数:
218
TwoWaysSorting
sort....
NumbersChallenge
01dp...
MixingColors
loading........
分类:
其他好文 时间:
2014-05-23 01:19:21
阅读次数:
175
【题目】
Given a collection of numbers, return all possible permutations.
For example,
[1,2,3] have the following permutations:
[1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], and [3,2,1].
【题意】
给定一个数组,生成所有的全排列
【思路】
递归,类DFS...
分类:
其他好文 时间:
2014-05-23 01:08:26
阅读次数:
194
剑指offer上的全排列相关题目。
输入一个含有8个数字的数组,判断有么有可能把这8个数字分别放到正方体的8个顶点上,使得正方体上三组相对的面上的4个顶点的和相等。
思路:相当于求出8个数字的全排列,判断有没有一个排列符合题目给定的条件,即三组对面上顶点的和相等。
代码:...
分类:
其他好文 时间:
2014-05-23 00:26:58
阅读次数:
418
在DAG中DFS中顶点的出栈顺序即逆拓扑序。
def topological_sort( graph ):
is_visit = dict( ( node, False ) for node in graph )
li = []
def dfs( graph, start_node ):
for end_node in...
分类:
编程语言 时间:
2014-05-22 23:12:10
阅读次数:
487
??
qsort和sort的区别
First qsort
基本快速排序的方法,每次把数组分成两分和中间的一个划分值,而对于有多个重复值的数组来说,基本排序的效率较低。集成在C语言库函数里面的的qsort函数,使用 三 路划分的方法解决这个问题。所谓三路划分,是指把数组划分成小于划分值,等于划分值和大于划分值的三个部分。
函数对buf 指向的数据按升序排序。
使...
分类:
其他好文 时间:
2014-05-22 23:10:46
阅读次数:
389
#include
using namespace std;
class Salary//工资类
{
public:
void set_salarys( );//设置工资
void add_salarys(int x);//增加工资
void sort_salarys();//根据工资由大到小排序
void show_salarys( );//显示工人...
分类:
其他好文 时间:
2014-05-22 17:33:38
阅读次数:
312
这几个题很典型也是国外一些知名公司经常会问到的题
3Sum:
排序,避免重复,时间复杂度O(n^2)
class Solution {
public:
vector > threeSum(vector &num) {
int len=num.size();
sort(num.begin(),num.begin()+len);...
分类:
其他好文 时间:
2014-05-22 17:25:02
阅读次数:
259
建议10:必须知道如何实现类比较器所谓的比较器就只是一个接口,也只需要实现一个方法(public int CompareTo(object
obj)).实现了比较器有什么用呢?除了顾名思义的可以比较两个实例的大小.还可以用来排序(比如是List集合,就直接调用.Sort()方法就可以
了.方便至极....
分类:
其他好文 时间:
2014-05-22 14:29:37
阅读次数:
186
昨晚折腾了一个晚上,连这一道题目都没AC,太受打击了!这里倒不是算法的问题,主要是既要考虑输出的字符串按字典序排列,又要去掉重复的字符串。本想直接在不保存所有字符串的前提下,直接按照要求输出字符串,但折腾了一晚上,还是决定放弃了,依然是使用最直接的方法,以空间换取结果,将所有的字符串保存到一个字符串数组中,由于全排列后的字符串数最大为9!=362880,故开辟一个362900大的字符串数组用来保存这些字符串,而后对这些字符串进行排序,先用了选择排序,通过strcpy字符串进行排序,结果争取,但第三组测试用例...
分类:
其他好文 时间:
2014-05-21 13:26:39
阅读次数:
236