搜尋
首頁常見問題線性表的順序儲存結構

線性表是最基本、最簡單、也是最常用的一種資料結構。線性表(linear list)是資料結構的一種,一個線性表是n個具有相同特性的資料元素的有限序列。

線性表的順序儲存結構

線性表主要由順序表示或鍊式表示。在實際應用中,常以堆疊、佇列、字串等特殊形式使用。

順序表示指的是用一組位址連續的儲存單元依序儲存線性表的資料元素,稱為線性表的順序儲存結構或順序映像(sequential mapping)。它以「物理位置相鄰」來表示線性表中資料元素間的邏輯關係,可隨機存取表中任一元素。

由此得到的儲存結構為順序儲存結構,通常順序儲存結構是藉助於電腦程式設計語言(例如c/c )的陣列來描述的。

順序儲存結構的主要優點是節省儲存空間,因為分配給資料的儲存單元全用存放結點的​​資料(不考慮c/c 語言中數組需指定大小的情況),結點之間的邏輯關係並沒有佔用額外的儲存空間。採用此方法時,可實現對結點的隨機訪問,即每一個結點對應一個序號,由該序號可以直接計算出來結點的儲存位址。但順序儲存方法的主要缺點是不便於修改,對結點的插入、刪除運算時,可能要移動一系列的結點。

推薦課程:C語言教學

線性表順序儲存結構的結構代碼:

#define MAXSIZE 20    
typedef int ElemType;
typedef struct
{
    ElemType data[MAXSIZE];
    int length;    // 线性表当前长度
} SqList;

#順序儲存結構封裝需要三個屬性:

存儲空間的起始位置,數組data,它的儲存位置就是線性表儲存空間的儲存位置。

線性表的最大儲存容量:陣列的長度MaxSize。

線性表的當前長度:length。

注意:陣列的長度與線性表的當前長度需要區分:陣列的長度是存放線性表的儲存空間的總長度,一般初始化後不變。而線性表的當前長度是線性表中元素的個數,是會變化的。

線性表順序儲存結構的優缺點

線性表的順序儲存結構,在儲存、讀取資料時,不管是哪個位置,時間複雜度都是O(1)。而在插入或刪除時,時間複雜度都是O(n)。 

這就說明,它比較適合元素個數比較穩定,不常插入和刪除元素,而更多的操作是存取資料的應用。

優點:

無須為表示表中元素之間的邏輯關係而增加額外的儲存空間。

可以快速地存取表中任意位置的元素。

缺點:

插入和刪除操作需要移動大量元素。

當線性表長度變化較大時,難以確定儲存空間的容量。

容易造成儲存空間的「碎片」。

以上是線性表的順序儲存結構的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),