資料結構( 版)第一章總結

2021-06-25 18:20:53 字數 1769 閱讀 4054

程式設計的實質是資料表示資料處理,其核心分別為資料結構演算法。圖靈獎獲得者沃思給出一著名公式:資料結構+演算法=程式資料是資訊的載體,分為數值資料非數值資料,資料元素是資料的基本單位。資料結構是指相互之間存在一定關係的資料元素的集合,按照視點的不同分為邏輯結構儲存結構。

演算法是對特定問題求解步驟的一種描述,是指令的有序序列。演算法必須滿足五個特性 :

1.輸入:乙個演算法有零個或多個輸入(即演算法可以沒有輸入)

2.輸出:乙個演算法有乙個或多個輸出(即演算法必須要有輸出)

3.有窮性:乙個演算法必須總是在執行有窮步之後結束,且每一步都在有窮時間內完成

4.確定性:演算法中每一條指令必須有確切的含義,不存在二義性

5.可行性:演算法描述的操作可以通過已經實現的基本操作執行有限次來實現

乙個「好」演算法除要滿足上述五大特性還需要具備正確性魯棒性簡單性抽象分級高效性等特性。演算法設計者在構思和設計了乙個演算法之後,必須清楚準確地將所設計的求解步驟記錄下來,即描述演算法,常用的描述演算法有自然語言(優點:易理解;缺點:易出現二義性且演算法通常很冗長)、流程圖(優點:直觀易懂;缺點:嚴密性不如程式語言,靈活性不如自然語言)、程式語言(優點:能由計算機直接執行;缺點:抽象性差)和偽**(介於自然語言和程式語言之間的方法,被稱為「演算法語言」或「第一語言」)等。

通常我們採用事前分析估算的方法——漸進複雜度來度量

乙個演算法的效率,它是對演算法所消耗資源的一種估算方法。影響演算法時間代價的最主要因素是

問題規模

。為了客觀地反映乙個演算法的執行時間,可以用演算法中基本語句的執行次數來度量演算法的工作量,

基本語句

是執行次數與整個演算法的執行次數成正比的語句,對演算法執行時間的貢獻最大,是演算法中最重要的操作。

當分析乙個演算法時,一般來說,最好情況不能作為演算法效能的代表,因為它發生的概率太小,對於條件的考慮太樂觀了。但是,當最好情況出現的概率較大時,應該分析最好情況。分析最差情況有乙個好處:它能讓你知道演算法的執行時間最壞能壞到什麼程度。通常需要分析均情況的時間代價。

演算法的空間複雜度是指在演算法的執行過程中,需要的輔助空間數量。輔助空間是除演算法本身和輸入輸出資料所佔據的空間外,演算法臨時開闢的儲存空間。通常記作:

s(n)=o(f(n))

其中,n為問題規模,分析方法與演算法的時間複雜度類似。

資料結構第一章總結

1 程式設計的一般過程 問題 想法 演算法 程式 2 程式 資料結構 演算法 3 本書討論的內容 1 資料的邏輯結構 2 資料的儲存結構 3 演算法 4 常用的資料處理技術 4 資料的基本概念 1 資料是資訊的載體,在電腦科學中是指所有能輸入到計算機中並能被電腦程式識別和處理的符號集合。2 資料元素...

資料結構 第一章總結

之前自考的總結發的很少,這次要認真的總結一些,一是因為資料結構比較底層,需要好好梳理這部分知識,二是總結過後印象更加的深刻,這次總結一下第一章內容 本章是本書的概述性內容,首先從引言丟擲計算機解決問題的過程,這個過程說白了就是對於資料的處理,分為三部分,首先將實際資料按照某種方式組織起來,抽象出乙個...

浙大版《資料結構》第一章

什麼是資料結構?cs界至今無標準定義。精心選擇的資料結構可以帶來效率最優的演算法。資料結構 資料的物件集合 組織方式 邏輯 物理 操作集合及實現演算法。資料的物件 組織與操作均可從邏輯和物理兩方面觀察,計算機處理資訊的關鍵是將邏輯資訊集對映到計算機的物理器件上形成物理器件的狀態集 抽象資料型別 ad...