成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

【譯】JavaScript數(shù)據(jù)結(jié)構(gòu)(1):什么是數(shù)據(jù)結(jié)構(gòu)

K_B_Z / 1905人閱讀

摘要:它到底是什么,是作用于數(shù)據(jù)的結(jié)構(gòu)嗎這同樣是一個模棱兩可的術(shù)語。最后我還是搞清楚了數(shù)據(jù)結(jié)構(gòu)的概念,那就簡單的把術(shù)語數(shù)據(jù)結(jié)構(gòu)稱為數(shù)據(jù)的結(jié)構(gòu)。目標(biāo)數(shù)據(jù)結(jié)構(gòu)系列技術(shù)文章,會告訴你數(shù)據(jù)結(jié)構(gòu)并不是晦澀難懂的,更不是神秘的。

翻譯:瘋狂的技術(shù)宅
英文:https://code.tutsplus.com/tut...
說明:本文翻譯自系列文章《Data Structures With JavaScript》,總共為四篇,原作者是在美國硅谷工作的工程師 Cho S. Kim。

初次翻譯,如果存在問題歡迎指出和探討。

說明:本專欄文章首發(fā)于公眾號:jingchengyideng 。

一直以來,我都認(rèn)為“數(shù)據(jù)結(jié)構(gòu)”這個術(shù)語是令人困惑的。它到底是什么,是“作用于數(shù)據(jù)的結(jié)構(gòu)”嗎?這同樣是一個模棱兩可的術(shù)語。

當(dāng)我和同伴們分享自己的困惑時,他們很快就會說:“有結(jié)構(gòu)的數(shù)據(jù)”。滿意的表情出現(xiàn)在他們臉上,這讓我懷疑自己甚至懷疑人生。我想這就是自己應(yīng)該知道的。

最后我還是搞清楚了數(shù)據(jù)結(jié)構(gòu)的概念,那就簡單的把術(shù)語“數(shù)據(jù)結(jié)構(gòu)”稱為“數(shù)據(jù)的結(jié)構(gòu)”。這樣,我們就把焦點(diǎn)從“數(shù)據(jù)”(一件事)轉(zhuǎn)移到了“結(jié)構(gòu)”(組織)。這是一個微妙但非常重要的細(xì)節(jié)。換句話說,我們不再關(guān)注事物本身,而是關(guān)注如何組織事物的過程。

讓我們想象一下,假設(shè)我們討論的東西都是書籍。那么怎樣做才是合理的呢?是書籍的結(jié)構(gòu),還是書籍的組織方式呢?在我看來,后者更容易理解。重點(diǎn)在于怎樣組織而不是書籍本身。

不同類型的數(shù)據(jù)結(jié)構(gòu)

書籍,就像數(shù)據(jù)一樣,可以用多種方式組織起來。假如我們有20本書,那么應(yīng)該怎樣組織它們呢?

如果我們想要在書架上很快的找到一本參考書,不妨這樣做:把所有的書都按照字母順序排列在書架上,當(dāng)你需要某一本書時,就可以很快的找到它,因為我們知道書籍是按照字母表的順序擺放的。

如果我們想按照一個特定的順序閱讀所有的書,比如從第一本讀到最后一本,那么我們就應(yīng)該按照這種順序把書放置在書架上,并且還需要制定一個規(guī)則來約束這種閱讀順序。

如果我們沒有足夠的空間把所有的書全都放在一起,就需要一種能夠快速找到它們的方式進(jìn)行組織。比如:家里的不同位置散落著20本書,我們就需要一個有兩列的表格,其中第一列列出書的標(biāo)題,第二列列出其對應(yīng)的位置。

到這里我們應(yīng)該已經(jīng)清楚了,組織書籍的方法有很多,換句話說有很多種不同的數(shù)據(jù)結(jié)構(gòu)。用于web開發(fā)中的數(shù)據(jù)結(jié)構(gòu),就像前面書籍的例子一樣,是由我們的需求決定的。

現(xiàn)在我們知道了,不同的需求還需要依賴不同的數(shù)據(jù)結(jié)構(gòu)來實現(xiàn)。接下來我們還應(yīng)該知道,當(dāng)使用和創(chuàng)建這些數(shù)據(jù)結(jié)構(gòu)時,并不需要什么高深的編碼知識,所有人哪怕是剛?cè)腴T的小菜鳥都可以創(chuàng)建它。對于前端程序員來講,只需要了解常用的JavaScript基本類型(例如:Boolean)和引用類型(例如:Object)。

