小说网 找小说 无限小说 烟雨红尘 幻想小说 酷文学 深夜书屋

2013年12月13日

基于visual Studio2013解决面试题之0401非递归遍历二叉树

摘要: 题目解决代码及点评/* 非递归实现中序遍历二叉树 中序遍历概念:先访问左子树,然后再访问根节点,然后再访问右子树 用递归的方法非常简单,理解思想几行代码,但是不用递归该如何实现? 不用递归,则需要用栈来保存现场,要遍历左子树之前,将根节点压栈 再访问左子树,当该根节点要被弹出来时,说明左子树... 阅读全文

posted @ 2013-12-13 15:14 牛栏山1 阅读(128) 评论(0) 推荐(0) 编辑

基于visual Studio2013解决面试题之0309左移递减序列搜索

摘要: 题目解决代码及点评/* 左移递减数列查找某一个数 左移递减数列,指一个数列是由一个递减数列左移而来 比如[6,5,4,3,2,1] 左移两位得到[4,3,2,1,6,5] 在左移数列中查找某一个数 想法:依旧可以用二分查找法,因为这样的数列二分之后,至少有一半是有序的*/#include ... 阅读全文

posted @ 2013-12-13 15:07 牛栏山1 阅读(143) 评论(0) 推荐(0) 编辑

基于visual Studio2013解决面试题之0308Fibonacci数列

摘要: 题目解决代码及点评/*题目:定义 Fibonacci 数列如下:/ 0 n=0f(n)= 1 n=1/ f(n-1)+f(n -2) n=2输入 n,用最快的方法求该数列的第 n 项。*/#include using namespace std;//递归实现int Fibonacci(int... 阅读全文

posted @ 2013-12-13 15:00 牛栏山1 阅读(129) 评论(0) 推荐(0) 编辑

基于visual Studio2013解决面试题之0307最后谁剩下

摘要: 题目解决代码及点评/*n 个数字(0,1,…,n-1)形成一个圆圈,从数字 0 开始,每次从这个圆圈中删除第 m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第 m 个数字。求出在这个圆圈中剩下的最后一个数字。*/#include... 阅读全文

posted @ 2013-12-13 14:56 牛栏山1 阅读(112) 评论(0) 推荐(0) 编辑

基于visual Studio2013解决面试题之0306打印第一次只出现一次的字符

摘要: 题目解决代码及点评/* 在一个字符串中找到第一个只出现一次的字符。如输入 abaccdeff,则输出 b*/#include #include using namespace std;/* 在字符串中查找第一个只出现一次的字符串 */void FindChar(const string &s... 阅读全文

posted @ 2013-12-13 14:50 牛栏山1 阅读(132) 评论(0) 推荐(0) 编辑

基于visual Studio2013解决面试题之0305广度优先搜索二叉树

摘要: 题目解决代码及点评/* 输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序 打印 层次遍历二叉树 解决方法,使用广度优先搜索*/#include #include using namespace std;// 树节点,包括左二子、右儿子指针和保存的值class Tree... 阅读全文

posted @ 2013-12-13 14:46 牛栏山1 阅读(121) 评论(0) 推荐(0) 编辑

基于visual Studio2013解决面试题之0304镜像二叉树

摘要: 题目解决代码及点评/* 输入一颗二元查找树,将该树转换为它的镜像 镜像的意思是原来二叉搜索树,是左子树 root > 右子树*/#include using namespace std;// 树节点,包括左二子、右儿子指针和保存的值class TreeNode{public: TreeNod... 阅读全文

posted @ 2013-12-13 14:43 牛栏山1 阅读(178) 评论(0) 推荐(0) 编辑

基于visual Studio2013解决面试题之0303数组求和

摘要: 题目解决代码及点评/* 输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字。 要求时间复杂度是 O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。*/#include using namespace std;// 查找函数,pnArr... 阅读全文

posted @ 2013-12-13 14:40 牛栏山1 阅读(182) 评论(0) 推荐(0) 编辑

基于visual Studio2013解决面试题之0302链表中找倒数k项节点

摘要: 题目解决代码及点评/* 题目:已知单向链表,有n个元素,求倒数第k个元素,要求时间复杂度O(n) 思路:需要两个指针p1,p2,p1先往前走,p2在p1走了k步之后跟随,这样当p1到了尾部时,p2就到了倒数第k的位置*/#include #include using namespace s... 阅读全文

posted @ 2013-12-13 14:36 牛栏山1 阅读(144) 评论(0) 推荐(0) 编辑

基于visual Studio2013解决面试题之0301累加

摘要: 题目解决代码及点评/* 求 1+2+3+...+n 要求不能使用乘除法、for、while、if、else、switch、case 等关键字 以及条件判断语句(A?B:C) 解决思路: 通过全局变量(或者静态类变量)来记录累加的和,以及累加到的数字 通过构造函数来实现累加*/#in... 阅读全文

