資料結構基礎—緒論
一、什么式資料結構
資料結構是一門研究非數值計算的程式實際問題中計算機的操作物件以及它們之間關系和操作等的學科
程式設計 = 資料結構 +演算法
- 資料結構:問題的數學模型
- 演算法:解決問題的策略
在數學模型中又包括了資料的表示和處理
- 處理就是要使用什么樣的演算法
- 表示就是邏輯結構+存盤結構
二、基本概念和術語
1.邏輯結構
資料:輸入到計算機中并被計算機程式處理的符號的總稱
資料元素:資料的基本單位,是一個大整體(可以類比成結構體)
資料項:是資料的最小單位,多個資料項組成一個資料元素
資料物件:相同性質的資料元素的集合
可以類比資料物件就是一個圖書管理,資料元素就是其中的一本本數,而資料項就是每本書的基本資訊
資料結構:資料元素和資料元素關系之間的集合
- 集合:最普通,只是集合的關系
- 線性結構:資料元素一對一的關系
- 樹形結構:資料元素一對多的關系
- 圖狀或網狀結構:資料元素多對多的關系
2.存盤結構
順序存盤:元素在存盤器的位置就是資料元素之間的位置

鏈式存盤:元素在存盤器的位置是隨機的,要用指標來訪問

3.抽象資料型別
是資料物件,物件之間的關系和操作的資料型別



三、演算法和演算法分析
演算法的特性:有窮性、確定性、可行性、有輸入,有輸出
演算法設計的要求:正確性、可讀性、健壯性、效率和第存盤量要求
1.時間復雜度
我們近似用時間復雜度來代替時間復雜頻數(頻度),即,只取最高階為當前的時間復雜度,eg:時間頻數為n+3->n
時間復雜度的比較

2.空間復雜度
空間復雜度包括:輸入資料,程式本身,輔助變數所占的空間
其中,輸入資料與演算法無關,對于演算法要分析輔助變數所占的額外空間
?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/510954.html
標籤:其他
上一篇:小程式逆向
