線性表:具有相同線性結構的資料元素所構成的乙個有限的序列(反應邏輯關係)
。先看邏輯結構,再看儲存結構
研究方式:
邏輯結構
儲存結構
常用演算法
一、線性表及其順序儲存結構
順序儲存結構:一組連續的儲存單元依次儲存線性表的每個元素(eg;陣列)
特點:邏輯相鄰,物理相鄰
* 採用順序儲存結構的線性表通常稱為順序表
(一)、線性表的基本運算操作:
1、初始化,設定乙個空表
2、求長度,返回表中的元素個數
3、求序號為 i 的元素值
4、求值為x的元素值在表中的位置
5、在第 i 個(指定)元素前面插入元素x
6、刪除表中的第 i 個元素 ;刪除給定值x的元素
7、取出 ai 元素的前趨與後繼
8、合併、拆分、複製、排序、逆轉、判空等
zu:線性表的序號統一從 1 開始,陣列下標是從0開始。
(二)、插入運算的異常處理:
1、儲存空間已滿時為上溢錯誤,不能插入,演算法結束
2、i > n 時,最後乙個元素之後插入
3、i < 1 時,第乙個元素之前插入(n代表有效位數)
(三)、刪除運算的異常處理:
1、i < 1 或 i > n 時,認為刪除無效
2、線性表為空時為下溢錯誤,不能刪除,演算法結束
(四)、順序表操作注意事項
1、表結構的定義:(即儲存結構的定義)
。可以定義為 區域性 、全域性變數,也可以動態申請空間。
。最大表空間的定義。
2、表溢位和非法位置的反饋提示
3、節點移動,長度修改
二、棧(順序結構)
1、定義:限定在一端進行插入刪除的線性表。
棧邏輯特徵:filo first in last out
lifo last in first out
2、概念 : top bottom push pop
棧頂 棧底 入棧 出棧
一般,允許插入刪除操作的一端稱為棧頂,因此,棧頂的位置是動態變化的。
棧用陣列表示,(陣列的下標小對應低位址)。
3、影響棧的演算法的要素:
1)、陣列的隱含屬性(起始下標、元素個數)
2)、棧的生長方向(低——>高;高——>低)
3)、棧頂、棧底的定義形式
4、順序棧的基本運算
1)、初始化空棧
2)、判斷棧空( *top = 0),判斷棧滿( *top = m)
3)、入棧( * top = *top + 1 ;),退棧
4)、複製棧頂元素
5、棧的應用
逆序、重整序、回溯問題求解、遞迴過程的實現。
7、應用
1)、中綴表示式
設立兩個堆疊:
opnd:存運算元
optr:存操作符
2)、揹包問題
計算機軟體之母
所謂計算機軟體之母,其實是創造第乙個現代編譯程式的婦女,她同時也是商用計算機程式語言的發明人。附錄 葛麗絲 穆雷 霍普 英語 grace murray hopper,1906年12月9日 1992年1月1日 女,本姓穆雷 murray 霍普 hopper 為夫姓。美國海軍准將及計算機科學家,世界最早...
計算機軟體的發展
在20世紀70年代,隨著科技的發展和各企業工作範圍以及員工工作強度的增加,大家越來越對每天手動除了報表以及紙質檔案感到頭痛以及力不從心,於 是,人們就在尋找一種操作更簡捷運算更準確的工具,於是,傳統企業軟體產生了。此時大家所使用的軟體,只是單機版本的應用軟體,也就是說,軟體只能安裝和 執行在一台計算...
計算機軟體的發展
在20世紀70年代,隨著科技的發展和各企業工作範圍以及員工工作強度的增加,大家越來越對每天手動除了報表以及紙質檔案感到頭痛以及力不從心,於 是,人們就在尋找一種操作更簡捷運算更準確的工具,於是,傳統企業軟體產生了。此時大家所使用的軟體,只是單機版本的應用軟體,也就是說,軟體只能安裝和 執行在一台計算...