python 插入排序和 快速排序

Jul 11 2010 Published by Tony under Other,python

#python 写的 插入排序和 快速排序

def insert_sort(seq):
    for i in range(len(seq)):
        j=i-1
        value=seq[i]
        while(j>=0and seq[j]>value):
            seq[j+1]=seq[j]
            j=j-1
        seq[j+1]=value
    return seq
def quick_sort(seq):
    if(len(seq)<=1):return seq
    #把seq[0]作为中值
    left=[y for y in seq[1:] if y < seq[0]]
    right=[y for y in seq[1:] if y >= seq[0]]
    return quick_sort(left)+[seq[0]]+quick_sort(right)
 
if __name__ == "__main__": 
    seq=[5,3,6,7,1,9,3]
    print insert_sort(seq)
    print quick_sort(seq)

No responses yet

算法:Java 版 汉诺塔

Jul 08 2010 Published by Tony under Other

算法:Java 版 汉诺塔

package test;
 
public class Tower {
 
	public static void main(String[] args)throws Exception{
		move(4,'A','B','C');
	}
 
	public static void move(int n,char from,char to,char mid){
		if(n==1){
			System.out.println("把盘子"+n+"从"+from+"移动到"+to);
			return;
		}
		move(n-1,from,mid,to);
		System.out.println("把盘子"+n+"从"+from+"移动到"+to);
		move(n-1,mid,to,from);
	}
 
}

No responses yet

算法:关于二进制

Jul 08 2010 Published by Tony under Java,Other

package test;
 
public class BitAdd {
 
	/**
	 * 算法,给定一个二进制数n中1所在的位置,求3*n的二进制表达式中1的所在位置
	 * 例如 50 的二进制位110010 那么这个二进制数1的位置为{1,4,5},50*3=150 求150的二进制数的1所在位置 
	 * 先利用2*n等于n左移以为,计算出2*n,再2*n+n 得出解,解最终打印出来了。关键步骤就是二进制加法。
 
	 */
	public static void main(String[] args) {
		int[] A={1,4,5};
		int[] B={2,3,4,5};
		Bit3Times(A);
		System.out.println("");
		Bit3Times(B);
 
	}
	public static void Bit3Times(int[] A){
		int[] B=new int[A.length];
		int[] C=new int[A.length+1];
		for(int i=0;i<A.length;i++){
			B[i]=A[i]+1;
			C[i]=A[i];
		}
 
		for(int i=0;i<C.length;i++){
			if(i<B.length){
				for(int j=0;j<B.length;j++){
					if(C[i]==B[j]){
						C[i]=C[i]+1;
						break;
					}else if(B[j]<C[i+1]&&B[j]>C[i]){
						C[B.length+i]=B[j];
					}
				}
			}
		}
		if(C[B.length-1]==B[B.length-1]){
			C[B.length-1]++;
		}
		int num=0;
		for(int i=0;i<C.length;i++){
			if(C[i]>0) num++;
			System.out.printf("%s,", C[i]);
		}
	}
 
}

No responses yet

用7种语言实现的数据结构与算法

May 04 2009 Published by Tony under Other

有很多人在找数据结构方面的资料吧。这个可以看看,很不错。
用7种语言实现的数据结构与算法

No responses yet