摘要:Types of RecursionThere are many ways to categorize arecursivefunction. Listed below are some of the most common.1.Linear Recursive 线性递归Alinear recursivefunction is a function that only makes a single call to itself each time the function runs (as opposed to one that would call itself multiple times 阅读全文
递归时间复杂度分析
2013-08-27 04:38 by youxin, 6343 阅读, 0 推荐, 收藏,
摘要:在算法分析中,当一个算法中包含递归调用时,其时间复杂度的分析会转化为一个递归方程求解。实际上,这个问题是数学上求解渐近阶的问题,而递归方程的形式多种多样,其求解方法也是不一而足,比较常用的有以下四种方法: (1)代入法(Substitution Method) 代入法的基本步骤是先推测递归方程的显式解,然后用数学归纳法来验证该解是否合理。 (2)迭代法(Iteration Method) 迭代法的基本步骤是迭代地展开递归方程的右端,使之成为一个非递归的和式,然后通过对和式的估计来达到对方程左端即方程的解的估计。 (3)套用公式法(Master Method) 这个方法针对形如“T(n) = a 阅读全文
图的DFS递归和非递归
2013-08-27 03:44 by youxin, 3800 阅读, 0 推荐, 收藏,
摘要:看以前写的文章: 图的BFS:http://www.cnblogs.com/youxin/p/3284016.html DFS:http://www.cnblogs.com/youxin/archive/2012/07/28/2613362.html 递归: 参考了算法导论 int parent[5 阅读全文
转:关于数组的几道面试题
2013-08-27 02:14 by youxin, 293 阅读, 0 推荐, 收藏,
摘要:这是一篇写的非常好的文章,对常见的数组习题进行了讲解。数组是最基本的数据结构,关于数组的面试题也屡见不鲜,本文罗列了一些常见的面试题,仅供参考,如果您有更好的题目或者想法,欢迎留言讨论。目前有以下18道题目,如果有好的题目,随时更新。数组求和求数组的最大值和最小值求数组的最大值和次大值求数组中出现次数超过一半的元素求数组中元素的最短距离求两个有序数组的共同元素求三个数组的共同元素找出数组中唯一的重复元素找出出现奇数次的元素求数组中满足给定和的数对最大子段和最大子段积数组循环移位字符串逆序组合问题合并两个数组重排问题找出绝对值最小的元素http://www.cnblogs.com/graphic 阅读全文
算法导论 平摊分析
2013-08-27 02:12 by youxin, 1042 阅读, 0 推荐, 收藏,
摘要:在计算机科学中,特别是算法分析中,平摊分析寻找在最坏情况下的操作序列中每操作的平均耗费时间。平摊分析只保证最坏情况性能的每操作耗费时间,不涉及平均情况性能。这个方法需要知道操作序列中可能发生的每个操作。通常应用在操作间存在状态的数据结构中。基本思想是一个最坏情况操作会改变状态从而不会在一段时间内再次出现,因此"平摊"它的耗费。一个简单的例子,在某个特定实现的动态数组中,我们在每次数组溢出时增长数组的长度至原来的两倍。因此需要数组空间分配,在最坏情况下一个插入操作需要O(n)的时间。但是,一个n个插入的操作序列仍然可以在 O(n) 的时间内完成,因为剩下的插入可以在常数时间内 阅读全文
图的BFS代码
2013-08-27 00:19 by youxin, 1158 阅读, 0 推荐, 收藏,
摘要:图是严蔚敏书上P168的图, 图的邻接表存储,DFS可以看以前写的文章:http://www.cnblogs.com/youxin/archive/2012/07/28/2613362.html bool visited[100]; void (*visitFunc)(VextexType v); 阅读全文
汉字所占字节数
2013-08-26 21:41 by youxin, 947 阅读, 0 推荐, 收藏,
摘要:在GBK编码中,一个汉字占2个字节,在UTF8编码中,一个汉字站2个字节,在vs2010中,文件编码一般是GBK,所以;char *s="中"; cout<<strlen(s)<<endl;输出:2 阅读全文
转:C++:从子类访问父类的私有函数
2013-08-26 16:17 by youxin, 5128 阅读, 1 推荐, 收藏,
摘要:众所周知,c和c++的数组都是不安全的,因为无论c还是c++都不提供数组边界检查功能,这使得数组溢出成为可能。从某个意义上说,c和c++是一种缺少监督的语言,然而这也正是其魅力所在。c++给予程序员更大的自由,相比于使用JAVA编程的束手束脚,c++程序员拥有了更大的权力,同时也拥有更多的机遇来玩弄一些技巧,比如说,从子类调用父类的私有函数。从子类调用父类的private函数?我没听错么?当然没有!尽管从各种c++书籍中我们得到的信息是子类从父类继承的仅有protected成员和public成员,而父类的private成员无法被子类继承,也无法被子类访问,但是当父类的private函数是一个虚 阅读全文
转: c++继承中的内存布局
2013-08-26 15:35 by youxin, 257 阅读, 0 推荐, 收藏,
摘要:英文原文:http://www.openrce.org/articles/files/jangrayhood.pdf翻译:http://blog.csdn.net/jiangyi711/article/details/4890889 阅读全文
c++ 实现将数字转换为中文数字输出
2013-08-26 15:34 by youxin, 5017 阅读, 0 推荐, 收藏,
摘要:实现如下函数:voidprintInChinese(intnum);这个函数输入一个小于100000000(一亿)的正整数,并在屏幕上打印这个数字的中文写法。例如:17->一十七120->一百二十201->二百零一1074->一千零七十四65536->六万五千五百三十六1010101->一百零一万零一百零一提示:请注意‘零’的处理。扩展:如果需要处理通用简化习惯,你将怎么处理,例如:17->十七120->一百二#include #include using namespace std;string unite[5]={"",& 阅读全文
浙公网安备 33010602011771号