《數據結構教程》1 緒論

數據結構是具備結構的數據元素的集合。算法

Data-Structure = (D, R)
複製代碼

其中,D 是 數據元素 的有限集合,R 是 D 上 關係 的集合。bash

數據結構所研究的主要內容:數據結構

  1. 數據元素之間固有的客觀聯繫(邏輯結構)
  2. 數據在計算機內部的存儲方法(存儲結構)
  3. 在數據的各類結構(邏輯的和物理的)的基礎上如何對數據實施有效的操做或處理(算法)

結構

結構是指數據元素之間的關係或者聯繫。結構分爲兩類:邏輯結構存儲結構。算法的設計取決於邏輯結構,算法的實現依賴於存儲結構。spa

邏輯結構

邏輯結構指數據元素在客觀世界中具備的邏輯關係。通常分爲 線性結構非線性結構設計

線性結構:數據元素之間的邏輯關係是一對一的。除了第一個數據元素和最後一個數據元素以外,其餘數據元素有且只有一個直接前驅元素,有且僅有一個直接後繼元素。code

非線性結構:數據元素之間的邏輯關係是一對多、多對1、多對多等關係。cdn

存儲結構

存儲結構指具備邏輯結構的數據再計算機存儲器中的存儲方式(存儲映像)。一般有順序存儲結構、鏈式存儲結構、索引結構和散列結構等。blog

兩者關係

數據的邏輯結構面向所解決的問題,反映了數據內部的構成方式;而數據的存儲結構面向計算機,目標是將數據及其邏輯關係存儲到計算的存儲器中。通常狀況下,一種邏輯結構能夠採用多種存儲結構來存儲。索引

數據的邏輯結構設計能夠獨立於數據的存儲結構,這是由於數據的邏輯結構設計是在數據的分析階段進行的,而存儲結構是在設計階段進行的。反之,存儲結構不能獨立於邏輯結構,這是由於數據的存儲結構是邏輯結構在計算機存儲中的映像。(2018 年選擇題真題)it

算法

所謂 正確的算法 是指,當輸入一組合理的數據時,可以在優先的運行時間內獲得正確的結果;對於不合理的數據輸入,可以給出警告提示信息。

算法分析

算法分析的 前提 是算法是正確的;目的 是分析算法的效率,以求改進算法;主要任務 是分析算法的執行時間與問題規模之間的關係。

衡量算法質量優劣的基本標準有:正確性、易讀性、健壯性、可移植性、時空效率。

計算算法的時間複雜度屬於 事前分析估算 的方法。

相關文章
相關標籤/搜索