枚举与剪枝算法学习笔记
2014-05-30 20:18
316 查看
在上一篇暴力破解算法中,只适合处理数据不是太多,计算量不大的情况。若计算量很大,计算机会执行很长的时间。
而枚举与剪枝算法是指在暴力破解前,通过条件判断来过滤一些逻辑上不符合要求的数据。减去一些无意义的运算分支,来减少计算量,提高效率。
例:
而枚举与剪枝算法是指在暴力破解前,通过条件判断来过滤一些逻辑上不符合要求的数据。减去一些无意义的运算分支,来减少计算量,提高效率。
例:
/* 100-1000中 找出平方之后的尾数还是本身的整数 */ public class T2 { public static void main(String[] args) { for(int i=100; i<1000; i++){ //暴力破解 if(i*i % 1000==i) System.out.println(i + "," + i*i); } } }
/* 100-1000中 找出平方之后的尾数还是本身的整数 */ public class T2 { public static void main(String[] args) { for(int i=100; i<1000; i++){ // 仔细观察 这样的数字的尾数有什么特征? 0 1 5 6 // 进一步,其末尾2位数必须是 25 76 // 更进一步,其末尾3位数必须是?。。。。 if(...) 剪枝动作 if(i*i % 1000==i) System.out.println(i + "," + i*i); } } }
相关文章推荐
- 【算法学习笔记】74. 枚举 状态压缩 填充方案 SJTU OJ 1391 畅畅的牙签袋(改)
- 【算法学习笔记】13.暴力求解法01 枚举排列
- 【算法学习笔记】49.暴力穷举 BFS 剪枝 SJTU OJ 1357 相邻方案
- 【算法学习笔记】87. 枚举路径 SJTU OJ 1999 二哥找宝藏
- 【算法学习笔记】13.暴力求解法01 枚举排列
- 挖掘闭合模式的高性能算法学习笔记——CFIST
- 每天学习一点flash(35) 游戏设计笔记 (5) 跳跃算法笔记
- 算法学习笔记--概况
- 关于C++标准库泛型算法merge的学习笔记
- 汉诺塔算法学习笔记
- ASP.NET控件开发学习笔记--第5回 HtmlTextWriter的相关枚举
- C++精华(STL)学习笔记之算法
- DirectSound学习笔记之 枚举音频设备
- STL的内观排序(introsort)算法学习笔记
- JAVA 数据结构与算法学习笔记一(转载)
- 一个无聊男人的疯狂《数据结构与算法分析-C++描述》学习笔记 习题2.8 随机数组的三种生成算法(补) 将bash的实现翻译成比较纯正的bash风格
- 基础算法学习笔记(一)----回溯法
- 一个无聊男人的疯狂《数据结构与算法分析-C++描述》学习笔记 用C++/lua/python/bash的四重实现(7)习题2.8 随机数组的三种生成算法
- OWL学习笔记之--枚举
- C#学习笔记(3)――枚举