最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript數(shù)據(jù)結構與算法

 更新時間:2022年07月13日 11:22:41   作者:? 一碗周?  
這篇文章主要介紹了JavaScript數(shù)據(jù)結構與算法,文章圍繞主題展開數(shù)據(jù)結構與算法的概念,以及幾種常見的數(shù)據(jù)結構是什么,有什么優(yōu)點和缺,具有一定的參考價值,需要的小伙伴可以參考一下

前言

數(shù)據(jù)結構與算法這個詞相信大家都聽過、了解過、學過,那為什么要學習數(shù)據(jù)結構與算法呢?我感覺有以下兩個原因:

  • 為了一個比較滿意的Offer,現(xiàn)在去面試任何一家公司,不管你是前端還是后端,多多少少會問一些關于算法的問題;
  • 編程需要,如果沒有很好的數(shù)據(jù)結構與算法的功底,很多事情都是知其然不知其所以然,無法深入的學習,還有就是隨著項目的復雜,數(shù)據(jù)量也隨之變大,數(shù)據(jù)結構與算法可以更優(yōu)雅的處理這些數(shù)據(jù)。

程序=數(shù)據(jù)結構+算法,是計算機科學界的一個經(jīng)典名句,這句話也體現(xiàn)了一個應用程序是與數(shù)據(jù)結構和算法密不可分的。

數(shù)據(jù)結構

首先我們先來了解一下數(shù)據(jù)結構,數(shù)據(jù)結構就是計算機存儲和組織數(shù)據(jù)的一種方式,指相互之間存在一種或者多種特定關系的集合。在不同的場景選擇更適合的數(shù)據(jù)結構,可以為應用程序帶來更好的運行效率和存儲效率。

常見的數(shù)據(jù)結構

常見的一些數(shù)據(jù)結構主要有以下幾種:

  • 數(shù)組(Array) :數(shù)組是一種聚合數(shù)據(jù)類型,它是將具有數(shù)據(jù)類型的的一些變量有序的組織到一起的一個集合;

優(yōu)點是插入快;缺點是查找、刪除慢,只能存儲單一類型的元素;

  • **鏈表(Linked List):**鏈表是一種數(shù)據(jù)元素按照鏈式存儲結構進行存儲的數(shù)據(jù)結構,這種存儲結構具有在物理上存在非連續(xù)的特點。

優(yōu)點是插入、刪除快;缺點是查找慢;

  • **棧(Stack):**棧是一種特殊的線性表,它只能在一個表的一個固定端進行數(shù)據(jù)結點的插入和刪除操作。

優(yōu)點是提供先進后出的存儲方式,缺點是對其他項操作都很慢;

  • **隊列(Queue):**隊列和棧類似,也是一種特殊的線性表。和棧不同的是,隊列只允許在表的一端進行插入操作,而在另一端進行刪除操作。

優(yōu)點是提供先進先出的存儲方式,缺點是對其他項操作都很慢;

  • **樹(Tree):**樹是典型的非線性結構,它是包括,2 個結點的有窮集合 K。
  • **圖(Graph):**圖是另一種非線性數(shù)據(jù)結構。在圖結構中,數(shù)據(jù)結點一般稱為頂點,而邊是頂點的有序偶對。

算法

算法簡而言之就是解決問題的步驟,對特定問題求解步驟的一種描述,他的定義的是解決特定問題求解步驟的準確而完整的描述,在計算機中表現(xiàn)為一系列指令的集合,算法代表著用系統(tǒng)的方法描述解決問題的策略機制。

舉兩個例子來說明一下什么是算法:

  • 去北京看演唱會:首先我們需要確定地點、然后購買門票、車票、入場、看演唱會、演唱會結束
  • 把大象裝進冰箱:把冰箱門打開,大象塞進去,關上冰箱門。

雖然把大象裝進冰箱這是一個玩笑話,假設這真的是一個問題,解決問題的步驟適用于任何動物。

算法的特征

算法具有以下五個特征:

  • 有窮性:對于任意一組合法輸入值,在執(zhí)行有窮步驟之后一定能結束,即:算法中的每個步驟都能在有限時間內(nèi)完成。
  • 確定性:在每種情況下所應執(zhí)行的操作,在算法中都有確切的規(guī)定,使算法的執(zhí)行者或閱讀者都能明確其含義及如何執(zhí)行。并且在任何條件下,算法都只有一條執(zhí)行路徑。
  • 可行性:算法中的所有操作都必須足夠基本,都可以通過已經(jīng)實現(xiàn)的基本操作運算有限次實現(xiàn)之。
  • 有輸入:作為算法加工對象的量值,通常體現(xiàn)在算法當中的一組變量。有些輸入量需要在算法執(zhí)行的過程中輸入,而有的算法表面上可以沒有輸入,實際上已被嵌入算法之中。
  • 有輸出:它是一組與“輸入”有確定關系的量值,是算法進行信息加工后得到的結果,這種確定關系即為算法功能。

