
数据结构
airfer
这个作者很懒,什么都没留下…
展开
-
微软面试(1/100)---把二元查找树转变成排序的双向链表
/*一个很牛的人,将微软面试的100道题的算法进行了整理,我现在也是在慢慢的学习当中程序给出来了,但是能不能看懂就是个人的问题了,我在看程序的时候,可能有些时候不太明白说的是什么意思,我会在以后的日子里,对这100道题的算法进行分析,这100道题的算法不是我写的,我对写这些算法的人无比的敬佩*/1.把二元查找树转变成排序的双向链表题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向转载 2013-05-26 16:55:49 · 972 阅读 · 0 评论 -
微软面试(2/100)--设计包含函数的栈
/*2.设计包含min函数的栈。定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。结合链表一起做。首先我做插入以下数字:10,7,3,3,8,5,2, 60: 10 -> NULL (MIN=10, POS=0)1: 7 -> [0] (MIN=7, POS=1) 用数组表示堆栈,第0个元素表示栈底2: 3 -转载 2013-05-26 22:03:09 · 721 阅读 · 0 评论 -
微软面试(3/100)--求子数组的最大和
/*3.求子数组的最大和题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18。*///July 2010/10/18#inc转载 2013-05-26 22:14:52 · 889 阅读 · 0 评论