官术网_书友最值得收藏!

小結(jié)

(1)數(shù)據(jù)結(jié)構(gòu)是相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合。數(shù)據(jù)是由數(shù)據(jù)元素組成的,數(shù)據(jù)元素可以由若干個(gè)數(shù)據(jù)項(xiàng)組成,數(shù)據(jù)元素是數(shù)據(jù)的基本單位,數(shù)據(jù)項(xiàng)是數(shù)據(jù)的最小單位。

(2)數(shù)據(jù)結(jié)構(gòu)一般包括數(shù)據(jù)邏輯結(jié)構(gòu)、數(shù)據(jù)存儲結(jié)構(gòu)和數(shù)據(jù)運(yùn)算三個(gè)方面。數(shù)據(jù)運(yùn)算包括定義(運(yùn)算功能描述)和實(shí)現(xiàn)兩個(gè)層面。

(3)數(shù)據(jù)的邏輯結(jié)構(gòu)分為集合、線性結(jié)構(gòu)、樹狀結(jié)構(gòu)和圖形結(jié)構(gòu)。樹狀結(jié)構(gòu)和圖形結(jié)構(gòu)統(tǒng)稱為非線性結(jié)構(gòu)。

(4)數(shù)據(jù)的存儲結(jié)構(gòu)分為順序存儲結(jié)構(gòu)、鏈?zhǔn)酱鎯Y(jié)構(gòu)、索引存儲結(jié)構(gòu)和哈希(散列)存儲結(jié)構(gòu)。

(5)設(shè)計(jì)數(shù)據(jù)的存儲結(jié)構(gòu)時(shí),既要存儲邏輯結(jié)構(gòu)中的每個(gè)元素,還要存儲元素之間的邏輯關(guān)系。同一邏輯結(jié)構(gòu)可以設(shè)計(jì)相對應(yīng)的多個(gè)存儲結(jié)構(gòu)。

(6)描述一個(gè)問題的抽象數(shù)據(jù)類型由數(shù)據(jù)邏輯結(jié)構(gòu)和抽象運(yùn)算組成。

(7)算法是對特定問題求解步驟的一種描述,它是指令的有限序列。運(yùn)算實(shí)現(xiàn)通過算法來表示。

(8)算法具有有限性、確定性、可行性、輸入性和輸出性5個(gè)重要特性。

(9)算法滿足有限性,程序不一定滿足有限性。算法可以直接用計(jì)算機(jī)程序來描述,但算法必須用程序設(shè)計(jì)語言來描述是錯(cuò)誤的。

(10)當(dāng)用C/C++語言描述算法時(shí),通常算法采用C/C++函數(shù)的形式來描述,復(fù)雜算法可能需要多個(gè)函數(shù)來表示。

(11)在設(shè)計(jì)一個(gè)算法時(shí),先要弄清哪些是算法輸入,哪些是要求解的結(jié)果即算法輸出,通常將它們設(shè)計(jì)成函數(shù)形參,求解的結(jié)果可以作為引用型參數(shù)或函數(shù)返回值。

(12)對于一個(gè)算法給定的條件,需要判斷其有效性,通常當(dāng)條件有效并正確執(zhí)行時(shí)返回1(真),否則返回0(假)。

(13)算法分析包括時(shí)間復(fù)雜度和空間復(fù)雜度分析,其目的是分析算法的效率以求改進(jìn)。

(14)在分析算法的時(shí)間復(fù)雜度時(shí),通常選取算法中的基本運(yùn)算,求出其頻度,取最高階并置系數(shù)為1作為該算法的時(shí)間復(fù)雜度。

(15)通常算法是建立在數(shù)據(jù)存儲結(jié)構(gòu)之上的,設(shè)計(jì)好的存儲結(jié)構(gòu)可以提高算法的效率。

(16)求解問題的一般步驟是,建立其抽象數(shù)據(jù)類型,針對運(yùn)算的實(shí)現(xiàn)設(shè)計(jì)出合理的存儲結(jié)構(gòu),在此基礎(chǔ)上設(shè)計(jì)盡可能高效的算法。

主站蜘蛛池模板: 双桥区| 黔西| 双柏县| 绥滨县| 民权县| 右玉县| 黄冈市| 阿拉尔市| 确山县| 高要市| 灌阳县| 古浪县| 水富县| 临潭县| 景宁| 融水| 阿拉尔市| 香港 | 余干县| 禄劝| 屯昌县| 新津县| 新邵县| 涟水县| 顺义区| 龙南县| 明水县| 广元市| 岳阳县| 师宗县| 胶南市| 道孚县| 苏尼特右旗| 静乐县| 宜城市| 治县。| 布尔津县| 太康县| 长宁县| 新晃| 子长县|