算法的目標

一個優(yōu)秀的算法需要追求以下兩個目標:

  • 運行所需的時間更少
  • 占用的內(nèi)存空間更小

上面所說的正是時間復雜度空間復雜度的概念,相信很多同學都對這兩個概念有所了解,不了解也沒有關系,下篇文章介紹時間復雜度和空間復雜度。

總結

本篇文章介紹了數(shù)據(jù)結構與算法的概念,以及幾種常見的數(shù)據(jù)結構是什么,有什么優(yōu)點和缺點;在文章的最后還介紹了算法的五個特征以及算法所追求的目標。

到此關于JavaScript數(shù)據(jù)結構與算法的文章就介紹到這了,更多相關JS數(shù)據(jù)結構 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 有關JavaScript的10個怪癖和秘密分享

    有關JavaScript的10個怪癖和秘密分享

    在本片文章中,作者將向您講述JavaScript中最鮮為人知的秘密。學習js的朋友可以參考下。
    2011-08-08
  • JavaScript繼承模式粗探

    JavaScript繼承模式粗探

    之前提到了JS中比較簡單的設計模式,在各種設計模式中被最常使用的工具之一就是原型鏈的繼承。作為OOP的特質之一——繼承,今天主要談談JS中比較簡單的繼承方法
    2016-01-01
  • js入門之Function函數(shù)的使用方法【新手必看】

    js入門之Function函數(shù)的使用方法【新手必看】

    本篇文章主要介紹js Function函數(shù)的使用方法,應該對初學Js的朋友們會有所幫助,下面就隨小編一起來看下吧
    2016-11-11
  • Bootstrap 源代碼分析(未完待續(xù))

    Bootstrap 源代碼分析(未完待續(xù))

    這篇文章主要為大家詳細分析了Bootstrap部分源代碼,先提供給大家學習,感興趣的小伙伴們可以參考一下
    2016-08-08
  • JavaScript 繼承詳解(五)

    JavaScript 繼承詳解(五)

    在本章中,我們將分析John Resig關于JavaScript繼承的一個實現(xiàn) - Simple JavaScript Inheritance,需要的朋友可以參考下
    2016-10-10
  • IE瀏覽器下PNG相關功能

    IE瀏覽器下PNG相關功能

    本文給大家匯總了一下png在IE瀏覽器下出現(xiàn)的各種問題的解決方法,十分的實用,有需要的小伙伴可以參考下。
    2015-07-07
  • 通過偽協(xié)議解決父頁面與iframe頁面通信的問題

    通過偽協(xié)議解決父頁面與iframe頁面通信的問題

    這篇文章主要介紹了通過偽協(xié)議解決父頁面與iframe頁面通信的問題,需要的朋友可以參考下
    2015-04-04
  • JavaScript閉包原理與用法學習筆記

    JavaScript閉包原理與用法學習筆記

    這篇文章主要介紹了JavaScript閉包原理與用法,結合實例形式詳細分析了JavaScript閉包相關概念、原理、用法及操作注意事項,需要的朋友可以參考下
    2020-05-05
  • JS如何在不同平臺實現(xiàn)多語言方式

    JS如何在不同平臺實現(xiàn)多語言方式

    這篇文章主要介紹了JS如何在不同平臺實現(xiàn)多語言方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • js 實現(xiàn)css風格選擇器(壓縮后2KB)

    js 實現(xiàn)css風格選擇器(壓縮后2KB)

    近日在做一些OA前端界面,為了更好管理頁面代碼想寫個js選擇器,寫著寫著發(fā)現(xiàn)很費力,索性在網(wǎng)上找找看,功夫不負有心人, 找到一個mini css選擇器,且性能不凡:以下代碼是壓縮后的,僅2KB
    2012-01-01

最新評論

开远市| 永善县| 乡城县| 武山县| 苗栗市| 文成县| 柳州市| 纳雍县| 德州市| 子长县| 治县。| 澄迈县| 洛川县| 深水埗区| 高淳县| 康乐县| 临安市| 虞城县| 长治县| 武穴市| 安溪县| 盘锦市| 临高县| 泗阳县| 衡水市| 伊吾县| 晴隆县| 无为县| 玉树县| 汉阴县| 宁国市| 陇南市| 泽库县| 资源县| 西乌| 蒲江县| 长岛县| 泰安市| 德昌县| 冕宁县| 香格里拉县|