算法
kirrin
这个作者很懒,什么都没留下…
展开
-
java实现约瑟夫环
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。数据结构:循环链表,方法是创建链表和删除节点。待改进:不支持m=1时的情况,所以step是从2开始的。m=1的情况是输出从1到n,也可以直接加到主函数中p原创 2012-03-16 10:19:01 · 577 阅读 · 0 评论 -
n个字符的全排列
把n个字符全排列的步骤:1. 全排列右边的n-1个字符2. 轮换所有n个字符3.重复以上步骤n次package algorithm;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Anagram { stati转载 2012-04-16 20:12:10 · 1356 阅读 · 0 评论 -
简单排序算法:冒泡排序,选择排序,插入排序
效率分析:冒泡排序:对于n个数据的数组,共进行n-1趟排序,第一趟排序中有n-1次比较,第二趟有n-2次比较,依次类推,最后一趟有1次比较(n-1)+(n-2)...+1 = n *(n-1)/2 总共进行了n*n/2次比较如果数据是随机的,大概有一半数据需要交换,则交换的次数为n*n/4,在最坏的情况下,即初始是逆序的,每次都需要交换。交换和比较次数都和n的平方成正比,转载 2012-03-26 09:12:51 · 1534 阅读 · 0 评论 -
用递归的方法实现乘法和乘方
public class test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int x=2,y=3; int d = mult(x,y); System.out.println(d); int c = po原创 2012-04-17 18:12:06 · 2208 阅读 · 1 评论 -
归并排序
归并排序的效率:归并排序的运行时间是O(N*logN)。复制的次数和N*log2N成正比,对于8个数据项的排序,要复制24次。8个数据项需要有3层,每层包含8次复制public class mergeSort { int[] array; int size; public mergeSort(int max) { array = new int[max]; size=转载 2012-04-17 15:28:08 · 324 阅读 · 0 评论 -
汉诺塔
package algorithm;public class Hanoi { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int n=3; doTowers(n,'A','B','C'); } privat转载 2012-04-16 21:44:16 · 2253 阅读 · 0 评论 -
打印输出蛇形矩阵
package job;public class snake { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int n = 5; int x=0, y= n-1; int tot=1; int[][]原创 2012-03-22 14:19:32 · 750 阅读 · 0 评论 -
用1,2,3,...9组成3个三位数abc,def,ghi,每个数字恰用一次,要求abc:def:ghi=1:2:3
public class Test { /** * @param args */ public static void main(String[] args) { int[] t = new int[10]; int a; for(int i =0; i<10; i++) { t[i]=-1; } for(int i = 123; i< 987/原创 2012-03-22 09:45:30 · 4472 阅读 · 2 评论 -
因子和阶乘
输入正整数n(2-100),把n!=1*2*3....n分解成素因子相乘的形式,从小到大输出各个素数(2,3,5...)的指数。样例输入:5样例输出:5!= 3 1 1package algorithm;public class JieCheng {// 判断是否为素数 static boolean isPrime(int n) { for(int转载 2012-04-12 10:25:37 · 734 阅读 · 0 评论