- 博客(7)
- 资源 (23)
- 收藏
- 关注
原创 大话桶排序 基数排序和计数排序
一:计数排序(1)当输入的元素是 n 个 0 到 k 之间的整数时,它的运行时间是 Θ(n + k)。计数排序不是比较排序,排序的速度快于任何比较排序算法。由于用来计数的数组C的长度取决于待排序数组中数据的范围(等于待排序数组的最大值与最小值的差加上1),这使得计数排序对于数据范围很大的数组,需要大量时间和内存。例如:计数排序是用来排序0到100之间的数字的最好的算法,但是它不适合按字母顺序排
2015-03-29 15:22:48 2307 1
原创 DFS + 剪枝策略
一:简介(1)相信做过ACM的人,都很熟悉图和树的深度优先搜索;算法里面有蛮力法 —— 就是暴力搜索(不加任何剪枝的搜索);(2)蛮力搜搜需要优化时,就是需要不停的剪枝,提前减少不必要的搜索路径,提前发现判断的过滤条件;(3)剪枝的核心问题就是设计剪枝判断方法,哪些搜索路径应当舍弃,哪些搜索路径不能舍弃(保留);(4)高效的剪枝过滤条件需要从局部和全局来考虑问题,发现内在的规律。
2015-03-06 09:29:49 14899 1
原创 大话 Java File I/O(与c++对比)
一起因:(0)C里面就一个File文件指针,剩下的全部通过fopen(filepaht) ,和 fread() fclose()搞定;c++提供了fstream类(fistream fostream子类)其构造方法接收string型的filepath,就可以用fstream的成员函数操作该文件的读或者写,这比c方便了许多。Java里面的就更加复杂了,据说I/O读写类就有几十个,连我们一贯熟悉的
2015-03-26 10:03:04 1405 1
原创 Pattern和Matcher详解(字符串匹配和字节码)
一:起因(1)Java里面进行字符串操作,第一个想到的是String类 和 StringBuilder类 内含replace() 、replaceAll() 、split()、matches()等方法 —— 其实String类里面的 public String[] split(String regex, int limit) 和 matches()方法,调用是Pattern
2015-03-25 08:28:02 16349 4
原创 记忆化搜索(搜索+dp思想)
一:简介(1)记忆化搜索 即 搜索+动态规划数组记录上一层计算结果,避免过多的重复计算算法上依然是搜索的流程,但是搜索到的一些解用动态规划的那种思想和模式作一些保存;一般说来,动态规划总要遍历所有的状态,而搜索可以排除一些无效状态。更重要的是搜索还可以剪枝,可能剪去大量不必要的状态,因此在空间开销上往往比动态规划要低很多。记忆化算法在求解的时候还是按着自顶向下的顺序,但是每求解
2015-03-08 20:38:16 9923 3
原创 回溯算法 和 贪心算法(全排列)
一:简介(1)回溯法 又称试探法回溯法的基本做法是深度优先搜索,是一种组织得井井有条的、能避免不必要重复搜索的穷举式搜索算法;基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。适用场景:当遇到某一类问题时,它的问题可以分解,但是又不能得出明确的动态规划或是递归解法,此时可以考虑用回溯法解决此类问题。回溯法的优点在于其程序结构明确,可读性强,易于理解,而且通过对问题的分
2015-03-08 15:29:05 6898 2
原创 剪枝算法(算法优化)
一:剪枝策略的寻找的方法1)微观方法:从问题本身出发,发现剪枝条件2)宏观方法:从整体出发,发现剪枝条件。3)注意提高效率,这是关键,最重要的。总之,剪枝策略,属于算法优化范畴;通常应用在DFS 和 BFS 搜索算法中;剪枝策略就是寻找过滤条件,提前减少不必要的搜索路径。二:剪枝算法(算法优化)1、简介 在搜索算法中优化中,剪枝,就是通过某种判断,避免一些
2015-03-05 10:40:56 62085 3
IKAnalyzer2012_u6 和 jcseg-dict-all两款工具
2014-12-24
htmlparser解析Html的jar包和源文件包(两个)
2014-12-24
jxl解析Excel的jar包和源文件包(两个)
2014-12-24
ArcGIS_Editor_for_OSM_2_1_Desktop_Beta3
2014-11-26
数据结构(c++英文版)
2014-11-23
c++list类实现
2014-11-23
c++string类的实现
2014-11-23
数据挖掘导论完整版
2014-11-12
C++程序设计(谭浩强)
2014-08-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人