数据结构
xujianping32
这个作者很懒,什么都没留下…
展开
-
堆排序
[code="java"]package arrayTest;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class HeapSortApp{ public static void main(String...原创 2012-05-16 15:34:15 · 111 阅读 · 0 评论 -
各排序方法比较
断断续续地看了《JAVA数据结构与算法》,一直没有好好整理下,久了就忘记了。这里把排序的笔记记录如下(代码都出自《JAVA数据结构与算法》):1、 冒泡排序:(1) 思想:从左边第一个数据项开始,跟其右边的数据项比较,如果左边的数值大于右边的,则进行交换,这样直到最后一个结束,一次循环就把最大的数放在最右边。第二次同样,到右边的倒数第二个结束,以此类推。直到所有的数据项有序。(2) 代...原创 2012-02-07 15:57:40 · 98 阅读 · 0 评论 -
栈及其应用
栈先进后出,实现比较简单,只操作栈顶:[code="java"]class StackX{ private final int maxSize; private final char[] stackArray; private int top; public StackX(int ms) { ...原创 2012-02-17 10:35:59 · 108 阅读 · 0 评论 -
队列及优先级队列
队列,与栈相反,先进先出:[code="java"]/** * * @Desc This class use to provide a queue which first in first out * @author xujp1 * @version Revision: 1.00 Date: Feb 17, 2012 */class Queue{...原创 2012-02-20 14:42:45 · 86 阅读 · 0 评论 -
迭代器实现
链表由一系列结点组成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,链表比较方便插入和删除操作。 用链表实现迭代器:[code="java"]class LinkIter{ public int iData; public LinkIter next; p...原创 2012-02-22 15:40:00 · 98 阅读 · 0 评论 -
递归及归并排序
典型的汉诺塔圆盘移动方法: [code="java"] /** * 每次只能移动一个圆盘,将原本放在初始位置的圆盘借助中间位置按原来的顺序移动到目标位置 * * @param topN 开始时在初始位置共有多少圆盘 * @param from 初始位置 * @param inter 中间位置 * @par...原创 2012-02-28 16:14:26 · 90 阅读 · 0 评论 -
二叉树
树是这样的数据结构,可以像链表那样快速地插入和删除,也可以像有序数组那样快速地查询;二叉树,只有两个字节点。 [code="java"]class Node{ public final int iData; public final double fData; public Node leftChild; ...原创 2012-02-28 17:21:02 · 75 阅读 · 0 评论