上一页 1 ··· 6 7 8 9 10
摘要: 出题:输入一个整数数组,判断该数组是否符合一个二元查找树的后序遍历(给定整数数组,判定其是否满足某二元查找树的后序遍历);分析:利用后序遍历对应到二元查找树的性质(序列最后一个元素必定是根节点,从左向右第一个比根节点大的元素开始直到根节点之前的所有元素必定在右子树,之前的所有元素必定在左子树);解题... 阅读全文
posted @ 2014-05-18 19:59 Leo C. 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 出题:预先输入一个整型数组,数组中有正数也有负数;数组中连续一个或者多个整数组成一个子数组,每个子数组有一个和;求所有子数组中和的最大值,要求时间复杂度O(n);分析:时间复杂度为线性表明只允许一遍扫描,当然如果最终的最大值为0表明所有元素都是负数,可以用线性时间O(N)查找最大的元素。具体算法策略... 阅读全文
posted @ 2014-05-16 16:10 Leo C. 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 出题:把二元查找树转变成排序的双向链表。输入一棵二元查找树,要求将该二元查找树按照中序转换成一个排序的双向链表,要求不能创建任何新的节点,只能调整指针的指向;分析:递归的思路,当前节点需要进行的处理,并使用递归调用和返回值将子问题链接起来;首先明白二元查找树的特性,变成有序双向链表后当前根节点的左节... 阅读全文
posted @ 2014-05-16 12:11 Leo C. 阅读(506) 评论(0) 推荐(0) 编辑
摘要: 出题:请实现给定String的类定义;分析:注意检查标准类构造注意事项;解题: 1 #include 2 #include 3 /** 4 * 检查是否需要构造函数 5 * 检查是否需要无参构造函数 6 * 检查是否需要成员变量(函数)私有 7 * 检查是否需要在构造函数预初始化成员变量... 阅读全文
posted @ 2014-05-16 11:13 Leo C. 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 出题:输入N个整数,要求输出其中最小的K个数;分析:快速排序和最小堆都可以解决最小(大)K个数的问题(时间复杂度为O(NlogN));另外可以建立大小为K的最大堆,将前K个数不断插入最大堆,对于之后的N-K个数,依次与堆顶元素进行比较,如果新元素更小则删除当前堆顶元素,并更新最大堆;如果新元素大则跳... 阅读全文
posted @ 2014-05-15 17:57 Leo C. 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 出题:N阶阶乘问题的递归算法和非递归算法;分析:第一种解法:普通暴力解法的实现较为容易;第二种解法:stirling公式可快速给出近似解;解题: 1 int Recursive(int s) { 2 if(1 == s) { 3 return s; 4... 阅读全文
posted @ 2014-05-15 17:48 Leo C. 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 出题:将字符串“ABCD1234efgh”进行前后对调;分析:常见的考查指针使用的案例,知道字符串长度之后,依次交换位置i以及位置(length-1-i)上的内容,直到重叠;注意不能直接修改指针变量索引的常量字符串;解题: 1 #include 2 #include 3 void reverse... 阅读全文
posted @ 2014-05-15 17:09 Leo C. 阅读(297) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10