如果即使我這樣解釋對你來說也比較難,別擔(dān)心,通常我會想象有一個集合,這是一種數(shù)據(jù)結(jié)構(gòu),就像一個集合一樣,啊哈,多么狗血的解釋。首先集合不是什么東西,集合是組織數(shù)據(jù)的一種方式的名字;其次我們要知道,一個集合是用對象創(chuàng)建的。

目標(biāo)

《JavaScript數(shù)據(jù)結(jié)構(gòu)》系列技術(shù)文章,會告訴你數(shù)據(jù)結(jié)構(gòu)并不是晦澀難懂的,更不是神秘的。相反,它們會使我們的生活更簡單。我將在這個系列的文章中,通過介紹一到兩種類似的數(shù)據(jù)結(jié)構(gòu),來證明這點(diǎn)。

大綱

由于有太多的數(shù)據(jù)結(jié)構(gòu)需要被深入討論,限于篇幅,我們將只探討幾種最常見也最重要的數(shù)據(jù)結(jié)構(gòu):

棧和隊列

單鏈表和雙鏈表鏈表

樹(深度優(yōu)先搜索和廣度優(yōu)先搜索)

總結(jié)

當(dāng)我們完成這個系列的時候,我希望你不僅學(xué)會了如何實現(xiàn)這些常見的數(shù)據(jù)結(jié)構(gòu),而且還能夠靈活的運(yùn)用到自己的項目中。

當(dāng)你意識到數(shù)據(jù)結(jié)構(gòu)在組織數(shù)據(jù)時所發(fā)揮的作用時,會對它更加鐘愛,甚至你會開始用另外一種思路,來考慮應(yīng)該怎樣組織你的數(shù)據(jù)。

歡迎掃描二維碼關(guān)注公眾號,每天推送我翻譯的技術(shù)文章。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/84312.html

相關(guān)文章

  • 正在失業(yè)中的《課多周刊》(第3期)

    摘要:正在失業(yè)中的課多周刊第期我們的微信公眾號,更多精彩內(nèi)容皆在微信公眾號,歡迎關(guān)注。若有幫助,請把課多周刊推薦給你的朋友,你的支持是我們最大的動力。是一種禍害譯本文淺談了在中關(guān)于的不好之處。淺談超時一運(yùn)維的排查方式。 正在失業(yè)中的《課多周刊》(第3期) 我們的微信公眾號:fed-talk,更多精彩內(nèi)容皆在微信公眾號,歡迎關(guān)注。 若有幫助,請把 課多周刊 推薦給你的朋友,你的支持是我們最大的...

    robin 評論0 收藏0
  • 正在失業(yè)中的《課多周刊》(第3期)

    摘要:正在失業(yè)中的課多周刊第期我們的微信公眾號,更多精彩內(nèi)容皆在微信公眾號,歡迎關(guān)注。若有幫助,請把課多周刊推薦給你的朋友,你的支持是我們最大的動力。是一種禍害譯本文淺談了在中關(guān)于的不好之處。淺談超時一運(yùn)維的排查方式。 正在失業(yè)中的《課多周刊》(第3期) 我們的微信公眾號:fed-talk,更多精彩內(nèi)容皆在微信公眾號,歡迎關(guān)注。 若有幫助,請把 課多周刊 推薦給你的朋友,你的支持是我們最大的...

    Joyven 評論0 收藏0
  • 】我最喜歡的 JavaScript 設(shè)計模式

    摘要:原文鏈接譯文原鏈譯我最喜歡的設(shè)計模式我最喜歡的設(shè)計模式我覺得聊一下我愛用的設(shè)計模式應(yīng)該很有意思。我是一步一步才定下來的,經(jīng)過一段時間從各種來源吸收和適應(yīng)直到達(dá)到一個能提供我所需的靈活性的模式。 原文鏈接:My Favorite JavaScript Design Pattern譯文原鏈:【譯】我最喜歡的 JavaScript 設(shè)計模式 我最喜歡的 JavaScript 設(shè)計模式 我覺得...

    xuxueli 評論0 收藏0
  • 】區(qū)塊鏈如何工作的——用JavaScript演示

    摘要:我同時也建立了一個基于瀏覽器的版本安裝命令行工具在此之前請先安裝然后在你的命令行中運(yùn)行以下指令你應(yīng)該會看到和一個提示。 原文:How does blockchain really work? I built an app to show you.作者:Sean Han譯者:JeLewine 根據(jù)維基百科,區(qū)塊鏈?zhǔn)牵?一個用于維護(hù)不斷增長的記錄列表的分布式數(shù)據(jù)庫,我們稱之為區(qū)塊鏈。 這聽...

    sanyang 評論0 收藏0

發(fā)表評論

0條評論

K_B_Z

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<