码迷,mamicode.com
首页 >  
搜索关键字:careercup    ( 212个结果
careercup-树与图 4.6
4.6 设计一个算法,找出二叉查找树中指定结点的“下一个”结点(也即中序后继)。可以假定每个结点都含有指向父节点的连接。思路:有两种情况:1)如果该结点存在右子树,则中序后继即为右子树中最小的结点。 2)如果该结点不存在右子树,则后继结点为使得所给结点在其祖先结点的左子树上的第一个祖先结点...
分类:其他好文   时间:2014-12-06 14:04:20    阅读次数:124
careercup-树与图 4.5
4.5 实现一个函数,检查一棵二叉树是否为二叉查找树。参考:http://blog.csdn.net/sgbfblog/article/details/7771096C++实现代码:#include#include#includeusing namespace std;struct TreeNode...
分类:其他好文   时间:2014-12-06 12:35:58    阅读次数:144
careercup-树与图 4.4
4.4 给定一棵二叉树,设计一个算法,创建含有某一深度上所有结点的链表(比如,若一棵树的深度为D,则会创建D个链表)。类似于leetcode:Populating Next Right Pointers in Each Node II解答这道题目本质上是个BFS,也就是说,如果已经构建了第i层结点的...
分类:其他好文   时间:2014-12-06 11:21:54    阅读次数:152
careercup-树与图 4.3
4.3 给定一个有序整数数组,元素各不相同按升序排列,编写一个算法,创建一棵高度最小的二叉查找树。解答想要使构建出来的二叉树高度最小,那么对于任意结点, 它的左子树和右子树的结点数量应该相当。比如,当我们将一个数放在根结点, 那么理想情况是,我们把数组中剩下的数对半分,一半放在根结点的左子树, 另一...
分类:其他好文   时间:2014-12-06 11:19:29    阅读次数:145
careercup-树与图 4.2
4.2 给定有向图,设计一个算法,找出两个结点之间是否存在一条路径。解答根据题意,给定一个有向图和起点终点,判断从起点开始,是否存在一条路径可以到达终点。 考查的就是图的遍历,从起点开始遍历该图,如果能访问到终点, 则说明起点与终点间存在路径。稍微修改一下遍历算法即可。使用广度优先遍历实现代码:#i...
分类:其他好文   时间:2014-12-06 10:08:36    阅读次数:149
careercup-树与图 4.1
4.1 实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个结点,其两颗子树的高度差不超过1.C++实现代码:#include#include#includeusing namespace std;//Definition for binary treestruct TreeN...
分类:其他好文   时间:2014-12-05 22:41:02    阅读次数:158
careercup-栈与队列 3.6
3.6 编写程序,按升序对栈进行排序(即最大元素位于栈顶)。最多只能使用一个额外的栈存放临时数据,但不得将元素复制到别的数据结构中(如数组)。该栈支持如下操作:push、pop、peek和isEmpty。解答使用一个附加的栈来模拟插入排序。将原栈中的数据依次出栈与附加栈中的栈顶元素比较, 如果附加栈...
分类:其他好文   时间:2014-12-04 21:27:28    阅读次数:185
careercup-栈与队列 3.5
3.5 实现一个MyQueue类,该类用两个栈来实现一个队列。解答队列是先进先出的数据结构(FIFO),栈是先进后出的数据结构(FILO), 用两个栈来实现队列的最简单方式是:进入队列则往第一个栈压栈, 出队列如果第二个栈不为空,则直接从第二个栈出队列,否则将第一个栈的数据依次压入第二个栈,然后出栈...
分类:其他好文   时间:2014-12-04 21:25:24    阅读次数:168
careercup-栈与队列 3.4
3.4 在经典问题汉诺塔中,有3根柱子及N个不同大小的穿孔圆盘,盘子可以滑入任意一根柱子。一开始,所有盘子自底向上从大到小依次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。移动圆盘时有以下限制:每次只能移动一个盘子;盘子只能从柱子顶端滑出移到下一根柱子;盘子只能叠在比它大的盘子上。请运用栈...
分类:其他好文   时间:2014-12-04 19:34:59    阅读次数:166
careercup-栈与队列 3.3
3.3栈就像叠盘子,当盘子叠得太高时,就会倾斜倒下。因此,在真实的世界中,当一叠盘子 (栈)超过了一定的高度时,我们就会另起一堆,再从头叠起。实现数据结构SetOfStacks 来模拟这种情况。SetOfStacks由几个栈组成,当前一栈超出容量时,需要创建一个新的栈 来存放数据。SetOfStac...
分类:其他好文   时间:2014-12-04 17:46:31    阅读次数:175
212条   上一页 1 ... 15 16 17 18 19 ... 22 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!