數(shù)據(jù)結(jié)構(gòu)考研復(fù)習(xí)之線性表邏輯結(jié)構(gòu)_跨考網(wǎng)
線性表的定義
線性表是一種線性結(jié)構(gòu)。線性結(jié)構(gòu)的特點是數(shù)據(jù)元素之間是一種線性關(guān)系,數(shù)據(jù)元素“一個接一個的排列”。在一個線性表中數(shù)據(jù)元素的類型是相同的,或者說線性表是由同一類型的數(shù)據(jù)元素構(gòu)成的線性結(jié)構(gòu)。在實際問題中線性表的例子是很多的,如學(xué)生情況信息表是一個線性表:表中數(shù)據(jù)元素的類型為學(xué)生類型; 一個字符串也是一個線性表:表中數(shù)據(jù)元素的類型為字符型,等等。
綜上所述,線性表定義如下:
線性表是具有相同數(shù)據(jù)類型的n(n>=0)個數(shù)據(jù)元素的有限序列,通常記為:
(a1,a2,… ai-1,ai,ai+1,…an)
其中n為表長, n=0 時稱為空表。
表中相鄰元素之間存在著順序關(guān)系。將 ai-1 稱為 ai 的直接前趨,ai+1 稱為 ai 的直接后繼。就是說:對于ai,當(dāng) i=2,...,n 時,有且僅有一個直接前趨 ai-1.,當(dāng)i=1,2,...,n-1 時,有且僅有一個直接后繼 ai+1,而 a1 是表中第一個元素,它沒有前趨,an 是最后一個元素?zé)o后繼。
需要說明的是:ai為序號為 i 的數(shù)據(jù)元素(i=1,2,…,n),通常我們將它的數(shù)據(jù)類型抽象為datatype,datatype根據(jù)具體問題而定,如在學(xué)生情況信息表中,它是用戶自定義的學(xué)生類型; 在字符串中,它是字符型; 等等。
線性表的基本操作
在第一章中提到,數(shù)據(jù)結(jié)構(gòu)的運算是定義在邏輯結(jié)構(gòu)層次上的,而運算的具體實現(xiàn)是建立在存儲結(jié)構(gòu)上的,因此下面定義的線性表的基本運算作為邏輯結(jié)構(gòu)的一部分,每一個操作的具體實現(xiàn)只有在確定了線性表的存儲結(jié)構(gòu)之后才能完成。
線性表上的基本操作有:
?、?線性表初始化:Init_List(L)
初始條件:表L不存在
操作結(jié)果:構(gòu)造一個空的線性表
?、?求線性表的長度:Length_List(L)
初始條件:表L存在
操作結(jié)果:返回線性表中的所含元素的個數(shù)
?、?取表元:Get_List(L,i)
初始條件:表L存在且1<=i<=Length_List(L)
操作結(jié)果:返回線性表L中的第i個元素的值或地址
?、?按值查找:Locate_List(L,x),x是給定的一個數(shù)據(jù)元素。
初始條件:線性表L存在
操作結(jié)果:在表L中查找值為x的數(shù)據(jù)元素,其結(jié)果返回在L中首次出現(xiàn)的值為x的那個元素的序號或地址,稱為查找成功; 否則,在L中未找到值為x的數(shù)據(jù)元素,返回一特殊值表示查找失敗。
?、?插入操作:Insert_List(L,i,x)
初始條件:線性表L存在,插入位置正確 (1<=i<=n+1,n為插入前的表長)。
操作結(jié)果:在線性表L的第 i 個位置上插入一個值為 x 的新元素,這樣使原序號為 i , i+1, ... , n 的數(shù)據(jù)元素的序號變?yōu)?i+1,i+2, ... , n+1,插入后表長=原表長+1。
?、?刪除操作:Delete_List(L,i)
初始條件:線性表L存在,1<=i<=n。
操作結(jié)果:在線性表L中刪除序號為i的數(shù)據(jù)元素,刪除后使序號為 i+1, i+2,..., n 的元素變?yōu)樾蛱枮?i, i+1,...,n-1,新表長=原表長-1。
需要說明的是:
1. 某數(shù)據(jù)結(jié)構(gòu)上的基本運算,不是它的全部運算,而是一些常用的基本的運算,而每一個基本運算在實現(xiàn)時也可能根據(jù)不同的存儲結(jié)構(gòu)派生出一系列相關(guān)的運算來。比如線性表的查找在鏈?zhǔn)酱鎯Y(jié)構(gòu)中還會有按序號查找; 再如插入運算,也可能是將新元素x插入到適當(dāng)位置上等等,不可能也沒有必要全部定義出它的運算集,讀者掌握了某一數(shù)據(jù)結(jié)構(gòu)上的基本運算后,其它的運算可以通過基本運算來實現(xiàn),也可以直接去實現(xiàn)。
2. 在上面各操作中定義的線性表L僅僅是一個抽象在邏輯結(jié)構(gòu)層次的線性表,尚未涉及到它的存儲結(jié)構(gòu),因此每個操作在邏輯結(jié)構(gòu)層次上尚不能用具體的某種程序語言寫出具體的算法,而算法的實現(xiàn)只有在存儲結(jié)構(gòu)確立之后。
2022考研初復(fù)試已經(jīng)接近尾聲,考研學(xué)子全面進入2023屆備考,跨考為23考研的考生準(zhǔn)備了10大課包全程準(zhǔn)備、全年復(fù)習(xí)備考計劃、目標(biāo)院校專業(yè)輔導(dǎo)、全真復(fù)試模擬練習(xí)和全程針對性指導(dǎo);2023考研的小伙伴針也已經(jīng)開始擇校和復(fù)習(xí)了,跨考考研暢學(xué)5.0版本全新升級,無論你在校在家都可以更自如的完成你的考研復(fù)習(xí),暑假集訓(xùn)營帶來了院校專業(yè)初步選擇,明確方向;考研備考全年規(guī)劃,核心知識點入門;個性化制定備考方案,助你贏在起跑線,早出發(fā)一點離成功就更近一點!
點擊右側(cè)咨詢或直接前往了解更多
考研院校專業(yè)選擇和考研復(fù)習(xí)計劃 | |||
2023備考學(xué)習(xí) | 2023線上線下隨時學(xué)習(xí) | 34所自劃線院校考研復(fù)試分?jǐn)?shù)線匯總 | |
2022考研復(fù)試最全信息整理 | 全國各招生院??佳袕?fù)試分?jǐn)?shù)線匯總 | ||
2023全日制封閉訓(xùn)練 | 全國各招生院??佳姓{(diào)劑信息匯總 | ||
2023考研先知 | 考研考試科目有哪些? | 如何正確看待考研分?jǐn)?shù)線? | |
不同院校相同專業(yè)如何選擇更適合自己的 | 從就業(yè)說考研如何擇專業(yè)? | ||
手把手教你如何選專業(yè)? | 高校研究生教育各學(xué)科門類排行榜 |
相關(guān)推薦
跨考考研課程
班型 | 定向班型 | 開班時間 | 高定班 | 標(biāo)準(zhǔn)班 | 課程介紹 | 咨詢 |
秋季集訓(xùn) | 沖刺班 | 9.10-12.20 | 168000 | 24800起 | 小班面授+專業(yè)課1對1+專業(yè)課定向輔導(dǎo)+協(xié)議加強課程(高定班)+專屬規(guī)劃答疑(高定班)+精細化答疑+復(fù)試資源(高定班)+復(fù)試課包(高定班)+復(fù)試指導(dǎo)(高定班)+復(fù)試班主任1v1服務(wù)(高定班)+復(fù)試面授密訓(xùn)(高定班)+復(fù)試1v1(高定班) | |
2023集訓(xùn)暢學(xué) | 非定向(政英班/數(shù)政英班) | 每月20日 | 22800起(協(xié)議班) | 13800起 | 先行階在線課程+基礎(chǔ)階在線課程+強化階在線課程+真題階在線課程+沖刺階在線課程+專業(yè)課針對性一對一課程+班主任全程督學(xué)服務(wù)+全程規(guī)劃體系+全程測試體系+全程精細化答疑+擇校擇專業(yè)能力定位體系+全年關(guān)鍵環(huán)節(jié)指導(dǎo)體系+初試加強課+初試專屬服務(wù)+復(fù)試全科標(biāo)準(zhǔn)班服務(wù) |