- 數(shù)據(jù)結(jié)構(gòu)簡明教程(第2版)微課版
- 李春葆主編
- 831字
- 2019-07-01 10:16:51
小結(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ì)盡可能高效的算法。
- Angular UI Development with PrimeNG
- 軟件界面交互設(shè)計(jì)基礎(chǔ)
- 數(shù)據(jù)結(jié)構(gòu)和算法基礎(chǔ)(Java語言實(shí)現(xiàn))
- Visual Basic編程:從基礎(chǔ)到實(shí)踐(第2版)
- Functional Programming in JavaScript
- 假如C語言是我發(fā)明的:講給孩子聽的大師編程課
- C語言程序設(shè)計(jì)
- MySQL數(shù)據(jù)庫管理與開發(fā)實(shí)踐教程 (清華電腦學(xué)堂)
- Windows Server 2016 Automation with PowerShell Cookbook(Second Edition)
- Elasticsearch Server(Third Edition)
- Node.js Design Patterns
- Swift 4 Protocol-Oriented Programming(Third Edition)
- SQL Server 2008 R2數(shù)據(jù)庫技術(shù)及應(yīng)用(第3版)
- Unity Character Animation with Mecanim
- NGUI for Unity