1、資料結構定義
資料結構是指相互之間存在著一種或多種關係的資料
元素的集合和該集合中資料元素
之間的關係組成。
2、其邏輯結構的四種關係並畫出它們的關係圖
集合結構 2.線性結構 3.樹形結構 4.圖形結構
3、資料結構的特性
陣列:優點是插入快,如果知道下標,可以非常快地訪問。缺點是查詢慢,刪除慢,大小固定。
有序陣列:優點是比無序的資料查詢快。缺點是刪除和插入慢,大小固定。
棧:優點是提供後進先出方式的訪問。缺點是訪問其他項很慢。
佇列:提供先進先出方式的訪問。缺點是訪問其他項很慢。
鍊錶:優點是插入快,刪除快。缺點是查詢慢。
二叉樹:優點是查詢、插入、刪除都快(如果樹保持平衡)。缺點是刪除演算法複雜。
紅-黑樹:查詢、插入、刪除都快。樹總是平衡的。缺點是演算法複雜。
2-3-4樹:優點是查詢、插入、刪除都快。樹總是平衡的。類似的樹對磁碟儲存有用。缺點是演算法複雜。
雜湊表:優點是如果關鍵字已知則訪問極快。插入快。缺點是刪除慢,如果不知道關鍵字則訪問很慢,對儲存空間使用不充分。
堆:優點是插入、刪除快,對最大資料項的訪問很快。缺點是對其他資料項訪問慢。
圖:優點是對現實世界建模。缺點是有些演算法且複雜。
4、儲存結構由哪兩種基本的儲存方法實現?
主要分順序儲存結構和鏈式儲存結構兩種。
5、順序表和煉表的比較?p50
一.順序表:
1.1.從空間角度:
分配方式:靜態分配
儲存密度:為1
1.2.從時間角度:
訪問方式:隨機訪問
操作:插入刪除:o(n) ; 按序訪問:o(1);
二.鍊錶:
2.1.從空間角度:
分配方式:動態分配
儲存密度:小於1
2.2.從時間角度:
訪問方式:順序訪問
6、單鏈表、迴圈表和雙向鍊錶的比較
《資料結構-c語言版》(嚴蔚敏) p51
7、棧和佇列的異同點?
1) 棧與佇列的相同點:
都是線性結構。
插入操作都是限定在表尾進行。
都可以通過順序結構和鏈式結構實現。、
插入與刪除的時間複雜度都是o(1),在空間複雜度上兩者也一樣。
多鏈棧和多鏈佇列的管理模式可以相同。
2) 棧與佇列的不同點:
刪除資料元素的位置不同,棧的刪除操作在表尾進行,佇列的刪除操作在表頭進行。
應用場景不同;常見棧的應用場景包括括號問題的求解,表示式的轉換和求值,函式呼叫和遞迴實現,深度優先搜尋遍歷等;常見的佇列的應用場景包括計算機系統中各種資源的管理,訊息緩衝器的管理和廣度優先搜尋遍歷等。
順序棧能夠實現多棧空間共享,而順序佇列不能。
8、衡量演算法的基本標準?
時間複雜度:程式執行的次數
空間複雜度:程式執行過程中大概所占用的最大記憶體
難易程度
健壯性9、二叉樹的三種遍歷方法
遍歷二叉樹的所有結點且僅訪問一次。按照根節點位置的不同分為前序遍歷,中序遍歷,後序遍歷。
前序遍歷:根節點->左子樹->右子樹(根節點在前面)
中序遍歷:左子樹->根節點->右子樹(根節點在中間)
後序遍歷:左子樹->右子樹->根節點(根節點在後邊)
例如:求下面樹的三種遍歷
前序遍歷:abdefgc
中序遍歷:debgfac
後序遍歷:edgfbca
資料結構簡答題
答案 棧和佇列都是操作受限的線性表,棧只能在一端 棧頂 進行進出的線性表,而佇列是只能在一端 隊尾 插入,在另一端 隊頭 進行刪除的線性表,樹的先中後序遍歷可以通過棧來實現,從而避免遞迴操作,樹的層次遍歷,可以通過迴圈佇列實現。棧佇列 線性表受限 受限線性表進出 一端 棧頂 一端插入另一端刪除 實現...
作業系統期末簡答題
作業系統期末簡答題 打個樣,格式,提問引導,加粗 15 什麼是spooling技術?答 同時聯機外圍操作技術,它是關於慢速字元裝置如何與計算機主機進行資料交換的一種技術,通常又稱為假離線技術。在多道程式環境下,利用多道程式中的一道或者兩道程式來模擬離線輸入 輸出中的外圍控制機的功能,以到達 離線 輸...
Linux Dri Dev 期末考試簡答題
名字相同的不同函式的區別。kmalloc函式與vmalloc函式的區別 來自csdn kmalloc 用於申請較小的 連續的物理記憶體 以位元組為單位進行分配,在中 void kmalloc size t size,int flags 分配的記憶體實體地址上連續,虛擬 位址上自然連續 gfp mas...