緒論
其實,資料結構在計算機科學界至今沒有標準的定義。個人根據各自的理解的不同而有不同的表述方法:
「資料結構是資料物件,以及存在於該物件的例項合組成例項的資料元素之間的各種聯絡。這些聯絡可以通過定義相關的函式來給出。」
他將資料物件(data object)定義為「乙個資料物件是例項或值的集合」。
其實,究竟什麼是資料結構這個問題
真的並不是很重點。您將會在進一步學習它之後,有自己對它的一種理解。
我們更應該關心的是,學習資料結構
能為我們解決什麼樣問題?它給我們
帶來什麼樣的好處?
第乙個問題,在程式裡面,有乙個家族,如果您知道乙個人的名字,想知道他老爸是誰那麼應該怎麼做?
其中乙個答案是,建立乙個結構體,裡面包含了本人的名字和他老爸的名字,這樣,當我找到這個人的名字的時候,相應的就可以知道他老爸是誰了,
可是這樣好像很浪費空間啊,每有乙個老爸就要多乙份儲存名字的空間,
乙個家族裡面有很多的老爸啊,
那麼我們可以換另外一種方法,我們不直接用老爸的名字,而是使用乙個指向老爸包含名字的結構的指標,同樣我們能夠找到他老爸的名字,
如果您這樣做了,那麼您已經在使用資料結構了!
程式設計實際 = 好的結構 + 好的演算法!
同樣的問題,不同的設計方法,即使都能達到最後正確的結果,但是效果卻很大的差別,有的可能只要一秒,有的可能需要幾十秒,有的可能不需要太大的空間,有的可能很耗空間!
資料結構就是一門為您提供好的結構和好的演算法的學科!
簡單的講,學習資料結構,您就可以編寫更好的程式!
推薦:《程式設計修養》,作為乙個好的程式設計師,當然必須得有好的程式設計習慣!(ps:在我上傳的資源裡面有)
效率和儲存量在一般情況下不好兼得,至於優先考慮哪個,要看具體的應用了。
最後,我想說一句,資料結構真的不好學,就嚴蔚敏老師那本300頁的資料結構(c語言版),都足足夠看一兩個月了。
但是,如果您想作為一名合格的程式設計師,相信我,學好的它吧,不管有多難! (
在c++的stl中,很多資料結構已經實現了,例如:表list、堆stack、佇列queue)
資料結構 什麼是資料結構
基本概念 資料 是對客觀事物的符號表示 資料元素 是資料的基本單位 資料物件 是性質相同的資料元素的集合,是資料的乙個子集 資料結構 是相互之間存在的一種或多種特定關係的資料元素的集合,資料元素相互之間的關係稱為結構。通常有下列四類基本結構 線性結構 樹形結構 圖狀結構和網狀結構 資料結構在計算機中...
資料結構 什麼是資料結構?
什麼是資料結構 1.資料結構的有關定義 1 資料結構 是帶有結構資料元素的集合 2 資料 是客觀事物的數值 字元以及能輸入機器且能被處理的各種符號的集合 編譯 鏈結 源程式 c 目標程式 obj 可執行程式 exe 3 資料物件 是性質相同的資料元素的集合 4 資料型別 一組性質相同的值的集合以及定...
資料結構 什麼是資料結構
資料結構是一門學習資料儲存方式的一門學科 線性表 還可細分為 順序表 鍊錶 棧 佇列 樹結構 包括普通樹 二叉樹 線索二叉樹 圖儲存結構 線性表 往往是依次排序的 具備一對一關係的資料就可以用線性表來儲存 線性表並不是一種具體的儲存結構,它包含順序儲存結構和鏈式儲存結構,是順序表和煉表的統稱 順序表...