資料結構問答題

2022-08-09 05:00:11 字數 2942 閱讀 7214

2. 資料元素之間的關係在計算機中有幾種表示方法?各有什麼特點?

四種表示方法 (1)順序儲存方式。資料元素順序存放,每個儲存結點只含乙個元素。儲存位置反映資料元素間的邏輯關係。儲存密度大,但有些操作(如插入、刪除)效率較差。 (2)鏈式儲存方式。每個儲存結點除包含資料元素資訊外還包含一組(至少乙個)指標。指標反映資料元素間的邏輯關係。這種方式不要求儲存空間連續,便於動態操作(如插入、刪除等),但儲存空間開銷大(用於指標),另外不能折半查詢等。 (3)索引儲存方式。除資料元素儲存在一位址連續的記憶體空間外,尚需建立乙個索引表,索引表中索引指示儲存結點的儲存位置(下標)或儲存區間端點(下標),兼有靜態和動態特性。 (4)雜湊儲存方式。通過雜湊函式和解決衝突的方法,將關鍵字雜湊在連續的有限的位址空間內,並將雜湊函式的值解釋成關鍵字所在元素的儲存位址,這種儲存方式稱為雜湊儲存。其特點是訪問速度快,只能按關鍵字隨機訪問,不能順序訪問,也不能折半訪問。

3. 資料型別和抽象資料型別是如何定義的。二者有何相同和不同之處,抽 象資料型別的主要特點是什麼?使用抽象資料型別的主要好處是什麼? 【北京郵電大學 1994 一(8 分)】

資料型別是程式語言中的乙個概念,它是乙個值的集合和操作的 集合。如 c 語言中的整型、實型、字元型等。整型值的範圍(對具體機器 都應有整數範圍),其操作有加、減、乘、除、求餘等。實際上資料型別是 廠家提供給使用者的已實現了的資料結構。「抽象資料型別(adt)」指乙個 數學模型及定義在該模型上的一組操作。「抽象」的意義在於資料型別的數 學抽象特性。抽象資料型別的定義僅取決於它的邏輯特性,而與其在計算 機內部如何表示和實現無關。無論其內部結構如何變化,只要它的數學特 性不變就不影響它的外部使用。抽象資料型別和資料型別實質上是乙個概 念。此外,抽象資料型別的範圍更廣,它已不再侷限於機器已定義和實現 的資料型別,還包括使用者在設計軟體系統時自行定義的資料型別。使用抽 象資料型別定義的軟體模組含定義、表示和實現三部分,封裝在一起,對 使用者透明(提供介面),而不必了解實現細節。抽象資料型別的出現使程式 設計不再是「藝術」,而是向「科學」邁進了一步。

4. 回答問題(每題 2 分)

(1)在資料結構課程中,資料的邏輯結構,資料的儲存結構及資料的 運算之間存在著怎樣的關係?

資料的邏輯結構反映資料元素之間的邏輯關係(即資料元素之間的關 聯方式或「鄰接關係」),資料的儲存結構是資料結構在計算機中的表示, 包括資料元素的表示及其關係的表示。資料的運算是對資料定義的一組操 作,運算是定義在邏輯結構上的,和儲存結構無關,而運算的實現則是依 賴於儲存結構。

(2)若邏輯結構相同但儲存結構不同,則為不同的資料結構。這樣的 說法對嗎?舉例說明之。

邏輯結構相同但儲存不同,可以是不同的資料結構。例如,線性表的 邏輯結構屬於線性結構,採用順序儲存結構為順序表,而採用鏈式儲存結 構稱為線性鍊錶。

(3)在給定的邏輯結構及其儲存表示上可以定義不同的運算集合,從 而得到不同的資料結構。這樣說法對嗎?舉例說明之。

棧和佇列的邏輯結構相同,其儲存表示也可相同(順序儲存和鏈式存 儲),但由於其運算集合不同而成為不同的資料結構。

(4)評價各種不同資料結構的標準是什麼?

資料結構的評價非常複雜,可以考慮兩個方面,一是所選資料結構是否準 確、完整的刻劃了問題的基本特徵;二是是否容易實現(如對資料分解是 否恰當;邏輯結構的選擇是否適合於運算的功能,是否有利於運算的實現; 基本運算的選擇是否恰當。)

