1. 數據結構概述

1.1 什麼是數據結構

說到數據結構,我覺得可以拆分成兩個詞,數據和結構。

先來打個比方。

同樣是水,

有的被放進了游泳池,成爲了游泳嬉戲的場所;

有的被放進了杯子,供我們喝水;

我們不可能喝水,不用杯子,用游泳池。

說到底,就四個字:因地制宜???(好像比較恰當,歡迎大家集思廣益)

數據就好比這裏的水,是我們想要使用的東西,對我們有價值的東西;

結構就好比游泳池、杯子,是幫助我們更好的使用數據,能更好更快的完成一些特定操作。

所以,在我看來,其實我們學的是結構,如何去組織數據,讓它能夠完成在特定場景下的一些任務。

1.2 數據與內存讀取

就像上面所說的,我們主要學習的是結構,所以結構會在後面慢慢講解。

這裏主要介紹下,數據及計算機內存中的讀取操作。

還是打個比方,如果把內存比作一個公寓,公寓中的每個房間代表可以存儲一定數量的數據。

就好像單人房、雙人房那樣,每個人是一個數據。

你現在就是超人,如果讓你到指定房間,對其中的住戶進行盤查。

你可以怎麼去排查呢?比如需要排查的是1100房間。

  • 你可以進了公寓,慢悠悠的從1001,經過1002,1003…,然後走到1100房間
  • 你也可以暴力點,從1001,然後一口氣跳到到1100房間。

計算機也有相應的操作,我們繼續說。

在計算機中,每個數據存放在一塊內存區域中,計算機會給每個內存區域分配一個地址。

我們將內存區域與上述比喻進行一個對照。(圖片修改自極客專欄:《數據結構與算法之美》)

1.3 說下數據操作

想想我們平時需要對數據進行什麼樣的操作,增刪改查,四個字一定不陌生吧。

  • 增,添加數據
  • 刪,刪除數據
  • 改,修改數據
  • 查,查找數據

所以說,我們如何學習數據結構呢?

  • 知道數據的結構
  • 對相應的數據結構完成上面四種操作
  • 一點題目,稍微練練手

就可以收功了。


Github地址 歡迎 star 收藏

尋找有趣或更有效率的事、工具和教程

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