06 2016 档案
摘要:1 //用双端链表实现队列 2 /** 3 * 节点类 4 */ 5 class LinkQ { 6 private long data; 7 public LinkQ next; 8 9 public LinkQ(long d) { 10 this.data = d; 11 } 12 13 ...
阅读全文
摘要:1 //用链表实现堆栈 2 /** 3 * 节点类 4 */ 5 class LinkS { 6 private long data; 7 public LinkS next; 8 9 public LinkS(long d) { 10 this.data = d; 11 } 12 13 ...
阅读全文
摘要:1 /** 2 * 双端链表的实现 3 */ 4 class LinkA { 5 public long dData; 6 public LinkA next; 7 8 public LinkA(long d) { 9 dData = d; 10 } 11 12 public String ...
阅读全文
摘要:1 /** 2 * Link节点 有数据项和next指向下一个Link引用 3 */ 4 class Link { 5 private int iData;// 数据 6 private double dData;// 数据 7 public Link next;// 下一个link节点的引用 8 9 public int...
阅读全文
摘要:/** * Link节点 * 有数据项和next指向下一个Link引用 */class Link { private int iData;//数据 private double dData;//数据 public Link next;//下一个link节点的引用 public Link(int ...
阅读全文
摘要:/** * 中缀表达式转换成后缀表达式: 从输入(中缀表达式)中读取的字符,规则: 操作数: 写至输出 左括号: 推其入栈 右括号: 栈非空时重复以下步骤--> * 若项不为(,则写至输出; 若项为(,则推出循环 operator(opThis): 若栈为空,推opThis; 否则,重复--> ...
阅读全文
摘要:/** * 中缀表达式转换成后缀表达式: 从输入(中缀表达式)中读取的字符,规则: 操作数: 写至输出 左括号: 推其入栈 右括号: 栈非空时重复以下步骤--> * 若项不为(,则写至输出; 若项为(,则推出循环 operator(opThis): 若栈为空,推opThis; 否则,重复--> ...
阅读全文
摘要:/** * 优先级队列 * 效率:插入O(n),删除O(1).第12章介绍如何通过堆来改进insert时间 */class PriorityQueue { private int maxSize; private long[] pQueue; private int nItems; publi...
阅读全文
摘要:第四章涉及三种数据存储类型:栈,队列,优先级队列 1.概括:他们比数组和其他数据存储结构更为抽象,主要通过接口对栈,队列和优先级队列进行定义。这些 接口表明通过他们可以完成的操作,而他们的主要实现机制对用户来说是不可见的。(比如栈可以使用数组实现,也可以使用链表实现) 2.栈: ...
阅读全文
摘要:/** * 循环队列 */class Queue { private int maxSize; private long[] queue; private int front; private int rear; private int nItems; public Queue(int si...
阅读全文
摘要:import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * 利用栈来实现分隔符匹配: 分隔符包括{},[], (),每个左分隔符要和右分隔符匹配,也就是说每个'{'...
阅读全文
摘要:import java.io.BufferedReader;import java.io.InputStreamReader;//用栈来实现一个字符串逆序算法/** * 数据结构:栈 */class StackW{ private int maxSize; private char[] stac...
阅读全文
摘要:class StackX{ private int maxSize; private long[] stackArray; private int top; public StackX(int size){ maxSize = size; stackArray = new long[maxS...
阅读全文
摘要:class ArrayBub { private long[] arr; private int nElement; public ArrayBub(int size) { arr = new long[size]; nElement = 0; } @Override public Stri...
阅读全文
摘要:/** * 上个例子是无序数组,并且没有考虑重复元素的情况。 * 下面来设计一个有序数组,我们设定不允许重复,这样提高查找的速度,但是降低了插入操作的速度。 * 1.线性查找 * 2.二分查找 * 有序数组优点:查找比无序数组快 * 缺点:插入操作由于所有靠后的数据都需要移动来腾开空间...
阅读全文
摘要:/** * 本章目标: * 1.自制数组类 * 2.有序数组:按关键字升降序排列;二分法查找 * 3.分析有序数组。大O表示法 *//** * 自制数组类 书中有的地方有错误,本程序以修改 */class HighArray { private long[] a; private...
阅读全文
摘要:/** * 数据结构的特性 ********************************************************************************************** ***************************************...
阅读全文