算法
MAZHEN1986
这个作者很懒,什么都没留下…
展开
-
汉诺塔算法的递归与非递归的C以及C++源代码
http://blog.minidx.com/category/data-struct算法介绍:其实算法非常简单,当盘子的个数为n时,移动的次数应等于2^n – 1(有兴趣的可以自己证明试试看)。后来一位美国学者发现一种出人意料的简单方法,只要轮流进行两步操作就可以了。首先把三根柱子按顺序排成品字型,把所有的圆盘按从大到小的顺序放在柱子A上,根据圆盘的数量确定柱子的排放顺序:若n为转载 2012-06-03 00:43:40 · 2664 阅读 · 0 评论 -
动态规划解最长公共子序列问题
http://blog.csdn.net/yysdsyl/article/details/4226630动态规划法经常会遇到复杂问题不能简单地分解成几个子问题,而会分解出一系列的子问题。简单地采用把大问题分解成子问题,并综合子问题的解导出大问题的解的方法,问题求解耗时会按问题规模呈幂级数增加。为了节约重复求相同子问题的时间,引入一个数组,不管它们是否对最终解有用,把所有转载 2012-09-22 00:01:03 · 600 阅读 · 0 评论 -
LIS
这个算法的具体操作如下(by RyanWang):开一个栈,每次取栈顶元素top和读到的元素temp做比较,如果temp > top 则将temp入栈;如果temp 这也是很好理解的,对于x和y,如果x 举例:原序列为1,5,8,3,6,7栈为1,5,8,此时读到3,用3替换5,得到1,3,8; 再读6,用6替换8,得到1,3,6;再读7,得到最终栈为1,3,6,7转载 2012-09-21 23:19:40 · 472 阅读 · 0 评论 -
散列表(哈希表)工作原理
http://blog.csdn.net/ilibaba/article/details/39601421. 引言 哈希表(Hash Table)的应用近两年才在NOI中出现,作为一种高效的数据结构,它正在竞赛中发挥着越来越重要的作用。 哈希表最大的优点,就是把数据的存储和查找消耗的时间大大降低,几乎可以看成是常数时间;而代价仅仅是消耗比较多的内存。然而在当前可利转载 2012-08-26 13:39:45 · 480 阅读 · 0 评论 -
收集一些top软件公司经典算法面试题
http://www.nowamagic.net/librarys/veda/detail/1261http://www.nowamagic.net/librarys/veda/detail/1261微软有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数。写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:转载 2012-08-24 20:36:25 · 750 阅读 · 0 评论 -
微软的22道数据结构算法面试题(含答案)
http://www.cnblogs.com/alexliu/archive/2009/02/18/1393081.html1、反转一个链表。循环算法。 1 List reverse(List l) { 2 if(!l) return l; 3 list cu转载 2012-08-24 20:33:26 · 949 阅读 · 0 评论 -
一些可以用动态规划解的面试题
http://pthread.blog.163.com/blog/static/169308178201083071246508/P1.给定一个数组A{a0,a1,a2...,an-1},求一个A的连续子序列,使得其和最大。这道题貌似在不同的地方,已经被讨论的快烂掉了。动态规划的解法是f[i]表示所有以ai结尾的子序列的最大值。那么状态转移方程是f[i] = max{f[i-1]+转载 2012-08-24 21:16:40 · 633 阅读 · 0 评论 -
atoi 与 itoa的实现
http://didiw8899.blog.51cto.com/495319/107404///atoi的实现#includeusing namespace std;int atio1(char *s){int sign=1,num=0; if(*s=='-') sign=-1; s++; while((*s)!='\0'转载 2012-07-22 01:57:47 · 518 阅读 · 0 评论 -
动态规划1
维基百科http://zh.wikipedia.org/wiki/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92动态规划是一种在数学和计算机科学中使用的,用于求解包含重叠子问题的最优化问题的方法。其基本思想是,将原问题分解为相似的子问题,在求解的过程中通过子问题的解求出原问题的解。动态规划的思想是多种算法的基础,被广泛应用于计算机科学和工程领域。比较著名的应用实例有:转载 2012-06-27 17:23:27 · 412 阅读 · 0 评论 -
动态规划算法1
http://www.cppblog.com/Fox/archive/2008/05/07/Dynamic_programming.htmlMIT的《Introduction to Algorithms》第15章是专门讲动态规划的。_____________________________________________________________动态规划转载 2012-06-27 16:59:27 · 851 阅读 · 0 评论 -
各种字符串Hash函数比较
http://www.byvoid.com/blog/string-hash-compare/常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对最后的函数值产生影响。另外还有以MD5和SHA1为代表的杂凑函数,这些函数几乎不可能找到碰撞。常用字符串哈希函数有BKDRHash,APHash,DJBHash,J转载 2012-11-12 00:07:43 · 692 阅读 · 0 评论