摘要: 链表的效率:在表头插入和删除数据项很快,仅需要改变一两个引用值,所花费时间O(1)。平均起来,删除、查找、在指定的链接点插入仅需要搜索一半的数据,需要O(N)次比较。在数据执行这些操作也需要O(N)次比较,但链表更快一些,因为插入删除数据项时,链表不需要移动其它数据项。链表比数组优越的重要方面在于链表需要多少内存就用多少内存,并且可以扩展到其它所有可用的内存。数组的大小从创建时就定义好,所以经常由于数组太大导致效率低下,或者数组太小空间溢出。向量是一种可扩展的数组,但它只允许以固定的大小增长扩展(溢出时增长一倍数组容量),在内存使用率比链表的低。ADT:抽象数据类型,是指一些数据以及对这些数据 阅读全文
posted @ 2012-11-16 16:05 Kyle_Java 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 双端链表:与单链表非常相似,但添加了一个特性:对最后一个链接点的引用,就像跟单链表的第一个链接点引用一样。(insertFirst)单链表对最后的一个链接点也可以引用,方法是遍历到表尾,找到最后一个链接点,但是效率太低了,所以提出双端链表。 1 public class Link { 2 3 private int iData; 4 private double dData; 5 private Link next; 6 7 public Link(int i, double d) { 8 this.iData = i; 9 ... 阅读全文
posted @ 2012-11-16 11:22 Kyle_Java 阅读(196) 评论(0) 推荐(0) 编辑