數據結構的概述
定義
我們如何把現實中大量而反覆的問題以特定的數據類型和特定的存儲結構保存到主存儲器(內存)中,以及在此基礎上為實現某個功能(比如查找某個元素,刪除某個元素,對所有元素進行排序)而執行的相應的操作,這個相應的操作也叫做算法。
數據結構=個體+個體的關係
算法=對存儲數據的操作
狹義:
數據結構是專門研究數據存儲的問題
數據的存儲包含兩方面:個體的存儲 + 個體關係的存儲
廣義:
數據結構既包含數據的存儲也包含數據的操作
對存儲數據的操作就是算法
算法
狹義:
算法是和數據的存儲方式密切相關
廣義:
算法和數據的存儲方式無關,這就是泛型思想
衡量算法的標準:
(1) 時間複雜度
大概程序要執行的次數,而並非是執行的時間(因為同一程序在不同機器上執行的時間是不一樣的,有差異)
(2) 空間複雜度
算法執行過程中大概所佔用的最大內存
(3) 難易程度
(4) 健壯性
數據結構的地位:
數據結構是軟件中最核心的課程
程序 = 數據的存儲 + 數據的操作 + 可以被計算機執行的語言