摘要: 分治算法:把一个大问题分解为两个相对较小的问题,分别解决每一个小问题,对两个小问题的处理方式也一样:分解为两个更小的问题,并解决它们这个过程一直持续下去直到达到易于求解的基值情况,就不用继续分解下去了二分查找是分治算法的一个实例循环二分查找public class BinarySearch { private int[] data; public BinarySearch(int[] data){ this.data = data; } public int search(int target){ int min = 0; int max = data.length - 1; in... 阅读全文
posted @ 2014-04-09 15:50 心意合一 阅读(1536) 评论(0) 推荐(0) 编辑
摘要: 对一个包含n个字母的单词进行全排列:1,对该单词右边n-1个字母进行全排列2,轮换所有字母(所有字母左移一位,最左边的字母移动至最右边)3,以上步骤重复n次(以保证该单词的所有字母都曾经处于第一位)public class FullPermutation { private char[] chars; private int length; public FullPermutation(String str){ chars = str.toCharArray(); length = chars.length; } public void permutation(int num){ i... 阅读全文
posted @ 2014-04-09 14:34 心意合一 阅读(464) 评论(0) 推荐(0) 编辑