1. 程式人生 > >數據結構(一)之鏈表

數據結構(一)之鏈表

存儲 鏈表操作 author void 復雜 pac 部分 地址 插入

一、鏈表

  鏈表是一種物理存儲單元上非連續、非順序的存儲結構,數據元素的邏輯順序是通過鏈表中的指針鏈接次序實現的。

  鏈表由一系列結點(鏈表中每一個元素稱為結點)組成,結點可以在運行時動態生成。每個結點包括兩個部分:一個是存儲數據元素的數據域,另一個是存儲下一個結點地址的指針域。

相比於線性表順序結構,操作復雜。由於不必須按順序存儲,鏈表在插入的時候可以達到O(1)的復雜度,比另一種線性表順序表快得多,但是查找一個節點或者訪問特定編號的節點則需要O(n)的時間,而線性表和順序表相應的時間復雜度分別是O(logn)和O(1)。

二、單鏈表

單鏈表結點的定義:

package cn.edu.scau.mk;

/** * * @author MK */ public class Node<T> { private T data; private Node<T> next = null; public Node(T data) { this.data = data; } public T getData() { return data; } public void setData(T data) { this.data = data; } public
Node<T> getNext() { return next; } public void setNext(Node<T> next) { this.next = next; } }

三、單鏈表操作

數據結構(一)之鏈表