码迷,mamicode.com
首页 >  
搜索关键字:keep forever    ( 2954个结果
(017)将一棵二叉查找树重构成链表(keep it up)
给定一棵二叉查找树,设计算法,将每一层的所有结点构建为一个 链表(也就是说, 如果树有D层,那么你将构建出D个链表). 这个题实质是个BFS,但是实现起来有点麻烦,又不像常见的BFS, 所以编写代码时有点艰难。 下面的代码使用两个list来实现层次遍历的,首先用Cur链表存储当前层 的结点,然后用Pre链表存储当前层的子层结点,Cur和Pre。下一次遍历时 Pre就变成当前层,Cur就...
分类:其他好文   时间:2014-09-01 01:40:22    阅读次数:246
(016)给定一个有序数组(递增),写程序构建一棵具有最小高度的二叉树(keep it up)
给定一个有序数组(递增),写程序构建一棵具有最小高度的二叉树。 由于数组是递增有序的,每次都在中间创建结点,类似二分查找的方法来间最小树。 struct TreeNode { int data; TreeNode* leftChild; TreeNode* rightChild; }; void newNode(TreeNode*& vNode, int vData) { vNode...
分类:其他好文   时间:2014-08-30 02:24:58    阅读次数:260
使用java的wsimport.exe工具生成wsdl的客户端代码
在jdk的bin目录下有一个wsimport.exe的工具,使用该工具可以根据wsdl地址生成java的客户端代码。常用命令如下:wsimport-keep-dd:\-sd:\src-pcom.map-verbosehttp://192.168.1.33:9003/Map/V2?wsdl-keep:...
分类:编程语言   时间:2014-08-29 19:41:38    阅读次数:194
(015)实现一个函数检查一棵树是否平衡(keep it up)
实现一个函数检查一棵树是否平衡。对于这个问题而言, 平衡指的是这棵树任意两个叶子结点到根结点的距离之差不大于1。 这个题我们可以采用暴力搜索,找到叶子节点到根节点的最小值和最大值,然后他们的差如果大于1就不是平衡树,反之 则是平衡树。 int MinDepth = std::numeric_limits::max(); int MaxDepth = std::numeric_limits::...
分类:其他好文   时间:2014-08-29 02:52:57    阅读次数:197
014写程序将一个栈按升序排序,对这个栈是如何实现的,你不应该做任何特殊的假设(keep it up)
写程序将一个栈按升序排序。对这个栈是如何实现的,你不应该做任何特殊的假设。 程序中能用到的栈操作有:push | pop |isEmpty 最容易想到的就是优先队列来做此题,容易实现。 另外我们可以再用一个栈来实现栈的升序排列。 优先队列: //优先队列来实现 void sortStack(std::stack& vStk) { std::priority_queue, std::gr...
分类:其他好文   时间:2014-08-28 02:07:58    阅读次数:197
sydr 延迟加载 到底
双语达人 Keep your eyes peeled:保持高度警觉 ...
分类:其他好文   时间:2014-08-27 17:57:18    阅读次数:200
013使用两个栈实现一个队列(keep it up)
使用两个栈实现一个队列 队列是先进先出的数据结构(FIFO),栈是先进后出的数据结构(FILO),  用两个栈来实现队列的最简单方式是:进入队列则往第一个栈压栈,  出队列则将第一个栈的数据依次压入第二个栈,然后出栈. 两条规则: 1)进队列,则直接压入第一个栈 2)出队列,若果第二个栈不为空,直接pop(),如过第二个栈为空, 则把第一个栈中的数据全部压入第二个栈(第一个栈此时为空...
分类:其他好文   时间:2014-08-27 01:40:37    阅读次数:230
012温习汉诺塔 (keep it up)
汉诺塔:有三根相邻的柱子,标号为A,B,C,A柱子上从下到上按金字塔状叠放着n个不同大小的圆盘,要把所有盘子一个一个移动到柱子B上,并且每次移动同一根柱子上都不能出现大盘子在小盘子上方,应该怎么移动? 汉诺塔是个非常经典的问题,讲递归时应该都会讲到它。如果我们没有递归的先验知识, 直接去解答这道题,常常会觉得不知道如何下手。用递归却可以非常优美地解决这个问题。 使用递归的一个关键就是,...
分类:其他好文   时间:2014-08-25 01:12:43    阅读次数:218
011实现一个栈,除了push和pop操作,还要实现min函数以返回栈中的最小值,时间复杂度都为O(1)(keep it up)
实现一个栈,除了push和pop操作,还要实现min函数以返回栈中的最小值。  push,pop和min函数的时间复杂度都为O(1)。 看到这个题目最直接的反应是用一个变量来保存当前栈的最小值,让我们来看看这样可行否? 如果栈一直push那是没有问题,入栈元素如果比当前最小值还小,那就更新当前最小值。  可是如果pop掉的栈顶元素就是最小值,那么我们如何更新最小值呢?显然不太好办。...
分类:其他好文   时间:2014-08-22 22:38:01    阅读次数:176
010给定一个循环链表,实现一个算法返回这个环的开始结点 (keep it up)
给定一个循环链表,实现一个算法返回这个环的开始结点。 定义: 循环链表:链表中一个结点的指针指向先前已经出现的结点,导致链表中出现环。 例子: 输入:A -> B -> C -> D -> E -> C [结点C在之前已经出现过] 输出:结点C 可以用一个map 就解决问题了。 下面是编程之美上一种奇特的解法:快慢指针解法。 代码:...
分类:其他好文   时间:2014-08-22 21:16:09    阅读次数:296
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!