1 一個小例子 首先,來看一個小例子。新創(chuàng)建一個Android工程項(xiàng)目,在Activity里面增加兩個按鈕,一個按鈕用于產(chǎn)生內(nèi)存泄漏,一個按鈕用...
1 思路 假設(shè)對數(shù)組data進(jìn)行排序,如果能夠?qū)ata以元素v分割成左右兩部分, 對于左邊所有元素都比v小, 對于右邊所有元素都比v要大。 那...
1 思路 假設(shè)有這樣一個數(shù)組: 歸并排序的思路是,將這個數(shù)組先不斷的拆分為二,直至只有一個子元素。然后不斷的向上合并已排好序的子數(shù)組。 因此,大...
1 基本原理 HashMap是一種用于存儲鍵值對的數(shù)據(jù)結(jié)構(gòu),顧名思義,它的底層算法是基于hash運(yùn)算的。對于HashMap最簡單的使用如下: 假...
思路 由于鏈表只在頭節(jié)點(diǎn)處增刪都為O(1),那么對于隊(duì)列操作,采用上一篇的鏈表結(jié)構(gòu),就不能做到入隊(duì)和出隊(duì)操作都為O(1),假設(shè)在鏈表頭處入隊(duì),那...
概念和圖示 鏈表是一條有節(jié)點(diǎn)(Node)所組成鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),每個節(jié)點(diǎn)存儲的元素(e)以及指向下一個元素的節(jié)點(diǎn)(next): 使用類表示如下: 一...
定義 隊(duì)列是一種先進(jìn)先出(First In First Out,F(xiàn)IFO)的數(shù)據(jù)結(jié)構(gòu)。 實(shí)現(xiàn) 可以和棧一樣,把隊(duì)列看成是數(shù)組實(shí)現(xiàn)的一個子集。由于...
思路 棧是一種先進(jìn)后出(First In Last Out, FILO)的數(shù)據(jù)結(jié)構(gòu)。相對上一篇的數(shù)組,它只能在最后添加或刪除元素,因此它是數(shù)組的...
什么是數(shù)據(jù)結(jié)構(gòu)? 數(shù)據(jù)結(jié)構(gòu)研究的是數(shù)據(jù)如何在計算機(jī)中進(jìn)行組織和存儲,使得我們可以高效的獲取數(shù)據(jù)或者修改數(shù)據(jù)。 數(shù)組封裝 定義一個class Ar...