posted @ 2013-12-13 14:33 牛栏山1 阅读(153) 评论(0) 推荐(0) 编辑

基于visual Studio2013解决面试题之0210树的最远距离

摘要: 题目解决代码及点评/* 二叉树的最大距离:将二叉树看成图,节点之间的距离为中间的线,求最大节点距离 解决: 如果左子树和右子树都不为空:最大距离 = 左子树深度 + 右子树深度 + 2 */#include #include using namespace std;// 树节点定义templ... 阅读全文

posted @ 2013-12-13 02:46 牛栏山1 阅读(133) 评论(0) 推荐(0) 编辑

基于visual Studio2013解决面试题之0209最大堆排序

摘要: 题目解决代码及点评/* 最大堆是一个数组数据结构,任意一个下标i,它的值大于i*2和i*2+1的值(i从1开始) 当这样的堆形成时,最大值在数组最开始的位置。 当这样的堆形成后,将第一个元素交换到最后,并在剩余的数据中再调整堆,形成新的堆 如此反复完成排序*/#include using n... 阅读全文

posted @ 2013-12-13 02:19 牛栏山1 阅读(105) 评论(0) 推荐(0) 编辑

基于visual Studio2013解决面试题之0208二叉搜索树后序遍历序列

摘要: 题目解决代码及点评/* 给出一个数组,判断该数组是否为二叉搜索树的后序遍历 后序遍历是先遍历左子树,再遍历右子树,最后访问根节点 所以,后序遍历的特点是,最后一个元素是根节点 在数组剩下的部分里,某连续的部分P1小于根节点,而某连续的部分P2全部大于根节点 对P1和P2来说,分别是两个子树的... 阅读全文

posted @ 2013-12-13 01:41 牛栏山1 阅读(116) 评论(0) 推荐(0) 编辑

基于visual Studio2013解决面试题之0202上下排

摘要: 题目解决代码及点评/* 上下排是指:根据上排的数字,下排对应的数字是上排数字在下排出现的次数,比如 0 1 2 3 4 5 6 7 8 9 6 2 1 0 0 0 1 0 0 0 0在下排出现6次 1在下排出现2次 2在下排出现1次 ... 现在已知上排,求下排 思路: 不停的循环尝试,... 阅读全文

posted @ 2013-12-13 01:20 牛栏山1 阅读(125) 评论(0) 推荐(0) 编辑

基于visual Studio2013解决面试题之0207单词翻转

摘要: 题目解决代码及点评/* 单词翻转, 比如 you are 变成 are you,并非完全字符串翻转 是根据空格为单位的单词进行翻转,单词却依然完整。 方法是从句子尾部开始遍历,一旦发现空格,则从空格的下一个字母开始打印一个单词 一旦到了句子的第一个字母,也打印单词*/#include #in... 阅读全文

posted @ 2013-12-13 00:46 牛栏山1 阅读(83) 评论(0) 推荐(0) 编辑

基于visual Studio2013解决面试题之0206hash表实现

摘要: 题目解决代码及点评/* hash表,是用hash算法将任意长度的二进制值,映射为较短的固定范围的二进制值 在这个例子里,我们简单的使用 %10作为我们的hash算法。 对10取模会导致经常的冲突,比如13和23,对10取模之后都是3,这种情况下叫做hash算法的冲突 为了解决冲突,需要在一个... 阅读全文

posted @ 2013-12-13 00:41 牛栏山1 阅读(118) 评论(0) 推荐(0) 编辑

基于visual Studio2013解决面试题之0205查找路径

摘要: 题目解决代码及点评/* 在一棵树中,获取和为某个值的所有路径 比如有树如下 1 / \ 2 3 / \ /\ 5 7 6 7 如果和为10,那么可以得到两个,有两个路径1、2、7和1、3、6*//* 标准输入输出头文件 */#include /* 标... 阅读全文

posted @ 2013-12-13 00:37 牛栏山1 阅读(127) 评论(0) 推荐(0) 编辑

基于visual Studio2013解决面试题之0204最大子集数组

摘要: 题目解决代码及点评/* 在一个数组里n0, n1,n2...nk中,定义(0using namespace std;int main(){ int a[10]={1, -2, 3, 10, -4, 7, 2, -5, -1, -2}; int max=0; int sum=0; // 通过循... 阅读全文

posted @ 2013-12-13 00:32 牛栏山1 阅读(115) 评论(0) 推荐(0) 编辑

基于visual Studio2013解决面试题之0203栈实现

摘要: 题目解决代码及点评/* 用模板类实现栈 *//* 标准输入输出流头文件 */#include /* 将标准库的std命名空间下标示符提升到全局 */using namespace std;/* 定义栈模板库 */template class stack{public: stack(int l... 阅读全文

posted @ 2013-12-13 00:29 牛栏山1 阅读(181) 评论(0) 推荐(0) 编辑

导航