在我們現實生活中,我們處理一件事情的時候,往往不只是處理單單的乙個資料,也就是說你處理的是乙個資料的集合體。
我們設想這些資料是有一定的關係的。比如說,用到資料a ,接下來就會用到資料 b . 可以看出a與b資料存在著某種密切的關係。下面分成兩個場景來思考這個問題:
a , b之間的關係並沒有進行顯式的儲存
我們可以設想有乙個機器m ,m接受了a的資料,那麼接下來就會需要b的資料(之所以會需要b,是因為由a以及 一些條件決定的這個原因)。然後我們又會從乙個集合中去搜尋b的存在。
總結一下,步驟就是 : 處理 a , 得到一定的規則 ,搜尋 滿足規則的b 。(搜尋本身會浪費掉相當的時間,仔細思考一下你會發現計算機耗時的操作往往都是浪費在搜尋這方面)
a , b之間關係進行明顯的儲存。(形成了一定的資料組織結構(資料結構))
為了將 1 中提到的問題降到最低,我們需要想辦法降低搜尋的次數。a , b 之間有著某種必然的聯絡,並且這些堅定的關係在未來很長一段時間是不會改變的。
所以我們想到了某種辦法將a,b資料組織到一起,一旦組織到一起他們的共同出現的這種關係也就出現了。
設想一台機器m , m 接受資料 a ,同時a處於乙個更大的組織中,在這個組織中找到b .(這個過程將搜尋空間降低了非常非常的多)
3.資料結構意義的思考
資料結構的意義在於:
將有關係,關係密切,有著某種貢獻關係的資料組織到一起。
當資料以適當的方式組織到一起的時候,是可以形成一定的組織規律的。(通過這些規律便能夠實現快速的定位)
關於組織規律,我覺得還是有必要舉乙個例子的: 圖書館裡面有很多書,如果這些書沒有任何分類,全部混作一團。那麼當我們進行查詢時會浪費大量的時間,可能每次查詢都需要查詢一半的書。 而書籍以正確的分類方式擺放,那麼我們便可以確定去幾樓尋找,去哪個區域尋找······
資料的合理的組織,是提公升效率的一種方式。 所以不要怕花費時間來組織你的資料。
物件導向也是一種組織資料的方式,只不過這些更傾向於將客觀世界的東西對映到物件中。(事實上就我們中乙個人而言,我們自己身體所包含的部分都是連在一起的,也就是說你找到我的左手,就能夠輕易找到我的右手,應為規律決定了我的右手在左手的另一側,而不會去距離我1000公尺去尋找我的右手,這就大大減小了人們搜尋的空間,這也形象的說明了資料存在的價值)
當你仔細觀察自然的時候,你會發現自然中大部分事物(資料,細胞等等)是組織到一起的,很少有孤立的。有組織性是大自然普遍存在的乙個規律,是大自然進化的產物。讓事物變得更加有效率。
資料結構的重要性
用計算機解決實際問題,首先要做的事情就是要把涉及問題的相關資訊儲存到計算機中,也就是需要把問題的資訊表示為計算機可接受的資料形式,然後根據問題處理功能的要求,對儲存到計算機中的資料進行處理。歸結為一句話,用計算機解題首先要用合理的結構表示資料,然後才能根據相應的演算法處理結構,而資料表示和資料處理正是資料結構學科要研究的內容。
《資料結構》主要介紹如何合理地組織資料、有效地儲存和處理資料,正確地設計演算法以及對演算法的分析與評價。
商用程式設計師李申在他的部落格中寫到:「這麼多年,我做過遊戲、通訊、工業控制、教育、voip、伺服器集群等各個方向的專案,不可謂不寬」。
但是我知道的是,其實我都是在用同一種方法寫程式。那就是從最底層的資料結構和演算法開始做起,用最基本的c、c++語言開發。用來用去,還是那麼幾個資料結構,佇列、堆疊,等等。
這就好比武俠**裡面的內功,內功修好了,學招式,非常容易。但如果沒有內功,練再好的招式,見到高手就軟了。一力破十慧,就是這個道理。在絕對的實力面前,任何花招都是沒有用的。對清華大學計算機系歷屆畢業生和部分研究生追蹤調查顯示,幾乎所有的學生都認為《資料結構》是他們在學校裡學過的最有用的課程之一
原文:
資料結構 ElemType T 代表的意義
1 前言 普通變數的引用 elemtype表示抽象資料型別,假設為int型。首先看個改變變數值的例子 函式1 void add int x 函式2 void add int x int main 很明顯只有函式2才會改變x變數的值。2 t 的含義 指標的引用 如果要改變指標型變數,則需要寫成如下形式...
我們存在的意義
生活,先生存才談活法。前提是先活下去,然後考慮如何活出質量。或許我們的存在只是乙個程序的片段,我們就是為了豐滿那個程序而來。生活很容易很難。容易在於,簡簡單單就能活著,不至於餓死凍死。難在於,想活出質量,要付出很多。什麼才是我們想要的生活?幸福健康安全自由,哪一樣都不是與生俱來的,都需要你的奮鬥,在...
部落格存在的意義?
2022.02.20 天氣 小雨 今天坐在電腦前無意中看到了這麼乙個問題 既然我們寫的部落格沒人看,為什麼還要堅持寫下去呢?我不得不去把問題刨根問底,以此來保證部落格的正確性,不敢說自己有多麼厲害,理解有多麼深刻,但我需要為自己發布到網際網路上的資訊的正確性做擔保。一篇部落格的正確性,讓讀者更好的通...