日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

數據結構與集合的不解之緣,你了解多少?

來源: 責編: 時間:2023-11-07 17:16:32 274觀看
導讀本篇文章將簡要介紹數據結構,讓讀者了解它們在計算機中以何種結構方式存在。那么,什么是數據結構呢?下面我們來詳細解釋。數據結構1.1 數據結構有什么用?數據結構是計算機存儲、組織數據的方式。數據結構是指相互之間存在

本篇文章將簡要介紹數據結構,讓讀者了解它們在計算機中以何種結構方式存在。那么,什么是數據結構呢?下面我們來詳細解釋。mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

數據結構

1.1 數據結構有什么用?

數據結構是計算機存儲、組織數據的方式。數據結構是指相互之間存在一種或多種特定關系的數據元素的集合。通常情況下,精心選擇的數據結構可以帶來更高的運行或者存儲效率。mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com


mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

數據結構往往同高效的檢索算法和索引技術有關。這句話是啥意思呢?mLH28資訊網——每日最新資訊28at.com

我們舉個簡單的例子。就像金庸小說中所寫的,武功招式就相當于我們的算法,而數據結構就是我們的內功心法;而武功的高低,不僅僅是武功招式,更重要的是 學會的內功心法。就比如張無忌在學會九陽神功之后,就可以大戰六大門派。mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

而數據結構的學習,也會讓我們事半功倍。憑借著“數據結構+算法=程序”這句話,Pascal之父獲得了圖靈獎。mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

總結來說:mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

數據結構就是一種是將世界上各種數據轉化為計算機可以存儲和操作的形式,定義了邏輯結構如何在計算機上存儲,以及相關的基本操作。mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

算法是程序猿通過調用不同數據結構的基本操作,從而實現了數據的處理。mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

而這兩點使我們作為程序開發人員的必備基本功,不是一朝一夕就能成為絕世高手的,我們需要一步步去不斷的學習積累,積硅步以致千里。mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

1.2 常見的數據結構

在計算機學科中,數據結構是一門很重要的基礎學科,知識點很多。在這里我們不講那么多,只講述我們集合中用到的幾種數據結構,同學們可以下去自行學習更多的數據結構的知識。常用結構三個:數組、鏈表、紅黑樹。mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

我們分別來了解一下:mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

1)數組

數組的定義:mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

  • 數組是相同類型數據的有序集合;
  • 數組描述的是相同類型的若干個數據,按照一定的先后次序排列組合而成;
  • 其中,每一個數據稱作一個數組元素,每個數組元素可以通過一個下標來訪問它們。

mLH28資訊網——每日最新資訊28at.com

存儲思路:mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

所有數據存儲在連續的空間中,數組中的每個元素都是一個具體的數據。mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

數組的特點:mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

  • 使用連續分配的內存空間;
  • 一次申請一大段連續的空間,需要事先聲明最大可能要占的固定內存空間。

mLH28資訊網——每日最新資訊28at.com

如下圖:mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com


mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

  • 通過索引,查詢快
  • 當給數組插入新元素時,數組中的a2,a3,a4整體后移,代價高。
  • 如果插入元素時,數組長度,還要重新創建一個數組,然后循環賦值,代價高

mLH28資訊網——每日最新資訊28at.com

優點:mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

設計簡單,讀取與修改表中的任意一個元素的時間都是固定的,速度快 。mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

缺點:mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

容易造成內存浪費;刪除或者插入數據需要移動大量數據,速度慢。mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

2)鏈表

每個數據單獨存在一小塊內存中,這個單元叫做節點,每個節點知道下一個節點的地址,叫做單向鏈表。每個節點既知道下一個節點地址,又知道上一個節點地址,叫做雙向鏈表。mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

鏈表的特點:mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

  • 使用不連續的內存空間;
  • 不需要提前聲明好指定大小的內存空間,一次申請一小塊,按需申請。

mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

查詢元素,需要通過節點一次向后查找,直到查找到指定元素mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

增刪元素:只需修改連接節點的地址即可。mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

優點: 充分節省內存空間,數據插入和刪除方便,不需要移動大量數據。mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

缺點: 查詢數據必須按順序找到該數據,操作麻煩。mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

3)紅黑樹

簡單理解,就是一種類似于我們生活中樹的結構,只不過每個節點最多只有兩個葉子。計算機世界的樹,剛好與我們現實中的樹成鏡像相反,樹根在上,樹枝在下。二叉樹如下圖:mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

而我們要說的是二叉樹的一種比較有意思的叫做紅黑樹,紅黑樹本身就是一顆二叉查找樹。我們在這里只需要記住它的特點就可以非常方便的對樹中的所有節點進行排序和檢索。mLH28資訊網——每日最新資訊28at.com

mLH28資訊網——每日最新資訊28at.com

小結

本文介紹了三種常用的數據結構:數組、鏈表和紅黑樹,以及這些數據結構在計算機中的重要意義。通過學習這些內容,我們可以逐步深入了解計算機世界。mLH28資訊網——每日最新資訊28at.com


mLH28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-17547-0.html數據結構與集合的不解之緣,你了解多少?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 使用Python從零實現多分類SVM

下一篇: 基于Topic的消息發布與消費模式

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 称多县| 开封县| 高邑县| 许昌县| 三穗县| 汝南县| 连云港市| 许昌县| 克山县| 曲松县| 凤城市| 大城县| 神池县| 伊金霍洛旗| 敖汉旗| 西青区| 博湖县| 凌云县| 武胜县| 青铜峡市| 河津市| 万安县| 开封县| 关岭| 建昌县| 宝坻区| 沙洋县| 碌曲县| 枣强县| 民权县| 大理市| 五寨县| 平谷区| 宝坻区| 丹棱县| 民和| 云梦县| 区。| 阜南县| 龙里县| 边坝县|