站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        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ù)成員在集合中不能重復(fù)線性結(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ù)逐個擊破!

        【推薦學習:javascript高級教程】

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 完整观看高清秒播国内外精品资源| 亚洲国产精品丝袜在线观看| 免费精品久久久久久中文字幕 | 久久精品亚洲乱码伦伦中文| 97精品人妻系列无码人妻| 午夜精品久久久久久久无码| 91精品一区二区综合在线| 国产精品国产三级专区第1集 | 国产精品臀控福利在线观看| 99久久综合国产精品二区| 久久66热人妻偷产精品9| 中文字幕精品一区二区三区视频| 久久精品国产福利国产琪琪 | 精品久久久久久中文字幕人妻最新| 无码人妻精品一区二区蜜桃百度 | 无码精品蜜桃一区二区三区WW| 国产精品 视频一区 二区三区| 99re6在线精品免费观看| 无码人妻精品一区二区三区久久| 合区精品久久久中文字幕一区| 国内精品视频在线观看| 成人精品视频成人影院| 亚洲国产综合91精品麻豆| 精品午夜久久福利大片| 国产精品免费精品自在线观看| 999国内精品永久免费观看| 精品国产三级a∨在线欧美| 亚洲av永久无码精品漫画 | 亚洲日本精品一区二区| 精品国产污污免费网站| 国产精品久久久久aaaa| 91精品国产高清91久久久久久| 国内精品久久久久影院优 | 无码国内精品久久人妻麻豆按摩| 久久久久99精品成人片| 免费人成在线观看欧美精品| 精品无码综合一区| 四虎永久在线精品国产馆V视影院| 久久亚洲中文字幕精品一区四| 日韩精品一区二区三区影院| 亚洲精品国产综合久久一线|