摘要:
斐波那契数指的是这样一个数列:0、1、1、2、3、5、8、13、21、…… 这个数列从第三个数开始,之后的每一个数都由它前的两数相加得到。我们知道在编程中我们可以用递归和迭代两种方法求指定的斐波那契数,但这两种方法各有利弊。区别:递归法(时间复杂度O(2^n))写出来的代码可读性强,就相当于把书上的数学公式 翻译成代码,但这种方法效率太慢了,当你求第50个斐波那契数,你的电脑可能得运算十多分钟。而... 阅读全文
posted @ 2018-10-30 21:26
OVS98
阅读(166)
评论(0)
推荐(0)
摘要:
一.题目用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。二.思路使用两个栈stack1和stack2,若添加元素则直接压入栈stack1中;若删除元素,则要分情况:如果栈stack2为空,则把栈stack1中的元素弹出压入栈stack2中,此时从栈stack2中弹出数据的顺序符合队列的特... 阅读全文
posted @ 2018-10-30 13:12
OVS98
阅读(156)
评论(0)
推荐(0)
摘要:
一.题目给定一棵二叉树和其中的一个结点,如何找出中序遍历顺序的下一个结点?树中的结点除了有两个分别指向左右子结点的指针以外,还有一个指向父结点的指针。二.思路分析题目之后,我们发现,待处理节点只存在三种状态,我们分别处理即可:待处理节点有右子树。那么它的下一个节点为其右子树的最左子节点,如上图节点3的下一个节点为8;待处理节点无右子树,且是父节点的左节点。那么它的下一个节点为其父节点,如上图节点5... 阅读全文
posted @ 2018-10-30 12:24
OVS98
阅读(137)
评论(0)
推荐(0)
摘要:
一.题目输入某二叉树的前序遍历和中序遍历结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{ 1, 2, 4, 7, 3, 5, 6, 8 }和中序遍历序列{ 4, 7, 2, 1, 5, 3, 8, 6 },则重建的二叉树如图所示:二.思路首先根据前序遍历序列找到根节点(序列第一个元素即为根节点),然后在中序遍历中找到根节点位置,然后递归确定左子树... 阅读全文
posted @ 2018-10-30 11:02
OVS98
阅读(142)
评论(0)
推荐(0)

浙公网安备 33010602011771号