線性表
- 排隊(duì)的時(shí)候只需要記住前一個(gè)元素和后一個(gè)元素就可以了
- 線性表搂擦,像排隊(duì)一樣,具有線一樣性質(zhì)的結(jié)構(gòu)
- 線性表(List):由零個(gè)或者多個(gè)數(shù)據(jù)元素組成的有限序列
需要注意的幾個(gè)關(guān)鍵的地方:
- 1 首先它是一個(gè)序列扳还,也就是說元素之間是有個(gè)先來后到的
- 2 若元素存在多個(gè),則第一個(gè)元素?zé)o前驅(qū)氨距,而最后一個(gè)元素?zé)o后繼,其他元素都有并且只有一個(gè)前后元素
- 3元素是有窮的
- 數(shù)學(xué)語言進(jìn)行定義:a1,a2,ai-1,ai,ai+1...an
- 所以線性表元素的個(gè)數(shù)n(n>=0),當(dāng)長度n為0時(shí)候楞遏,則線性表為空
抽象數(shù)據(jù)類型
指一組性質(zhì)相同的值的集合以及定義在此集合上的一些操作的總稱
原子類型:不可以再分解的基本類型首昔,例如整型、浮點(diǎn)型等
結(jié)構(gòu)類型:有若干個(gè)類型組合而成预鬓,是可以再分解的撬陵,例如整型數(shù)組是由若干整型數(shù)據(jù)組成的
抽象:是指抽取事物具有的普遍性的本質(zhì)。
抽象數(shù)據(jù)類型(Abstract Data Type,ADT)是指一個(gè)數(shù)學(xué)模型的定義僅取決于它的一組邏輯特性巨税,而在其計(jì)算機(jī)內(nèi)如何表示和實(shí)現(xiàn)無關(guān)。
模擬一個(gè)求兩個(gè)集合的并集偽代碼(C):
void unionL(List *La,list Lb)
{
int La_len,Lb_len,i;
ElemType,e;
La_len = ListLength(*La);
Lb_len = ListLength(Lb);
for(i=1;i<=La_len;i++){
//從某個(gè)集合中
GetElem(Lb,i,&e)
//查找當(dāng)前元素是否不在La集合中
if(!LocateElem(*La,e)){
//在線性表中的i位置插入某個(gè)元素
ListInsert(La,++La_len,e);
}
}
}