摘要:
今天是2012年12月22日。今天的算法练习题是最长公共子序列的长度求解。 此题初看时,感觉问题非常复杂,要求解两个序列的最长的(可以不连续)的公共子序列。但是,"将复杂的问题分解成简单的问题"是基本的程序设计思想。分治法是将一个大问题分解成多个相似的小问题,而本题采用的动态规划算法,则是将复杂的问题分解成一系列的相似的子问题。另外,将所求解的子问题的解通过数组等容器保存起来,来节省重复求解相同子问题的时间,是动态规划算法的一个很重要的思想:备忘录思想。 另外,本题还将采用逆向的思路,这与常规的顺序的思路相悖。str1[a],str2[b]两个字符串,不是从左至右的考虑,而 阅读全文
摘要:
这一年以来,在寻找自己在技术方向上的兴趣点,尝试了不少领域,程序也写了不少,但却疏忽了算法和数据结构的练习。从今天开始,和大一的时候一样,每天都练一道算法或者数据结构的题。发篇博客,以表决心!!! 写于2012年12月22日 阅读全文