算法
_冰河
这个作者很懒,什么都没留下…
展开
-
二分查找BinarySearch
public static int rank(int key,int[] a){ int start = 0; int end = a.length; int mid = a.length/2 - 1; while(start <= end){ if(key < a[mid]){原创 2015-03-26 21:48:58 · 361 阅读 · 0 评论 -
算法——希尔排序
public class Shell { public static void sort(Comparable[] a){ int N = a.length; int h = 1; while(h < N/3){ h =3 * h + 1; } while(h >= 1){原创 2015-03-29 20:44:43 · 253 阅读 · 0 评论 -
算法——插入排序
public class Insertion { public static void sort(Comparable[] a){ for(int i = 0; i < a.length;i++){ for(int j = i; j > 0 && less(a[j],a[j-1]);j--){ echo(a,j,j-1);原创 2015-03-29 20:05:58 · 228 阅读 · 0 评论 -
算法——归并排序
public class Merge { private static Comparable[] aue; public static void sort(Comparable[] a){ aue = new Comparable[a.length]; sort(a,0,a.length-1); } public static void so原创 2015-03-30 23:20:56 · 300 阅读 · 0 评论 -
排序——选择排序
public class Selection { public static void sort(Comparable[] a){ for(int i = 0; i< a.length;i++){ int min = i; for(int j = i + 1;j<a.length;j++){ if(原创 2015-03-29 17:12:20 · 255 阅读 · 0 评论 -
算法——先进先出队列
public class Stack<Item> implements Iterable<Item>{ private Node first; private int N; private class Node{ Item item; Node next; } public void push(Item item){原创 2015-03-27 15:28:48 · 1558 阅读 · 0 评论 -
算法——背包(后进先出)
public class Bag<Item> implements Iterable<Item> { private Node first; private int N; private class Node{ Item item; Node next; } public void add(Item item){原创 2015-03-27 15:33:30 · 602 阅读 · 0 评论 -
栈的一个小应用——Dijkstra的双栈算术表达式
public static Double evl(String str){ Stack<Double> vals = new Stack<Double>(); Stack<Character> op = new Stack<Character>(); char[] ch = str.toCharArray(); for(int i =原创 2015-03-27 11:46:03 · 1355 阅读 · 1 评论 -
算法——先进先出队列
public class Queue<Item> implements Iterable<Item> { private Node first; private Node last; private int N; private class Node{ Item item; Node next; } public int原创 2015-03-27 16:03:01 · 816 阅读 · 0 评论 -
下压栈——能够动态调整数组大小的实现
public class ResizingArrayStack<Item> implements Iterable<Item> { private Item[] a = (Item[])new Object[1];//栈元素 private int N = 0;//元素数量 public boolean isEmpty(){ return N == 0;原创 2015-03-27 13:21:37 · 671 阅读 · 0 评论 -
算法——快速排序
public class Quick { public static void sort(Comparable[] a){ sort(a,0,a.length-1); } public static void sort(Comparable[] a,int lo,int hi){ if(hi <= lo ) return; int原创 2015-03-31 21:24:32 · 278 阅读 · 0 评论