//选择排序(Select 
Sorting)也是一种简单的排序方法。它的基本思想是:第一次从R[0]-R[n-1]中选取最小值,与R[0]交换,第二次从R[1]-R[n-1]中选取最小值,与R[1]交换,第三次从R[2]-R[n-1]中选取最小值,与R[2]交换,...,第i次从R[i-1]-R[n...
                            
                            
                                分类:
编程语言   时间:
2014-05-23 03:20:00   
                                阅读次数:
217
                             
                    
                        
                            
                            
                                快速排序如同其名,是排序中性能比较好的一个排序算法,当数组是顺序的话,他的最差的时间复杂度是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
                             
                    
                        
                            
                            
                                在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
                             
                    
                        
                            
                            
                                活动安排问题要求高效地安排一系列争用某一公共资源的活动,贪心算法提供了一个简单的方法,使尽可能多的活动能兼容地使用公共资源。贪心算法并不总能求得问题的整体最优解,但对于活动安排问题,贪心算法却能做到,使得最终所确定的相容活动集合的规模最大,证明不在这里给出。代码如下:
def greedyManage(meeting):
	length=len(meeting)
	meeting.sort(ke...
                            
                            
                                分类:
编程语言   时间:
2014-05-21 14:13:42   
                                阅读次数:
232
                             
                    
                        
                            
                            
                                昨晚折腾了一个晚上,连这一道题目都没AC,太受打击了!这里倒不是算法的问题,主要是既要考虑输出的字符串按字典序排列,又要去掉重复的字符串。本想直接在不保存所有字符串的前提下,直接按照要求输出字符串,但折腾了一晚上,还是决定放弃了,依然是使用最直接的方法,以空间换取结果,将所有的字符串保存到一个字符串数组中,由于全排列后的字符串数最大为9!=362880,故开辟一个362900大的字符串数组用来保存这些字符串,而后对这些字符串进行排序,先用了选择排序,通过strcpy字符串进行排序,结果争取,但第三组测试用例...
                            
                            
                                分类:
其他好文   时间:
2014-05-21 13:26:39   
                                阅读次数:
236