
数据结构
文章平均质量分 66
Zacy
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构算法之快速排序
快速排序(Quicksort)是对冒泡排序 的一种改进。由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归 进行,以此达到整个数据变成有序序列。算法过程:设要排序的数组是A[0]……A[N-1],首先任意选原创 2016-09-13 01:01:28 · 404 阅读 · 0 评论 -
经典的二分查找 java实现
public class BinarySearch{public static int rank(int key,int[] a){int lo = 0; int hi = a.length -1;while(lo int mid = lo + (hi - lo)/2;if(key hi = mid -1;}else if(key>a[mid]){原创 2016-11-16 22:17:34 · 370 阅读 · 0 评论 -
选择排序算法 java实现
public class Selection{public static void sort(Comparable[] a){int N = a.length;for(int i = 0;iint min = i;for(int j=i+1;jif(less(a[j],a[min])){min = j; }}exch(a,i,min);}原创 2016-11-17 15:16:47 · 275 阅读 · 0 评论 -
剑指offer 寻找中序遍历的下一个节点
题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。思路:首先知道中序遍历的规则是:左根右,然后作图 结合图,我们可发现分成两大类:1、有右子树的,那么下个结点就是右子树最左边的点;(eg:D,B,E,A,C,G) 2、没有右子树的,也可以分成两类,a)是父节点左孩原创 2017-03-27 16:56:14 · 1264 阅读 · 0 评论 -
排序练习题
1.设有5000个无序的元素,希望用最快的速度挑选出其中前50个最大的元素,最好选用( )法。解释:堆排序使用50个元素的最小堆2.下面的排序算法中,初始数据集的排列顺序对算法的性能无影响的是(B)A、插入排序 B、堆排序 C、冒泡排序 D、快速排序解释:若序列事先已经基本有序原创 2017-03-16 10:31:13 · 6520 阅读 · 0 评论 -
剑指offer 平衡二叉树判别
题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。左右子树的高度的绝对值不能大于1。代码实现:public class Solution { public boolean IsBalanced_Solution(TreeNode root) { if(root == null){ return true;原创 2017-04-23 21:00:37 · 357 阅读 · 0 评论