數據結構整理----C語言編程(總)

對於漫長的編程之路我只是一個路人,隨手撿起的石子我會扔到道路兩旁,摘下的花兒我會同人分享,遇見的泥濘坑窪我也願意同你訴說。

今天開始學習數據結構,而後逐步漸入佳境,希望你同我一樣進步。
個人喜歡比較庸俗的理解,方便記憶,語言粗鄙,還望見諒。

理解

首先理解“數據結構”的字的表面意思:
數據在計算機程序中,是可以被計算機程序識別、存取、和加工處理的符號、字符、圖形、圖像、聲音、視頻信號等一類的表示。
而結構,在生活中,就像一座房子,都有它自身的構造,一個公司也會有它相應的制度結構,那些都是人們在漫長歲月中想出來的。
所以數據結構,就是數據的結構,也可以說成是數據的組織形式,在我的理解中,即可以有千變萬化種結構,這樣的結構可能是常見的你我都可以見到的表格結構,抑或不太容易理解的樹形結構。都可以在每個地方存放讀取數據,以方便數據的更改、存取、計算。

分類

如果非要分類,那數據結構可以分成數據的邏輯結構物理結構(存儲結構)、以及運算

邏輯結構:集合結構、線性結構、樹形結構、圖結構(網狀結構)。

  • 集合結構:元素只屬於一個整體集合,之間沒有關係。

  • 線性結構:“一對一”關係。

  • 樹形結構:“一對多“關係。

  • 圖結構:“多對多”關係。

    主要爲後面三種。

物理(存儲)結構:順序存儲結構、鏈式存儲結構、索引存儲結構、哈希(散列)存儲結構。

  • 順序存儲結構:類似排序號,可以用數組來表示。

  • 鏈式存儲結構:利用指針使得數據有一定的關係。

  • 索引存儲結構:就好像目錄,輸入關鍵字可以查找出地址,從而得到數。

  • 哈希存儲結構:同上面關鍵字,只不過通過哈希函數算出數據地址。

數據運算此處不加贅述。

算法

在計算機中,算法就是要把數據的結構展示出來的而編寫的一類程序。用這一類程序可以套入許多問題中,萬變而不離其宗。

判斷算法的好壞可以通過分析其時間複雜度空間複雜度

  • 時間複雜度:程序運行從開始到結束所需要的時間。

  • 空間複雜度:程序運行從開始到結束所需要的存儲量。

總結

初步瞭解到數據結構的概念、分類及實現方式。大致的輪廓已經擺在面前,今後的學習中,將學到許多新的數據結構及其算法,我要通過嘗試將它們一個一個實現,這樣纔可以在學習中進步。共同勉勵!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章