人們利用計算機的目的是解決實際問題.
再面對實際問題時,首先要明確所要解決的問題設計到的個體.
深入分析個體之間的關係,為其建立乙個數學模型,並分析其基本運算.
然後確定恰當的資料結構來表示該模型,設計合適的資料儲存及相關演算法.
最後完成具體的程式來解決實際問題.
計算機求解問題的核心是演算法設計.
而演算法設計又高度依賴於資料結構.
資料結構的選擇取決於問題本身的需求.
解決問題的效率與資料結構又有什麼關係?
> 什麼是資料結構?
《資料結構,演算法與運用》作者 sartaj sahni認為:
"資料結構是資料物件,以及存在於該物件的例項和組成例項的資料元素之間的各種聯絡,這些聯絡可以通過定義相關的函式來給出."
《資料結構與演算法分析》作者 clifford a.shaffer認為:
"資料結構是(抽象資料型別abstractdatatype)的物理實現."
中文維基百科:
"資料結構(datastructure)是計算機中儲存,組織資料的方式.通常情況下,精心選擇的資料結構可以帶來最優效率的演算法."
總結: 這些解釋中,都包含資料結構和演算法這兩個詞.
通過圖書舉例
解決問題方法的效率,跟資料的組織方式有關.
要有效地解決問題,需要考慮以下三個因素:
用資料元素之間關係的性質,來刻劃資料結構的特點,可將資料結構分為:
集合結構較為簡單,不再介紹.
線性結構指資料元素之間是一種線性關係,或者說是前後關係,是一種一對一的關係,
比如前面所講書架上的書,除兩端的書之外每一本書前面緊相鄰的只有一本,後面緊相鄰的也只有一本.
樹形結構簡稱樹結構,或稱為層次結構.其關係成為層次關係,或稱"父子關係","上下級關係"等.每乙個節點可以有多於乙個的"直接下級".但是,它只能有唯一的直接上級.
圖結構是乙個多對多的關係,比如在學校裡,乙個教師可以帶多門課,而該老師所講的任何一門課可由多個學生選學,同時乙個學生又可以選學多門課程.
目的:是為了在處理資料元素時,借助元素之間的關係,實現對資料快速有效地處理.
而計算機是具體工作的實施者.
所以必須考慮如何在計算機中表示資料元素及其之間的關係.也就是考慮資料元素
及其之間的關係在計算機中是如何儲存的. 這就是資料的物理結構,也叫儲存結構.
資料結構的研究涉及到以下三個方面:
一是資料元素之間的邏輯關係,即資料的邏輯結構.
二是將資料元素及其之間的關係,在計算機內儲存的方法,即資料的物理結構.
三是作用於資料結構之上的運算.
資料結構與演算法系列1 什麼是資料結構和演算法
資料結構是計算機儲存,組織資料的方式,就是怎麼儲存資料的意思 資料 是描述客觀事物的符號,是計算機中可以操作的物件,是能被計算機識別,並給計算機處理的符號集合 資料元素 是組成資料的,有一定意義的基本單位,在計算機中通常作為整體處理,也被稱為記錄 資料項 乙個資料元素可以由若干資料項的組成 資料物件...
資料結構 什麼是資料結構?
緒論 其實,資料結構在計算機科學界至今沒有標準的定義。個人根據各自的理解的不同而有不同的表述方法 資料結構是資料物件,以及存在於該物件的例項合組成例項的資料元素之間的各種聯絡。這些聯絡可以通過定義相關的函式來給出。他將資料物件 data object 定義為 乙個資料物件是例項或值的集合 其實,究竟...
資料結構 什麼是資料結構
基本概念 資料 是對客觀事物的符號表示 資料元素 是資料的基本單位 資料物件 是性質相同的資料元素的集合,是資料的乙個子集 資料結構 是相互之間存在的一種或多種特定關係的資料元素的集合,資料元素相互之間的關係稱為結構。通常有下列四類基本結構 線性結構 樹形結構 圖狀結構和網狀結構 資料結構在計算機中...