抽象資料型別 表

2021-06-26 21:51:21 字數 861 閱讀 2653

資料結構與演算法分析.c 實現 總結

抽象資料型別:abstract data type,首先顧名思義,①她是一種資料型別,就像整數、字元,類似於加減乘除,他有自己的操作,例如:並和查詢;②並沒有什麼法則規定一定要有什麼操作,具體的看設計要求;③每種資料型別的實現方式也是不同的,主要有 陣列實現和鍊錶實現,不同的實現對於不同的資料結構的不同運算有不同的優缺點。

基礎名詞:表、空表、前驅、後繼

基本操作集合:printlist, makeempty,find,findkth ,insert, delete...

陣列實現;①需要對錶的最大值進行估計,浪費空間

②printlist和find可以以線性時間執行,findkth只花費常數,但是插入和刪除的花費很大;

鍊錶實現:①每個結構含有表元素和指向包含該元素的後繼元的結構的next指標

常見錯誤:①「memory access violation"或"segmentation violation"通常意味著指標變數包含了偽位址。可能的原因是初始化失敗、或是指標指向了null。②malloc的使用問題,宣告指向乙個結構的指標並不建立該結構;給結構體分配空間而不是指標:(list *)malloc(sizeof(struct node))

應用:

①多項式adt:自己只實現了用陣列實現

②基數排序:有一點錯誤

③多重表

鍊錶的游標實現:

模仿鍊錶的兩個特性:next;malloc/free

抽象資料型別

本篇文章簡單的講解下表 棧 佇列。首先先了解一下什麼是抽象資料型別。它是這麼定義的 抽象資料型別 abstract data type,即adt 是帶有一組操作的一些物件的集合。那麼adt怎麼理解呢?首先你只需要記住表 集合 圖以及與他們各自的操作一起形成的物件都可以被看做抽象資料型別.這就跟整型 ...

抽象資料型別(ADT

說到抽象資料型別,那麼就得先提到資料型別 資料型別指的是乙個值的集合以及定義在這個集合上的一組操作 為什麼要有不同的資料型別呢 當我們計算1 1的時候,只需要很小的儲存空間,但是當我們去計算10000 100000的時候,所需要的空間就會大許多,那麼我們為了去區分這些類別的差異,就有了不同的資料型別...

列表(抽象資料型別)

列表 抽象資料型別 維基百科,自由的百科全書 這篇文章是關於順序資料結構。對於隨機訪問資料結構,請參閱陣列資料型別。在電腦科學中,列表或序列是一種抽象資料型別,表示可數數量的有序值,其中相同的值可能會出現多次。列表的例項是有限序列的數學概念的計算機表示 列表的 潛在地 無限型別是流。1 3.5列表是...