什麼是資料結構?

2022-01-10 20:59:51 字數 1808 閱讀 5290

本篇文章主要來介紹什麼是資料結構。

首先讓我們來看一張:

資料儲存於計算機的記憶體中。記憶體如上圖所示,形似排成 1 列的箱子,1 個箱子裡儲存 1 個資料。

資料儲存於記憶體時,決定了資料順序和位置關係的便是資料結構

其實在我們生活中用到很多資料結構的知識,那麼舉乙個我們生活中的栗子:

首先舉乙個從上往下順序新增舉個簡單的例子。假設我們有1個**簿——雖說現在很多人都把**號碼存在手機裡,但是這裡我們考慮使用紙質**簿的情況——每當我們得到了新的**號碼,就按從上往下的順序把它們記在**簿上。

假設此時我們想給張飛打**,但是因為資料都是按獲取順序排列的,所以我們並不知道張飛的號碼具體在**,只能從頭乙個個往下找(雖說也可以從後往前找或者隨機查詢,但是效率並不會比從上往下找高)。如果**簿上號碼不多的話很快就能找到,但如果存了500個號碼,找起來就不那麼容易了。

再比如我們可以按姓名的拼音順序對**簿進行排列,接下來,試試以聯絡人姓名的拼音順序排列吧。因為資料都是以字典順序排列的,所以它們是有結構的。

使用這種方式給聯絡人排序的話,想要找到目標人物就輕鬆多了。通過姓名的拼音首字母就能推測出該資料的大致位置。

那麼,如何往這個按拼音順序排列的**簿裡新增資料呢?假設我們認識了新朋友柯南並拿到了他的**號碼,打算把號碼記到**簿中。由於資料按姓名的拼音順序排列,所以柯南必須寫在韓巨集宇和李希之間,但是上面的這張表裡已經沒有空位可供填寫,所以需要把李希及其以下的資料往下移1行。

此時我們需要從下往上執行將本行的內容寫進下一行,然後清除本行內容的操作。如果一共有500個資料,一次操作需要10秒,那麼1個小時也完成不了這項工作。

總的來說,資料按獲取順序排列的話,雖然新增資料非常簡單,只需要把資料加在最後就可以了,但是在查詢時較為麻煩;以拼音順序來排列的話,雖然在查詢上較為簡單,但是新增資料時又會比較麻煩。

雖說這兩種方法各有各的優缺點,但具體選擇哪種還是要取決於這個**簿的用法。如果**簿做好之後就不再新增新號碼,那麼選擇後者更為合適;如果需要經常新增新號碼,但不怎麼需要再查詢,就應該選擇前者。

我們還可以考慮一種新的排列方法,將二者的優點結合起來。那就是分別使用不同的表儲存不同的拼音首字母,比如表l、表m、表n等,然後將同一張表中的資料按獲取順序進行排列。

這樣一來,在新增新資料時,直接將資料加入到相應表中的末尾就可以了,而查詢資料時,也只需要到其對應的表中去查詢即可。

因為各個表中儲存的資料依舊是沒有規律的,所以查詢時仍需從表頭開始找起,但比查詢整個**簿來說還是要輕鬆多了。

資料結構方面的思路也和製作**簿時的一樣。將資料儲存於記憶體時,根據使用目的選擇合適的資料結構,可以提高記憶體的利用率

參考

《我的第一本演算法書》

資料結構 什麼是資料結構?

緒論 其實,資料結構在計算機科學界至今沒有標準的定義。個人根據各自的理解的不同而有不同的表述方法 資料結構是資料物件,以及存在於該物件的例項合組成例項的資料元素之間的各種聯絡。這些聯絡可以通過定義相關的函式來給出。他將資料物件 data object 定義為 乙個資料物件是例項或值的集合 其實,究竟...

資料結構 什麼是資料結構

基本概念 資料 是對客觀事物的符號表示 資料元素 是資料的基本單位 資料物件 是性質相同的資料元素的集合,是資料的乙個子集 資料結構 是相互之間存在的一種或多種特定關係的資料元素的集合,資料元素相互之間的關係稱為結構。通常有下列四類基本結構 線性結構 樹形結構 圖狀結構和網狀結構 資料結構在計算機中...

資料結構 什麼是資料結構?

什麼是資料結構 1.資料結構的有關定義 1 資料結構 是帶有結構資料元素的集合 2 資料 是客觀事物的數值 字元以及能輸入機器且能被處理的各種符號的集合 編譯 鏈結 源程式 c 目標程式 obj 可執行程式 exe 3 資料物件 是性質相同的資料元素的集合 4 資料型別 一組性質相同的值的集合以及定...