數(shù)據(jù)結(jié)構(gòu)研究主要內(nèi)容:
1.數(shù)據(jù)的各種邏輯結(jié)構(gòu)和物理結(jié)構(gòu),以及它們之間的相應(yīng)關(guān)系
2.對每種結(jié)構(gòu)定義相適應(yīng)的各種算法
3.設(shè)計(jì)相應(yīng)的算法
4.分析算法的效率
常見數(shù)據(jù)結(jié)構(gòu):數(shù)組、棧、隊(duì)列、表、串、樹、圖、文件等
基本術(shù)語:
數(shù)據(jù)(Data):所有能被計(jì)算機(jī)處理的符號的總稱
數(shù)據(jù)元素(Data? Element):數(shù)據(jù)集合中的一個(gè)個(gè)體。? eg.? D = {d1 ,d2, d3, ...di},di屬于D,稱di為數(shù)據(jù)元素
數(shù)據(jù)項(xiàng)(Data Item):數(shù)據(jù)元素常常還可分為若干個(gè)數(shù)據(jù)項(xiàng)(若干個(gè)數(shù)據(jù)特性),數(shù)據(jù)項(xiàng)是數(shù)據(jù)具有意義的最小單位
數(shù)據(jù)對象(Data Object):具有相同特性的數(shù)據(jù)元素的集合
數(shù)據(jù)結(jié)構(gòu)(Data Structure):帶有結(jié)構(gòu)的數(shù)據(jù)元素的集合(數(shù)據(jù)及其對應(yīng)關(guān)系的集合,2種集合)
邏輯結(jié)構(gòu)(Logical Structure):數(shù)據(jù)元素之間的關(guān)系
物理結(jié)構(gòu)(Physical Structure):數(shù)據(jù)結(jié)構(gòu)在機(jī)內(nèi)的表示
算法描述和算法分析
一.算法(Algorithm)
1.算法概念:算法是一個(gè)有限的指令集。遵循指令流可以完成特定的功能
2.算法基本特性:
有窮性:算法經(jīng)有限步驟后結(jié)束;
確定性:下一步必須是明確的;
可行性:每一步是可執(zhí)行的;
3,算法和程序的區(qū)別
算法 是解決問題的一種方法或一個(gè)過程,考慮如何將輸入轉(zhuǎn)換成輸出。
程序? 是用某種程序設(shè)計(jì)語言對算法的具體實(shí)現(xiàn)
主要區(qū)別:有窮性、正確性和描述方法
程序可以是無窮的,例如OS,算法是有窮的
程序可以是錯(cuò)誤的,算法必須是正確的
程序是用程序設(shè)計(jì)語言描述,在機(jī)器上可以執(zhí)行
算法還可以用框圖、自然語言等方式描述