引用計(jì)數(shù)法與可達(dá)性分析 垃圾回收,顧名思義,便是將已經(jīng)分配出去的,但卻不再使用的內(nèi)存回收回來(lái),以便能夠再次分配。在 Java 虛擬機(jī)的語(yǔ)境下,垃圾指的是死亡的對(duì)象所占據(jù)的堆空...
首先先引入官網(wǎng)對(duì)Zookeeper介紹: 意思就是說(shuō):Zookeeper是一個(gè)集中服務(wù),用于維護(hù)配置信息,命名,提供分布式同步和提供組服務(wù)。而這類類型的服務(wù)被分布式程序使用的...
B+樹:MySQL數(shù)據(jù)庫(kù)索引的數(shù)據(jù)結(jié)構(gòu) 1.理清需求 對(duì)于數(shù)據(jù)庫(kù)兩個(gè)最基本的查詢需求: 根據(jù)某個(gè)值查找數(shù)據(jù),比如select * from user where id = 1...
位圖 位圖可以看成是一種比較“特殊”的散列表。比如有1千萬(wàn)個(gè)整數(shù),要查找某個(gè)整數(shù)是否在這1千萬(wàn)個(gè)整數(shù)中,就可以使用位圖。 如果整數(shù)的范圍在1到1億之間,申請(qǐng)一個(gè)大小為1億、整...
“搜索”算法 深度優(yōu)先搜索算法和廣度優(yōu)先搜索算法都是基于“圖”這種數(shù)據(jù)結(jié)構(gòu)。 圖上的搜索算法就是,在圖中找出從一個(gè)頂點(diǎn)出發(fā),到另一個(gè)頂點(diǎn)的路徑。圖上的搜索算法有深度優(yōu)先、廣度...
圖 圖的概念 圖(graph)和樹比起來(lái),是一種更加復(fù)雜的非線性表結(jié)構(gòu)。 頂點(diǎn)&邊 樹中的元素成為節(jié)點(diǎn),圖中的元素叫做頂點(diǎn)(vertex)。圖一個(gè)頂點(diǎn)可以與任意其他頂點(diǎn)建立連...
這種做法和你說(shuō)的一樣吧,每次先加1然后再取模,直接賦值給tail或head,而不是等到用的時(shí)候再計(jì)算指針的位置。
數(shù)據(jù)結(jié)構(gòu)與算法--隊(duì)列隊(duì)列的結(jié)構(gòu) 可以把隊(duì)列想象成排隊(duì)買票,先來(lái)的先買,后來(lái)的人只能站在末尾,不允許插隊(duì)。 隊(duì)列最大的特點(diǎn)就是先進(jìn)先出,主要的兩個(gè)操作是入隊(duì)和出隊(duì)。跟棧一樣,它既可以用數(shù)組來(lái)實(shí)現(xiàn),...
二叉樹基礎(chǔ) 樹(Tree) 樹是一種非線性表結(jié)構(gòu),比線性表的數(shù)據(jù)結(jié)構(gòu)要復(fù)雜的多: 樹的種類樹、二叉樹二叉查找樹平衡二叉查找樹、紅黑樹遞歸樹 “樹”的特征 “樹”這種數(shù)據(jù)結(jié)構(gòu)里...
散列表 散列表來(lái)源于數(shù)組,它借助散列函數(shù)對(duì)數(shù)組這種數(shù)據(jù)結(jié)構(gòu)進(jìn)行擴(kuò)展,利用的是數(shù)組支持按照下標(biāo)隨機(jī)訪問元素的特性。散列表兩個(gè)核心問題是散列函數(shù)設(shè)計(jì)和散列沖突解決。散列沖突有兩種...
elasticsearch從6.3版本開始支持SQL查詢語(yǔ)言,SQL查詢時(shí)ElasticSearch XPack商用插件包中的功能。使用SQL進(jìn)行查詢es有易上手、學(xué)習(xí)成本低...
跳表 = 鏈表 + 多級(jí)索引 跳表使用空間換時(shí)間的設(shè)計(jì)思路,通過(guò)構(gòu)建多級(jí)索引來(lái)提高查詢的效率,實(shí)現(xiàn)了基于鏈表的“二分查找”。跳表是一種動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu),支持快讀的插入、刪除、查找...
二分查找 二分查找的思想 二分查找(Binary Search)算法,也叫折半查找算法。 二分查找針對(duì)的是一個(gè)有序的數(shù)據(jù)集合,查找思想有點(diǎn)類似分治思想。每次都通過(guò)跟區(qū)間的中間...
隊(duì)列的結(jié)構(gòu) 可以把隊(duì)列想象成排隊(duì)買票,先來(lái)的先買,后來(lái)的人只能站在末尾,不允許插隊(duì)。 隊(duì)列最大的特點(diǎn)就是先進(jìn)先出,主要的兩個(gè)操作是入隊(duì)和出隊(duì)。跟棧一樣,它既可以用數(shù)組來(lái)實(shí)現(xiàn),...
棧的基本結(jié)構(gòu) 后進(jìn)先出,先進(jìn)后出,就是典型的“棧”結(jié)構(gòu)。 從棧的操作特性上來(lái)看, ,只允許在一端插入和刪除數(shù)據(jù)。 從功能上來(lái)說(shuō),數(shù)組或鏈表可以替代棧,但特定的數(shù)據(jù)結(jié)構(gòu)是對(duì)特定...
空間換時(shí)間&時(shí)間換空間 空間換時(shí)間的設(shè)計(jì)思想:當(dāng)內(nèi)存空間充足的時(shí)候,為了追求代碼更快的執(zhí)行速度,就可以選擇空間復(fù)雜度相對(duì)較高、使時(shí)間復(fù)雜度相對(duì)很低的算法或者數(shù)據(jù)結(jié)構(gòu)。時(shí)間換空...
在軟硬件接口中,cpu幫我們做了什么事?我們常說(shuō),cpu就是計(jì)算機(jī)的大腦。cpu的全程是Central Processing Unit,中文是中央處理器。 上一節(jié)說(shuō)了,從硬件...