基础算法
superhack250
这个作者很懒,什么都没留下…
展开
-
快速排序
快速排序有很多注意事项... public static void qsort(int[] a, int low, int high) { if (high < low + 2) return; int piv = low, end = high; while (low < high) { while (++low < end &&...2010-03-09 10:09:45 · 62 阅读 · 0 评论 -
图论初级算法
图遍历算法 ---- DFS & BFS... public class GraphTraveler { LinkedList<Integer> open = new LinkedList<Integer>(); public void bfs(Graph g, int start) { int n = g.getVolume();...2010-03-10 19:40:48 · 124 阅读 · 0 评论 -
一个简单的堆...
主要是支持对优先队列中某元素属性值的修改(通过equals查找, 并替换新的引用), 可以用于A*算法框架...import java.util.*;@SuppressWarnings("unchecked")public class Heap<E extends Comparable<E>>{ private E[] heap; // E[0] i...2010-03-11 15:37:48 · 73 阅读 · 0 评论 -
八数码问题
搜索算法学问不小...总结:1. 状态表示用整数最快, 可是转化状态的代码不好写, 用字符串挺爽的, 可有些地方涉及到数字运算, 代码又不自然, 整来整去, 还是用byte[]好了...性能没比字符串强多少...2. open表用LinkedList就挺好, 支持队列和堆栈两种模型, 这点在双向广度优先搜索时候挺方便, closed表千万别用List类型, 用HashMap或者HashSet性能上...2010-03-04 15:30:06 · 435 阅读 · 0 评论