程式設計 = 資料結構 + 演算法
資料結構:是相互之間存在一種或多種特定關係的資料元素的集合。資料:描述客觀事物的符號,是計算機可以操作的物件,能被計算機識別,並輸入給計算機處理的符號集合。基本的概念和術語:
資料元素:是組成資料的,有一定意義的基本單位,在計算機中通常作為整體處理,也被稱為記錄。
資料項:乙個資料元素可以由若干個資料項組成。資料項是資料不可分割的最小單位。
資料物件:是性質相同的資料元素的集合,是資料的子集。
我自己的理解是,如果資料物件是乙個類的話,那麼資料元素就是類new出來的物件,資料項就是類的屬性。
資料結構的分類
邏輯結構:是指資料物件中資料元素之間的相互關係。
集合結構:集合結構中的元素資料出了同屬於乙個集合外,沒有其他關係。
線性結構:資料元素一對一的關係
樹形結構:資料元素一對多的關係
圖形結構:資料元素多對多的關係
儲存結構:是指資料的邏輯結構在計算機上的儲存。
鏈式結構:是把資料元素存放在任意的地質單元中,可以連續,也可以不連續。不能反映邏輯關係。
演算法是解決特定問題求解步驟的描述,在計算機中表現為指令的有限序列,並且每條指令表示是乙個或多個操作演算法的特性:輸入、輸出、有窮性、確定性和可行性。
演算法設計的要求:正確性,可讀性,健壯性,時間效率高,儲存量低。
時間複雜度
在執行演算法分析時,語句總的執行次數t(n)是關於問題規模n的函式,分析t(n)和n的關係。演算法的時間複雜度,記作:t(n) = o(f(n))。隨著問題規模n的增大,演算法執行時間的增長率和f(n)的增長率相同,稱作演算法的漸進時間複雜度,簡稱為時間複雜度。推導大o階方法
用常數1取代執行時間中的所有加法常數。
在修改後的執行次數函式中,只保留最高端項。
如果最高端項存在且不是1,去掉常數,保留最高端。
常見的演算法複雜度o(1)最壞情況和平均情況:
比如我們要在陣列中查詢乙個數字,最好情況那就是一次找到,最壞情況是最後一次找到,平均情況是二者的平均數。
平均執行時間是最有意義的,因為它是期望的執行時間。
但是一般在沒有特殊說明的情況下,時間複雜度都是只最壞的時間複雜度。
資料結構的概念 有關概念和術語
資料 data 是資訊的載體,它能夠被計算機識別 儲存和加工處理。它是電腦程式加工的原料,應用程式處理各種各樣的資料。電腦科學中,所謂資料就是計算機加工處理的物件,它可以是數值資料,也可以是非數值資料。數值資料是一些整數 實數或複數,主要用於工程計算 科學計算和商務處理等 非數值資料報括字元 文字 ...
資料結構 基本概念和術語
第一章 緒論 1.1 什麼是資料結構 資料結構研究的主要內容 資料結構是一門研究非數值計算的程式設計問題中計算機的操作物件以及它們之間的關係和操作等的學科。1.2 基本概念和術語 資料 data 所有能被輸入到計算機中,且被計算機處理的符號的集合是計算機操作對 象的總稱。資料元素 data elem...
資料結構 基本概念和術語
第一章 緒論 1.1 什麼是資料結構 資料結構研究的主要內容 資料結構是一門研究非數值計算的程式設計問題中計算機的操作物件以及它們之間的關係和操作等的學科。1.2 基本概念和術語 資料 data 所有能被輸入到計算機中,且被計算機處理的符號的集合是計算機操作對 象的總稱。資料元素 data elem...