資料結構是計算機儲存、組織資料的方式。資料結構是指相互之間存在一種或多種特定關係的資料元素的集合。通常情況下,精心選擇的資料結構可以帶來更高的執行或者儲存效率。資料結構往往同高效的檢索演算法和索引技術有關。
資料結構的英文是
data structures
data是
datum
的複數形式,在電腦科學中,
data是計算機使用的資訊的一種表示形式,是乙個複數,表示資料很多。
structure表示許多相關的部分是如何組織關聯在一起的,所以,在電腦科學中,資料結構是這麼描述的,它是在計算機中一種儲存資料的方式,使得資料可以在計算機中可以被有效地使用,如果
能合理地,仔細地選擇資料結構,可以基於資料結構設計出最有效的演算法
。可以看到,資料結構和計算機和效率之間是有著關聯性的,資料結構是可以讓我們更加有效率地使用資料設計演算法的乙個基礎。
在電腦科學領域中,資料可以分為數值型資料和非數值型資料,與這兩種資料相對應的問題可以成為數值問題,這種問題是以數學方式表示的問題求數值
。例如,解代數方程計算、矩陣計算、線性方程組求解、數值積分、微分方程求解等
;還有一種問題和非數值資料相關的稱為非數值問題
—求非數值解
。例如,排序查詢,模式匹配等,通常處理乙個非數值問題沒有一種明確的數學方法。
【問題描述】
設計乙個湖南大學校園導航程式,為學生提供各種資訊查詢服務。
【基本要求】
①設計湖南大學的校園平面圖,所含地點不少於
10個。以圖中頂點表示各個地點,存放地點名稱、代號、簡介等資訊;以邊表示路徑,存放路徑長度等相關資訊。
②為學生提供圖中已有任意地點相關資訊的查詢。
③為學生提供圖中已有任意地點的導航,即查詢任意兩個地點之間的最短路線圖。
可以看到,題目描述的問題並非我們常見的數值問題,而是乙個非數值問題,非數值問題的數學模型不再是數學方程,而是圖的資料結構。要解決本題中的三個基本要求,就需要用到資料結構中的圖結構來解決問題。
圖作為一種資料結構,是乙個用線或邊連線在一起的頂點或節點的集合。
定義:graphg;
其中vertextype
為圖儲存的資料型別,可以是任意型別。
基本操作: 1
、putvex(int v, vertextype) //
新增頂點 2
、setedge(int, int, int) //
新增邊 3、
setedge(bool flag) //
設定無向圖 4
、vertextype getvex(int v) //
獲取頂點資訊 5
、weight(int, int) //
查詢一條邊的權重
儲存方式:
相鄰陣列和相鄰表
第乙個要求:
設計湖南大學的校園平面圖 用
putvex(int v, vertextype)
來設定地點,用
setedge(int, int, int)
來設定路,
settype (bool flag)
來設定為無向圖
第二個要求:
為學生提供圖中已有任意地點相關資訊的查詢
vertextype getvex(int v) //
獲取頂點資訊
weight(int, int) //
查詢一條邊的權重
獲取到這
10個地點的名稱、代號、簡介等資訊及
2個地點之間的路程
第三個要求:
為學生提供圖中已有任意地點的導航,即查詢任意兩個地點之間的最短路線圖
這個問題是乙個最短路徑問題,涉及到了演算法知識,可用
dijkstra
演算法來求解
資料結構在解決方案中起到的作用:
1.圖結構讓問題變得直觀清晰。
2.確定了乙個資料儲存的方式,讓一系列相關的操作在此基礎上進行。
3.dijkstra
演算法是建立在圖結構上的。
用自己的想法來理解資料結構:
什麼是資料呢?鑰匙、校園卡、錢包、手機等,這些物品都可以看作是資料。從這個意義上來講,資料結構就是這些物品的擺放和儲存方式。
資料結構就是: 鑰匙、校園卡、錢包、手機等物品的儲存擺放方法,做到井井有條可以方便後續查詢和使用。
演算法就是:查詢、獲取、使用上述物品的方法。
而本題,圖結構就是最合適的資料結構,如果用其他資料結構呢?
資料結構適用的範圍:
資料結構所研究的問題是非數值型問題,它是研究,或者是處理非數值資料之間的數值關係,及如何表示,如何儲存,如何處理。涉及到這類問題,都可以用資料結構來對問題進行求解。如排序問題可以用線性表實現,學生管理系統可以樹結構來實現,和本題用圖結構實現等等
資料結構 什麼是資料結構?
緒論 其實,資料結構在計算機科學界至今沒有標準的定義。個人根據各自的理解的不同而有不同的表述方法 資料結構是資料物件,以及存在於該物件的例項合組成例項的資料元素之間的各種聯絡。這些聯絡可以通過定義相關的函式來給出。他將資料物件 data object 定義為 乙個資料物件是例項或值的集合 其實,究竟...
資料結構 什麼是資料結構
基本概念 資料 是對客觀事物的符號表示 資料元素 是資料的基本單位 資料物件 是性質相同的資料元素的集合,是資料的乙個子集 資料結構 是相互之間存在的一種或多種特定關係的資料元素的集合,資料元素相互之間的關係稱為結構。通常有下列四類基本結構 線性結構 樹形結構 圖狀結構和網狀結構 資料結構在計算機中...
資料結構 什麼是資料結構?
什麼是資料結構 1.資料結構的有關定義 1 資料結構 是帶有結構資料元素的集合 2 資料 是客觀事物的數值 字元以及能輸入機器且能被處理的各種符號的集合 編譯 鏈結 源程式 c 目標程式 obj 可執行程式 exe 3 資料物件 是性質相同的資料元素的集合 4 資料型別 一組性質相同的值的集合以及定...