精品久久久久中文字,日韩免费看视频三区中文字幕,国产成 人亚洲91,亚洲无玛在线观看

    1.  中國簡單快捷的免費行業(yè)信息發(fā)布平臺
      ·手機版 ·注冊 ·登錄 ·會員中心 ·忘了密碼 ·導(dǎo)航 ·幫助
      名站在線LOGO
      ·設(shè) 為 首 頁
      ·收 藏 本 站
      ·新 站 登 錄
      網(wǎng)站首頁
      |
      行業(yè)供求
      |
      行業(yè)產(chǎn)品
      |
      行業(yè)公司
      |
      站內(nèi)檢索
      |
      行業(yè)資訊
      |
      網(wǎng)站導(dǎo)航
      |
      鏈接交換
      |
      流量交換
      |
      網(wǎng)友收藏
      您當(dāng)前的位置: 首頁 > 行業(yè)貼吧 > 話題


      行業(yè)貼吧

      (注意:網(wǎng)友的發(fā)布表不代表本站立場。)
      回復(fù)話題
      發(fā)新話題
      返回列表
      話題: 數(shù)據(jù)結(jié)構(gòu)類型的優(yōu)缺點分析
      183.17.228.*
      2020-07-02 13:28:18
        數(shù)據(jù)結(jié)構(gòu)是指相互之間存在著一種或多種關(guān)系的數(shù)據(jù)元素的集合和該集合中數(shù)據(jù)元素之間的關(guān)系組成。常用的數(shù)據(jù)結(jié)構(gòu)有:數(shù)組,棧,鏈表,隊列,樹,圖,堆,散列表等。而今天我們就再來了解一下,數(shù)據(jù)結(jié)構(gòu)的常見類型與優(yōu)缺點分析。







        數(shù)據(jù)結(jié)構(gòu)的常見類型與優(yōu)缺點分析





        1.列表(List)





        元素有放入順序,元素可重復(fù)。





        數(shù)組實現(xiàn)(Vector類)





        同樣基于數(shù)組實現(xiàn),會在內(nèi)存中開辟一塊連續(xù)的空間來存儲。ArrayList是非線程安全的,效率高;Vector是基于線程安全的,但效率低,并且是方法級別的同步,不是**的線程安全。





        初始容量10,每次數(shù)組擴展到原來容量的2倍(每次擴充的容量大小是可以設(shè)置的,而ArrayList類不支持設(shè)定)。





        鏈表實現(xiàn)(LinkedList類)





        每一個元素存儲本身數(shù)據(jù)的同時還存儲上、下兩個元素的地址(雙向鏈表)。





        優(yōu)點:





        新項的插入和現(xiàn)有項的刪除平均開銷很小O(1)(假設(shè)變動項的位置已知),因此提供了addFirst和removeFirst,addLast和removeLast,getFirst和getLast等**添加、刪除和訪問兩端的項的方法;





        可以在非連續(xù)的內(nèi)存空間里面存儲一個集合的元素;





        缺點:





        根據(jù)索引的訪問時間復(fù)雜度為O(n);





        存放相同多的數(shù)據(jù),一般情況下,數(shù)組占用較小的內(nèi)存,而鏈表還需要存放其前驅(qū)和后繼的空間。





        2.棧(Stack)





        棧,在計算機中運用廣泛,比如說JVM,它就是基于棧來執(zhí)行指令的。棧是限制插入和刪除只能在一個位置上進行的表,該位置是表的末端,叫作棧頂,對棧的基本操作有push(進棧)和pop(出棧),前者相當(dāng)于插入,后者相當(dāng)于刪除后一個元素。棧有時又叫作LIFO(LastInFirstOut)表,即后進先出。





        棧一般有兩種實現(xiàn),所有操作時間復(fù)雜度O(1):





        棧的鏈表實現(xiàn):利用LinkedList類,通過表頂端的元素插入和刪除。





        棧的數(shù)組實現(xiàn):模仿ArrayList類,和棧相關(guān)的有兩個元素,arrayList數(shù)組和topOfStack索引,初始狀態(tài)topOfStack==-1,每次進棧一個元素x,topOfStack增1并令arrayList[topOfStack]=x;每次出棧一個元素,我們置返回值arrayList[topOfStack],并令topOfStack減1。





        3.隊列(Queue)





        對于隊列來說,元素只能從隊列尾插入,從隊列頭訪問和刪除。普通的隊列是一種先進先出(FirstInFirstOut,F(xiàn)IFO)的數(shù)據(jù)結(jié)構(gòu),而優(yōu)先隊列中,元素被賦予優(yōu)先級。當(dāng)訪問元素的時候,具有高優(yōu)先級的元素先被刪除。





        隊列也是表,一般有兩種實現(xiàn),所有操作時間復(fù)雜度O(1)(優(yōu)先隊列是通過大頂堆或者小頂堆實現(xiàn)):





        隊列的鏈表實現(xiàn):利用LinkedList類,通過表尾端插入元素,前端刪除元素,并記錄隊列中元素個數(shù)currentSize。





        隊列的數(shù)組實現(xiàn):保留一個數(shù)組theArray以及位置front和back,代表隊列的兩端;同時還要記錄隊列中元素個數(shù)currentSize。要使一個元素x入隊,則currentSize和back增1,theArray[back]=x;要使一個元素出隊,我們置返回值theArray[front],且currentSize減1,、front增1。采用循環(huán)數(shù)組的方式,當(dāng)front和back到達數(shù)組的尾端,他們又繞回開頭。





        4.集合(Set)





        元素?zé)o放入順序,元素不可重復(fù)(注意:元素雖然無放入順序,但是元素在set中的位置是由該元素的HashCode決定的,其位置其實是固定的)





        Set接口有兩個實現(xiàn)類:HashSet和LinkedHashSet





        HashSet:(底層由HashMap實現(xiàn)),HashSet類按照哈希算法來存取集合中的對象,存取速度比較快,存入HashSet的對象必須定義hashCode()和equals()來確保對象的性。





        LinkedHashSet:具有HashSet的查詢速度,且內(nèi)部使用鏈表維護元素的順序(插入的次序)。于是在使用迭代器遍歷Set時,結(jié)果會按元素插入的次序顯示。





        SortedSet接口有一個實現(xiàn)類:TreeSet底層是通過TreeMap來實現(xiàn)的(如同HashSet底層是是通過HashMap來實現(xiàn)的一樣),因此二者的實現(xiàn)方式幾乎完全一樣。





        數(shù)據(jù)結(jié)構(gòu)類型的優(yōu)缺點分析.針對各行業(yè)運營發(fā)展中面臨的業(yè)務(wù)挑戰(zhàn),中琛魔方(www.zcmorefun.com)提供了豐富的行業(yè)應(yīng)用數(shù)據(jù)分析方案,幫助企業(yè)提升企業(yè)資產(chǎn)效益,從而創(chuàng)造更多的商業(yè)價值。
      共0個回復(fù)
      回復(fù)話題
      發(fā)新話題
      返回列表



      新站登錄--網(wǎng)站簡介--流量交換--名站收藏夾--廣告服務(wù)--友情鏈接--免責(zé)聲明--聯(lián)系我們--意見建議--違法舉報--侵權(quán)舉報
      Copyright 2005-2025 名站在線[www.vc021.cn]版權(quán)所有 經(jīng)營許可證:粵ICP備17047754號