5/10×2等于多少怎么算?

[IT/计算机]计算机应届毕业生常见面试题目 Creative Studio By Eric Huang 1. 把二元查找树转换成排序的双向链表 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 比如将二元查找树 10 / \ 6 14 / \ / \ 4 8 12 16 转换成双向链表 4=6=8=10=12=14=16。 分析:本题是微软的面试题。很多与树相关的题目都是用递归的思路来解决,本题也不例外。二元查找树BST的一个重要特性便是如果按照中序方式对其进行遍历,结果是一个有序的序列。 所以我们可以中序遍历整棵树。按照这个方式遍历树,比较小的结点总是最先被访问。如果我们每访问一个结点,假设之前访问过的结点已经调整成一个排序好的双向链表,我们再调整当前结点的指针,将其链接到链表的末尾。当所有结点都访问过之后,整棵树也就转换成一个排序双向链表了。 源码: #include <iostream> using namespace std; typedef Studio By Eric Huang 2. 设计包含min函数的栈 题目:定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函 数min、push以及pop的时间复杂度都是O(1)。 分析:这是去年google的一道面试题。我们需要一个辅助栈。每次push一个新元素的 时候,同时将最小元素(或最小元素的位置。考虑到栈元素的类型可能是复杂的数据结构, s作为主要存放数据的栈,t作为辅助栈,存放当前栈中最小元素的下标

}

我要回帖

更多关于 51+52+53+…+67+68+69怎么算 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信