算法
Sayangnala
这个作者很懒,什么都没留下…
展开
-
数据结构面试题1.2.3-设计包含min函数的栈[数据结构]
package questions; import java.util.ArrayList; /** * @title 设计包含min函数的栈[数据结构] * @question 定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1) * @analysis 分析:这是去年google的一道面试题。 * *转载 2015-09-12 09:54:54 · 502 阅读 · 0 评论 -
数据结构面试题1.2.7-翻转句子中单词的顺序
package questions; /** * @title 翻转句子中单词的顺序 * @question 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。 * 例如输入“I am a student.”,则输出“student. a am I”。转载 2015-09-15 23:50:13 · 822 阅读 · 0 评论 -
最大堆的插入/删除/调整/排序操作
转自:http://www.java3z.com/cwbwebhome/article/article1/1362.html?id=4745 堆有最大堆和最小堆之分,最大堆就是每个结点的值都>=其左右孩子(如果有的话)值的完全二叉树。最小堆便是每个结点的值都 设有n个元素的序列{k1,k2,k3....kn},当且仅当满足下列关系时,称之为堆 堆的三种基本操作(以下以最大堆为转载 2015-09-28 18:55:31 · 3737 阅读 · 0 评论 -
数据结构面试题1.2.5-在二元树中找出和为某一值的所有路径
package questions; import java.util.ArrayList; /** * @title 在二元树中找出和为某一值的所有路径 * @question 输入一个整数和一棵二元树 从树的根结点开始向下访问一直到叶结点所经过的所有结点形成一条路径。 打印出和与输入整数相等的所有路径 * 例如输入的整数22和如下二元树 *转载 2015-09-12 16:51:09 · 651 阅读 · 0 评论 -
数据结构面试题1.2.2-下排每个数都是先前上排那十个数在下排出现的次数
package questions; /** * @title 下排每个数都是先前上排那十个数在下排出现的次数 * @question 给你10分钟时间,根据上排给出的十个数,在其下排填出对应的十个数,要求下排每个数都是先前上排那十个数在下排出现的次数。 * 上排的十个数如下: * [0,1,2,3,4,5,6,7,8,9] *转载 2015-09-08 19:13:12 · 867 阅读 · 0 评论 -
数据结构面试题1.2.1-把二元查找树转变成排序的双向链表
package questions; /** * @title 把二元查找树转变成排序的双向链表 * @question 输入一颗二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新结点,只能调整指针的指向。 * .... 10 * .... /\ * ... 6 14 * .. /\转载 2015-09-08 14:34:48 · 533 阅读 · 0 评论 -
数据结构面试题1.2.4-求子数组的最大和
package questions; /** * @title 求子数组的最大和 * @question 输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 * 求所有子数组的和的最大值。要求时间复杂度O (n)。 * 例如输入的数组为1,-2,3,10,-4,7,2,-5,和最大的子数组为3,转载 2015-09-12 11:24:57 · 643 阅读 · 0 评论 -
数据结构面试题1.2.9-查找最小的K个元素-使用最大堆
package questions; import java.util.Arrays; import java.util.Random; /** * @title 查找最小的K个元素-使用最大堆 * @question 输入n个整数,输出其中最小的K个元素,例如,输入1,2,3,4,5,6,7,8那么最小的4个元素就是1,2,3,4 * @analysis * 堆转载 2015-09-23 15:41:54 · 715 阅读 · 0 评论 -
二叉树的多种遍历——Java
package research; import java.util.LinkedList; import java.util.Queue; class Node { private Object data; private Node left; private Node right; public Node() { } public Node(Object o) { d原创 2015-09-07 22:44:08 · 505 阅读 · 0 评论