數(shù)據(jù)結(jié)構(gòu)2023年7月28日
2023年7月28日
?
數(shù)據(jù)結(jié)構(gòu)
緒論: 數(shù)據(jù)結(jié)構(gòu)的基本概念
什么是算法
算法的時(shí)間復(fù)雜度
算法的空間復(fù)雜度
?
c語(yǔ)言基礎(chǔ): 分支,循環(huán)
數(shù)組
函數(shù)
指針,地址
struct結(jié)構(gòu)體
數(shù)據(jù):數(shù)據(jù)是信息的載體,是描述客觀事物屬性的數(shù)、字符及所有能輸入到計(jì)算機(jī)中并被計(jì)算機(jī)程序識(shí)別和處理的符號(hào)的集合。數(shù)據(jù)是計(jì)算機(jī)程序加工的原料。
早期計(jì)算機(jī)處理的數(shù)據(jù):數(shù)值
現(xiàn)代計(jì)算機(jī)處理的數(shù)據(jù):數(shù)值,非數(shù)值(字符)
數(shù)據(jù)元素--描述一個(gè)個(gè)體
數(shù)據(jù)元素
數(shù)據(jù)元素是數(shù)據(jù)的基本單位,通常作為一個(gè)整體進(jìn)行考慮和處理
數(shù)據(jù)項(xiàng)
一個(gè)數(shù)據(jù)元素可由若干數(shù)據(jù)項(xiàng)組成,數(shù)據(jù)項(xiàng)是構(gòu)成數(shù)據(jù)元素的不可分割的最小單位
數(shù)據(jù)對(duì)象
數(shù)據(jù)對(duì)象是具有相同性展的數(shù)據(jù)元素的集合,是數(shù)據(jù)的一個(gè)子集
數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)結(jié)構(gòu)是相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合
數(shù)據(jù)結(jié)構(gòu)的三要素:邏輯結(jié)構(gòu),數(shù)據(jù)的運(yùn)算,物理結(jié)構(gòu)
邏輯結(jié)構(gòu):集合結(jié)構(gòu),線性結(jié)構(gòu),樹形結(jié)構(gòu),圖形結(jié)構(gòu)
數(shù)據(jù)的運(yùn)算:針對(duì)于某種邏輯結(jié)構(gòu),結(jié)合實(shí)際需求,定義基本運(yùn)算
對(duì)于邏輯結(jié)構(gòu)為--線性結(jié)構(gòu)的結(jié)構(gòu)來(lái)講,基本運(yùn)算有:查找,插入,刪除
物理結(jié)構(gòu):順序存儲(chǔ),鏈?zhǔn)酱鎯?chǔ),索引存儲(chǔ),散列存儲(chǔ)
存儲(chǔ)有物理上連續(xù),離散的區(qū)分
數(shù)據(jù)類型:數(shù)據(jù)類型是一個(gè)值的集合和定義在此集合上的一組操作的總稱。
1,原子類型。其值不可再分的數(shù)據(jù)類型
2,結(jié)構(gòu)類型。其值可以再分解為若干成分(分量)的數(shù)據(jù)類型
抽象數(shù)據(jù)類型:ADT,是抽象數(shù)據(jù)組織及與之相關(guān)的操作
算法
程序=數(shù)據(jù)結(jié)構(gòu)+算法
數(shù)據(jù)結(jié)構(gòu)—食材
算法—烹飪方式
算法的特性:有窮性,確定性,可行性,輸入,輸出
有窮性:一個(gè)算法必須總在執(zhí)行有窮步之后結(jié)束,且每一步都可在有窮時(shí)間內(nèi)完成
確定性:算法每條指令必須有確切的含義,對(duì)于相同的輸入只能得出相同的輸出
可行性:可行性:算法中描述的操作都可以通過(guò)已經(jīng)實(shí)現(xiàn)的基本運(yùn)算執(zhí)行有限次來(lái)實(shí)現(xiàn)
輸入:一個(gè)算法有零個(gè)或多個(gè)輸入,這些輸入取自于某個(gè)特定的對(duì)象的集合
輸出:一個(gè)算法有一個(gè)或多個(gè)輸出,這些輸出是與輸入有著某種特定關(guān)系的量
好算法的特質(zhì):正確性,可讀性,健壯性,高效率與低存儲(chǔ)需求