文章分类 -  算法

经典面试题目二
摘要:3题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。6题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果:8/\610 / \/ \57911因此返回... 阅读全文
posted @ 2009-10-01 01:12 清水湾 阅读(235) 评论(0) 推荐(0)
经典面试题目一
摘要:18题目:下面是一个数组类的声明与实现。请分析这个类有什么问题,并针对存在的问题提出几种解决方案。template<typenameT>classArray{public:Array(unsignedarraySize):data(0), size(arraySize){if(size > 0)data =newT[size];}~Array(){if(data)delete[]... 阅读全文
posted @ 2009-10-01 00:42 清水湾 阅读(193) 评论(0) 推荐(0)
字符串问题
摘要:1 字符串匹配问题[代码][代码] 阅读全文
posted @ 2009-09-30 10:34 清水湾 阅读(127) 评论(0) 推荐(0)
数据结构笔记3---二叉树
摘要:[代码] 阅读全文
posted @ 2009-08-25 20:26 清水湾 阅读(173) 评论(0) 推荐(0)
递归转换为非递归
摘要:http://hi.bccn.net/space-100217-do-blog-id-14724.html 阅读全文
posted @ 2009-08-25 20:25 清水湾 阅读(119) 评论(0) 推荐(0)
数据结构笔记1---排序
摘要:[代码][代码][代码][代码][代码][代码][代码]稳定性的好处:排序算法如果是稳定的,那么从一个键上排序,然后再从另一个键上排序,第一个键排序的结果可以为第二个键排序所用。基数排序就是这样,先按低位排序,逐次按高位排序,低位相同的元素其顺序再高位也相同时是不会改变的。(1)冒泡排序冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如... 阅读全文
posted @ 2009-08-08 10:54 清水湾 阅读(225) 评论(0) 推荐(1)
计算“1”的个数
摘要:给定一个十进制正整数N,写下从1开始,到N所有的整数,然后数一下其中出现的所有“1”的个数。例如:N=2,写下1,2,这样只出现了1个“1” N=12,写下1,2,3,4........,12.这样出现了5个“1”假设N=abcde1 如果百位上的数字为0,则可以知道,百位上可能出现1的次数由更高位决定,比如12013,则可... 阅读全文
posted @ 2009-08-05 12:25 清水湾 阅读(365) 评论(0) 推荐(0)
经典小例子
摘要:1 全排序[代码][代码]2 有N个人围成一圈,顺序排号,从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。[代码]3 字符串反转思想:将第一个字符与最后一个字符交换,将第二个字符与倒数第二个字符交换....依次类推......[代码]4.不用除法(即不能使用"/"号)和库函数,计算285 / 16的商和余数, 要求效率尽量高.[代码]5 'a' 97 '... 阅读全文
posted @ 2009-07-24 10:16 清水湾 阅读(210) 评论(0) 推荐(0)
关于位图排序
摘要:一输入: 一个包含n个正整数的文件,每个正整数小于n,n等于10的7次方(一千万)。并且文件内的正整数没有重复和关联数据。输出: 输入整数的升序排列约束: 限制在1M左右内存,充足的磁盘空间 假设整数占32位,1M内存可以存储大概250000个整数,第一个方法就是采用基于磁盘的合并排序算法,第二个办法就是将0-9999999切割成40个区间,分40次扫描(10000000/250000),每次读入... 阅读全文
posted @ 2009-07-01 21:13 清水湾 阅读(617) 评论(0) 推荐(0)