1. 程式人生 > >資料結構和演算法概念

資料結構和演算法概念

資料結構

定義

資料元素之間的聯絡稱之為結構,資料結構就是具有結構的資料元素的集合。
資料結構是一個二元組(D,R),其中D是資料元素的有限集合,R是D上的關係的集合。

邏輯結構

資料元素之間具有的邏輯關係。分為線性關係,如線性表、陣列、堆疊、佇列、串、檔案等;非線性關係,如樹、二叉樹、圖、集合等。

儲存結構

具有某種邏輯結構的資料在計算機儲存器中的儲存方式(儲存映象)。
1、順序儲存結構
用一組地址連續的儲存單元依次存放資料元素,資料元素之間的邏輯關係通過元素的地址直接反映。
2、鏈式儲存結構
用一組地址任意的儲存單元依次存放資料元素,資料元素之間的邏輯關係通過指標間接地反映。
3、索引儲存結構
利用資料元素的索引關係來確定資料元素的儲存位置,由資料元素本身與索引表兩部分組成。
4、雜湊儲存結構
通過事先準備好的雜湊函式關係與處理衝突的方法來確定資料元素的儲存位置。

演算法

定義

演算法是用來解決某個特定課題的指令的集合。
演算法是由人們組織起來準備加以實施的一系列有限的基本步驟。
演算法就是解決問題的方法。

性質

輸入、輸出、有窮性、確定性、有效性

演算法分析

是指對演算法質量優劣的評價。
評價維度:
1、爭取性(前提)
2、時間複雜度
3、空間複雜度
4、其他方面(演算法的可讀性、可移植性、易測試性)

空間複雜度和時間複雜度的計算

參考https://blog.csdn.net/daijin888888/article/details/66970902