基本概念和術(shù)語
(1) 數(shù)據(jù)
是描述客觀事物的符號乡翅,是計算機中可以操作的對象,是能被計算機識別秧骑,并輸入給計算機處理的符號集合版确。數(shù)據(jù)不僅僅包括整型、實型等數(shù)值類型乎折,還包括字符及聲音绒疗、圖像、視頻等非數(shù)值類型
(2) 數(shù)據(jù)對象
是性質(zhì)相同的數(shù)據(jù)元素的集合骂澄,是數(shù)據(jù)的子集
(3) 數(shù)據(jù)元素
- 是組成數(shù)據(jù)的吓蘑、有一定意義的基本單位,在計算機中通常作為整體處理。也被稱為記錄
- 數(shù)據(jù)元素才是數(shù)據(jù)結(jié)構(gòu)中建立數(shù)據(jù)模型的著眼點
(4) 數(shù)據(jù)項
一個數(shù)據(jù)元素可以由若干個數(shù)據(jù)項組成磨镶。數(shù)據(jù)項是數(shù)據(jù)不可分割的最小單位
(5) 關(guān)系
關(guān)系
2 數(shù)據(jù)結(jié)構(gòu)
(1) 邏輯結(jié)構(gòu)
A 集合
集合
B 線性結(jié)構(gòu)
線性結(jié)構(gòu)
C 樹
數(shù)
D 圖
圖
(2) 存儲結(jié)構(gòu)(物理結(jié)構(gòu))
A 順序存儲結(jié)構(gòu)
排隊占位溃蔫。大家都按順序排好,每個人占一小段空間琳猫,大家誰也別插誰的隊
B 鏈式存儲結(jié)構(gòu)
- 把數(shù)據(jù)元素存放在任意的存儲單元里伟叛,這組存儲單元可以是連續(xù)的,也可以是不連續(xù)的
- 數(shù)據(jù)元素的存儲關(guān)系并不能反映其邏輯關(guān)系脐嫂,因此需要用一個指針存放數(shù)據(jù)元素的地址统刮,這樣通過地址就可以找到相關(guān)聯(lián)數(shù)據(jù)元素的位置
(3) 數(shù)據(jù)的運算
3 常見的時間復雜度所耗時間的大小排列
常見的時間復雜度所耗時間的大小排列
4 算法的基本概念
算法是解決某個特定問題的一種方法或一個過程,是由若干條指令組成的有窮序列
5 算法評價
(1) 五大特性
有窮性雹锣、確定性网沾、可行性、輸入蕊爵、輸出
(2) 算法設(shè)計要求
正確性辉哥、可讀性、健壯性攒射、時間與空間效率
6 算法分析
(1) 時間復雜度
(2) 空間復雜度
(3) 大O表示法
O(k層for循環(huán)) = O(nk)
O(while) = O(log2n)
7 辨析
(1) 數(shù)據(jù) vs 信息
- 信息指含有一定含義的數(shù)據(jù)醋旦,或者說我們?nèi)祟惪梢灾苯永斫獾膬?nèi)容
- 數(shù)據(jù)則常指信息的載體,把信息進行轉(zhuǎn)化以便于保存和處理
(2) 程序 vs 軟件
- 軟件是由程序組成的会放,他是屬于看的見的東西饲齐;程序是一些數(shù)字信息,是看不見的
- 程序文件(.exe咧最、.dll等類型文件)是一種可執(zhí)行的文件捂人;而軟件是讓我們通過他去支配電腦做事情
(3) 數(shù)值計算 vs 非數(shù)值計算
- 數(shù)值型數(shù)據(jù)指直接使用自然數(shù)或度量衡單位進行計量的具體的數(shù)值
- 非數(shù)值數(shù)據(jù)處理對象是(如文字、圖像矢沿、聲音等)的計算機應(yīng)用領(lǐng)域滥搭。如模式識別、情報檢索捣鲸、人工智能瑟匆、數(shù)學定理證明、語言翻譯栽惶、計算機輔助教學等
(4) 結(jié)構(gòu)化數(shù)據(jù) vs 非結(jié)構(gòu)化數(shù)據(jù)
- 結(jié)構(gòu)化數(shù)據(jù)即行數(shù)據(jù),存儲在數(shù)據(jù)庫里,可以用二維表結(jié)構(gòu)來邏輯表達實現(xiàn)的數(shù)據(jù)
- 非結(jié)構(gòu)化數(shù)據(jù)即不方便用數(shù)據(jù)庫二維邏輯表來表現(xiàn)的數(shù)據(jù)愁溜,包括所有格式的辦公文檔、文本外厂、圖片冕象、XML、HTML酣衷、各類報表交惯、圖像和音頻/視頻信息等等