欧美人妻一区二区三区,亚洲精品无码一区二区三区网雨 ,国产精品秘入口18禁麻豆免会员,精品无人乱码一区二区三区

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


行業(yè)貼吧

(注意:網(wǎng)友的發(fā)布表不代表本站立場(chǎng)。)
回復(fù)話題
發(fā)新話題
返回列表
話題: 數(shù)據(jù)結(jié)構(gòu)類(lèi)型的優(yōu)缺點(diǎn)分析
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ù)組,棧,鏈表,隊(duì)列,樹(shù),圖,堆,散列表等。而今天我們就再來(lái)了解一下,數(shù)據(jù)結(jié)構(gòu)的常見(jiàn)類(lèi)型與優(yōu)缺點(diǎn)分析。







  數(shù)據(jù)結(jié)構(gòu)的常見(jiàn)類(lèi)型與優(yōu)缺點(diǎn)分析





  1.列表(List)





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





  數(shù)組實(shí)現(xiàn)(Vector類(lèi))





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





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





  鏈表實(shí)現(xiàn)(LinkedList類(lèi))





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





  優(yōu)點(diǎn):





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





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





  缺點(diǎn):





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





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





  2.棧(Stack)





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





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





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





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





  3.隊(duì)列(Queue)





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





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





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





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





  4.集合(Set)





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





  Set接口有兩個(gè)實(shí)現(xiàn)類(lèi):HashSet和LinkedHashSet





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





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





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





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



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