溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

什么是JavaScript數(shù)據(jù)結(jié)構(gòu)

發(fā)布時間:2021-10-15 10:50:39 來源:億速云 閱讀:117 作者:iii 欄目:web開發(fā)

這篇文章主要介紹“什么是JavaScript數(shù)據(jù)結(jié)構(gòu)”,在日常操作中,相信很多人在什么是JavaScript數(shù)據(jù)結(jié)構(gòu)問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”什么是JavaScript數(shù)據(jù)結(jié)構(gòu)”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

在JavaScript中,數(shù)據(jù)結(jié)構(gòu)是指相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合,是帶有結(jié)構(gòu)特性的數(shù)據(jù)元素的集合。常用的數(shù)據(jù)結(jié)構(gòu)有:數(shù)組、列表、棧、隊列、鏈表、字典、集合等等。

什么是JavaScript數(shù)據(jù)結(jié)構(gòu)

本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

什么是數(shù)據(jù)結(jié)構(gòu)?

在計算機科學中,數(shù)據(jù)結(jié)構(gòu)(英語:data structure)是計算機存儲、組織數(shù)據(jù)的方式。數(shù)據(jù)結(jié)構(gòu)是指相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合。數(shù)據(jù)結(jié)構(gòu)起源于程序設(shè)計,它不是使我們怎么學會編碼,而是為我們提供一種編程思想,具有更好的思路。通常情況下,精心選擇的數(shù)據(jù)結(jié)構(gòu)可以帶來更高的運行或者存儲效率。數(shù)據(jù)結(jié)構(gòu)往往同高效的檢索算法和索引技術(shù)有關(guān)。

數(shù)據(jù)結(jié)構(gòu)能做什么?

  • 有效的管理數(shù)據(jù)對象

  • 提升運算性能

數(shù)據(jù)結(jié)構(gòu)的概念定義

數(shù)據(jù):

數(shù)據(jù):是用來描述一種客觀事物的符號(字符串、數(shù)字、json、聲音、圖片...)數(shù)據(jù)元素:有一定意義的最基本的單位,當我們使用計算機來處理數(shù)據(jù)的時候,數(shù)據(jù)元素通常被我們用作一個整體來處理,這個整體又稱記錄數(shù)據(jù)對象:是指性質(zhì)相同的數(shù)據(jù)元素的集合數(shù)據(jù)項:是組成數(shù)據(jù)的最小單位

結(jié)構(gòu):

數(shù)據(jù)元素相互之間的關(guān)系稱之為結(jié)構(gòu)。

結(jié)構(gòu)又分兩種:

  • 邏輯結(jié)構(gòu):指反映數(shù)據(jù)元素之間的邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu),其中的邏輯關(guān)系是指數(shù)據(jù)元素之間的前后件關(guān)系,而與他們在計算機中的存儲位置無關(guān)

  • 存儲結(jié)構(gòu):指數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機存儲空間的存放形式

所以,一種數(shù)據(jù)結(jié)構(gòu)可表示成一種或多種存儲結(jié)構(gòu)

邏輯結(jié)構(gòu):

集合:集合中的數(shù)據(jù)成員是無序的松散的關(guān)系,且每個數(shù)據(jù)成員在集合中不能重復線性結(jié)構(gòu):數(shù)據(jù)結(jié)構(gòu)中的元素存在一對一的相互關(guān)系非線性結(jié)構(gòu):數(shù)據(jù)結(jié)構(gòu)中的元素存在一對多或多對多的相互關(guān)系

存儲結(jié)構(gòu):

順序存儲:數(shù)組就是典型的順序存儲結(jié)構(gòu)鏈式存儲:鏈表采用的就是鏈式存儲索引存儲:索引存儲的優(yōu)點是檢索速度快,但是需要增加附加的索引表,會占用較多的存儲空間散列存儲:散列存儲使得檢索、增加、刪除節(jié)點的操作都很快,缺點是解決散列沖突會增加時間和空間的開銷,常用的解決散列沖突的方法有開鏈法和線性探測法

常用的數(shù)據(jù)結(jié)構(gòu)

數(shù)組:

一個存儲元素的線性集合(collection),元素可以通過索引來任意存取,索引通常是數(shù)字,用來計算元素之間存儲位置的偏移量。

列表:

人們?nèi)粘I钪薪?jīng)常使用列表:待辦事項列表、購物清單、十佳榜單、最后十名榜單等。

棧:

是一種高效的數(shù)據(jù)結(jié)構(gòu),因為數(shù)據(jù)只能在棧頂添加或刪除,所以這樣的操作很快,而且容易實現(xiàn)。

隊列:

隊列用于存儲按順序排列的數(shù)據(jù),先進先出,這點和棧不一樣

鏈表:

鏈表是由一組節(jié)點組成的集合。每個節(jié)點都使用一個對象的引用指向它的后繼。指向另一個節(jié)點的引用叫做鏈

字典:

字典是一種以鍵- 值對形式存儲數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),就像電話號碼簿里的名字和電話號碼一樣。

樹:

樹是計算機科學中經(jīng)常用到的一種數(shù)據(jù)結(jié)構(gòu)。樹是一種非線性的數(shù)據(jù)結(jié)構(gòu),以分層的方式存儲數(shù)據(jù)。
樹被用來存儲具有層級關(guān)系的數(shù)據(jù),比如文件系統(tǒng)中的文件;樹還被用來存儲有序列表。

圖:

圖由邊的集合及頂點的集合組成。

散列表:

散列是一種常用的數(shù)據(jù)存儲技術(shù),散列后的數(shù)據(jù)可以快速地插入或取用。散列使用的數(shù)據(jù)結(jié)構(gòu)叫做散列表。

集合:

集合(set)是一種包含不同元素的數(shù)據(jù)結(jié)構(gòu)。集合中的元素稱為成員。
集合的兩個最重要特性是:首先,集合中的成員是無序的;其次,集合中不允許相同成員存在。

常用的數(shù)據(jù)結(jié)構(gòu)會在后續(xù)陸續(xù)逐個擊破!

到此,關(guān)于“什么是JavaScript數(shù)據(jù)結(jié)構(gòu)”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI