摘要: publicclass shellSort { publicshellSort(){ int a[]={1,54,6,3,78,34,12,45,56,100}; double d1=a.length; ... 阅读全文
posted @ 2015-05-07 21:11 无天666 阅读(281) 评论(0) 推荐(0) 编辑
摘要: void InserSort(int a[],int n)//直接插入排序 { int i,j,t; for(i=1;i=0 && t=0;--j){ if(t<a[j]) {a[j+1]=a[j];} //向后移动数据 else { bre... 阅读全文
posted @ 2015-05-07 16:58 无天666 阅读(365) 评论(0) 推荐(0) 编辑
摘要: int Division(int a[],int left, int right) //分割 { int base=a[left]; //基准元素 while(leftbase) --right; //从右向左找第一个比基准小的元素 a[... 阅读全文
posted @ 2015-05-06 23:01 无天666 阅读(473) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2015-05-06 17:49 无天666 阅读(144) 评论(0) 推荐(0) 编辑
摘要: public class BubbleSort{ public static void main(String args[]){ int[] values={3,1,6,2,9,1,6,2,9,0,7,4,5}; sort(values); for(int i=0;ivalues... 阅读全文
posted @ 2015-05-06 17:40 无天666 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 终于来到了算法设计思想中最有趣的这部分,在去年的google笔试中,7道算法设计题有2道动态规划(Dynamic Programming)。看了这么久的算法,这部分也是唯一感觉到了比较难的地方,从这篇文章开始,将花连续的篇幅来讨论一些对动态规划的认识和其中的问题。这包括一些例子:计算二项式系数,Wa... 阅读全文
posted @ 2015-05-06 16:50 无天666 阅读(525) 评论(0) 推荐(0) 编辑
摘要: 问题描述:假设有N个小孩按照序号1,2,,,N围坐成一圈,从第一个小孩开始报数,每次报到n的人退出,接着从下一个人重新开始从1开始报数,下一次再报到n的人退出,求最后一个留下的人;数组实现:public class huan { /** * @param args */ ... 阅读全文
posted @ 2015-05-06 10:25 无天666 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 1 某人写了n封信和n个信封,如果所有的信都装错了信封。求所有的信都装错信封共有多少种不同情况。 归纳法例子 1.有n个硬币(n为偶数)正面朝上排成一排,每次将n-1个硬币翻成朝上为止。编程让计算机把翻硬币的最简过程及翻币次数打印出来(用*代表正面,用0代表反面)。基本形式:D[1]=0;d[2]=... 阅读全文
posted @ 2015-05-05 22:49 无天666 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 沿着所有方向进行探测,有路径则走,没有路径则从栈中回退。回溯法是一种不断试探且及时纠正错误的搜索方法,下面的求解过程采用回溯法。从入口出发,按某一方向向前探索,若能走通(未走过的),即某处可以到达,则到达一个新点,否则试探下一个方向;若所有的方向均没有通路,则沿原路返回前一点,换下一个方向继续试探,... 阅读全文
posted @ 2015-05-05 16:43 无天666 阅读(5700) 评论(0) 推荐(0) 编辑
摘要: public static void mergSort(Comparable[] data,int min,int max){ int mid = (min + max)/2; //递归的过程 if(max > min){ mergSort(data,min,mid); mergSort(dat... 阅读全文
posted @ 2015-05-04 20:51 无天666 阅读(238) 评论(0) 推荐(0) 编辑