- 博客(8)
- 资源 (5)
- 收藏
- 关注
转载 LeetCode Balanced Binary Tree
This problem is generally believed to have two solutions: the top down approach and the bottom up way. 1.The first method checks whether the tree is balanced strictly according to the definition of
2015-03-13 16:07:01 230
转载 Find Peak Element --leetcode
原题链接:https://oj.leetcode.com/problems/find-peak-element/ 题目大意:给定一个相邻元素不相等的数组,找出其中的一个局部最大值,返回对应下标。 方法1:顺序遍历。 本题的一个重要特点是,从第一个元素开始,若其大于相邻的后续元素,则第一个元素就是一个局部最大值,返回即可。若其小于相邻的后续元素,则第二个元素大于第一个元素。如此,一
2015-03-13 11:38:36 356
转载 队列中取最大值操作问题
问题:设计一个队列能够在O(1)时间内取得队列的最大值。 分析: 这个问题和设计一个在O(1)时间内取最大值的堆栈看似比较相似,但实现难度要比最大值的堆栈困难一些,开始想模仿最大值堆栈的思想来设计取最大值的堆栈都失败了。实际上这个问题可以拆分成两个问题: 1)设计一个在O(1)时间内取最大值的堆栈; 2)如何使用堆栈来实现一个队列; 如果这两个问题解决了,O(1)
2015-03-13 09:30:27 498
原创 二叉树的前序、中序、后序(递归、非递归)遍历java实现
前序遍历:中-左-右 中序遍历:左-中-右 后序遍历:左-右-中 树中的结点定义: static class Node{ Node leftChild; Node rightChild; int rvisited; char data; Node(char newData){ leftChild=null; rightChild=null; data=newData;
2015-03-06 11:17:33 225
原创 java实现栈及队列
使用数组实现栈及循环队列。 栈:后进先出 队列:先进先出 1.java实现栈的代码如下所示: public class MyStack { private int maxSize; //栈中保存的最大元素数 private int[] stackArray; //数组:用于保存栈中的元素 private int top; //栈顶元素位置
2015-03-05 10:19:24 302
原创 堆排序算法详解
堆(英语:heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质: 堆中某个节点的值总是不大于或不小于其父节点的值; 堆总是一棵完全树。 将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。常见的堆有二叉堆、斐波那契堆等。 堆结构上一些基本操作的运行时间至多与堆的高度成正比。 堆排序算法的
2015-03-04 09:55:42 312
原创 快速排序算法java源码
选择排序使用了分治的思想,每次选择数组中的其实节点作为分割点,将所有小于该节点值得所有节点放置在该节点的左边,大于该节点的所有值放置在该节点的右边,然后对左右二边的节点使用相同的方法进行划分,直到仅剩下一个节点为止。 附上java实现的源代码: public class InsortionSort { public static int[] insortSort(int[] arra
2015-03-04 08:59:38 316
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人