4.線性表part1

1.線性表(List):由零個或多個數據元素組成的有限序列。
這裏需要強調幾個關鍵的地方:
首先它是一個序列,也就是說元素之間是有個先來後到的。
若元素存在多個,則第一個元素無前驅,而最後一個元素無後繼,其他元素都有且只有一個前驅和後繼。
另外,線性表強調是有限的,事實上無論計算機發展到多強大,它所處理的元素都是有限的。
如果用數學語言來進行定義,可如下:
若將線性表記爲(a1,…,ai-1,ai,ai+1,…an,則表中ai-1領先於ai,ai領先於ai+1,ai-1ai的直接前驅元素,ai+1ai的直接後繼元素。

所以線性表元素的個數n(n>=0)定義爲線性表的長度,當n=0時,稱爲空表。

2.數據類型:是指一組性質相同的值的集合及定義在此集合上的一些操作的總稱。
例如很多編程語言的整型,浮點型,字符型這些指的就是數據類型。
例如在C語言中,按照取值的不同,數據類型可以分爲兩類:
原子類型:不可以再分解的基本類型,例如整型、浮點型、字符型等。
結構類型:由若干個類型組合而成,是可以再分解的,例如整型數組是由若干整型數據組成的。
抽象:是指抽取出事物具有的普遍性的本質。它要求抽出問題的特徵而忽略非本質的細節,是對具體事物的一個概括。抽象是一種思考問題的方式,它隱藏了繁雜的細節。
(1)抽象數據類型(Abstract Data Type,ADT)是指一個數學模型及定義在該模型上的一組操作。
抽象數據類型的定義僅取決於它的一組邏輯特性,而與其在計算機內部如何表示和實現無關。
比如1+1=2這樣一個操作,在不同CPU的處理上可能不一樣,但由於其定義的數學特性相同,所以在計算機編程者看來,它們都是相同的。
“抽象”的意義在於數據類型的數學抽象特性。
而且,抽象數據類型不僅僅指那些已經定義並實現的數據類型,還可以是計算機編程者在設計軟件程序時自己定義的數據類型。
例如一個3D遊戲中,要定位角色的位置,那麼總會出現x,y,z三個整型數據組合在一起的座標。我們就可以定義一個point的抽象數據類型,它擁有x,y,z三個整型變量,這樣我們就可以方便的對一個角色的位置進行操作。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章