5.評價乙個好的演算法,您是從哪幾方面來考慮的?

評價好的演算法有四個方面。一是演算法的正確性;二是演算法的易讀性;三是 演算法的健壯性;四是演算法的時空效率(執行)。 【大連海事大學 1996 二、3 (2 分)】【中山大學 1998 三、1 (5 分)】

6.解釋和比較以下各組概念【華南師範大學 2000 一(10 分)】

(1)抽象資料型別及資料型別

(2)資料結構、邏輯結構、儲存結構

(3)抽象資料型別【哈爾濱工業大學 2000 一、1(3 分)】

(4)演算法的時間複雜性 【河海大學 1998 一、2(3 分)】

(5)演算法【吉林工業大學 1999 一、1(2 分)】

(6)頻度【吉林工業大學 1999 一、2(2 分)】

(1)見上面題 3 (2)見上面題 4 (3)見上面題 3

(4)演算法的時間複雜性是演算法輸入規模的函式。演算法的輸入規模或問題 的規模是作為該演算法輸入的資料所含資料元素的數目,或與此數目有關的 其它引數。有時考慮演算法在最壞情況下的時間複雜度或平均時間複雜度。

(5)演算法是對特定問題求解步驟的描述,是指令的有限序列,其中每一 . 精品文件 條指令表示乙個或多個操作。演算法具有五個重要特性:有窮性、確定性、 可行性、輸入和輸出。

(6)頻度。在分析演算法時間複雜度時,有時需要估算基本操作的原操作, 它是執行次數最多的乙個操作,該操作重複執行的次數稱為頻度。

7. 根據資料元素之間的邏輯關係,一般有哪幾類基本的資料結構?

集合、線性結構、樹形結構、圖形或網狀結構。 【北京科技大學 1998 一、1】【同濟大學 1998】

8.對於乙個資料結構,一般包括哪三個方面的討論?【北京科技大學 1999 一、1(2 分)】

邏輯結構、儲存結構、操作(運算)。

9. 當你為解決某一問題而選擇資料結構時,應從哪些方面考慮?【西安電 子北京科技大學 2000】

通常考慮演算法所需要的儲存空間量和演算法所需要的時間量。後者又涉及 到四方面:程式執行時所需輸入的資料總量,對源程式進行編譯所需時間, 計算機執行每條指令所需時間和程式中指令重複執行的次數。

10. 若將資料結構定義為乙個二元組(d,r),說明符號 d,r 應分別表示 什麼? 【北京科技大學 2001 一、1(2 分)】

d 是資料元素的有限集合,s 是 d 上資料元素之間關係的有限集合。

11.資料結構與資料型別有什麼區別?【哈爾濱工業大學 2001 三、1(3 分)】

「資料結構」這一術語有兩種含義,一是作為一門課程的名稱;二是作為 乙個科學的概念。作為科學概念,目前尚無公認定義,一般認為,討論數 據結構要包括三個方面,一是資料的邏輯結構,二是資料的儲存結構,三 是對資料進行的操作(運算)。而資料型別是值的集合和操作的集合,可以 看作是已實現了的資料結構,後者是前者的一種簡化情況。

js問答題 彙總

1 this指向 閉包 全域性 區域性變數 var w 100 function f1 return f2 f1 100 this指向問題 window呼叫f2所以this指向window,this.w查詢全域性中的w 分割線 var w 100 function f1 return f2 f1 1...

乙個問答題

小弟目前有乙個模擬訊號需要處理,一直沒有什麼好的頭緒,希望大家幫幫忙,輸入訊號是乙個交流電流感測器輸出訊號,訊號是乙個50hz的交流訊號,訊號幅度是變化的 最小為0 最大為1.5v 且訊號偏移值為2.5v 也就是2.5 1.5sin x 這樣乙個訊號,現在為了後面的微控制器好處理,需要將這個訊號處理...

問答題 2 測試計畫

需要,系統測試計畫屬於專案階段性關鍵文件,因此需要評審!1.對客戶提供的或需求分析人員編寫的使用者需求文件或需求規格說明書進行分析,提煉出測試要點 2.根據測試要點編寫測試用例 3.由評審根據測試要點編寫測試用例 4.執行測試 4.1 按照測試用例對系統進行功能驗證及客戶的需求驗證 4.2 將測試過...