序 很多博友要求我修改標題,我也感覺這幾篇文章確實跟大型網站和架構關系不大,所以決定修改標題。 上文聊到伸展樹,這篇講ISAM樹。 ...
目錄 序 堆棧是什么 實現方式 靜態數組堆棧 動態數組堆棧 鏈式堆棧 總結 序 我一直在想一個問題,我怎么能把一件事情說的明白呢 尤其是程序方面的知識點。思路清楚是非常重要的 只有思路清楚,表達清楚了,才能一目了然 ,這個清楚的思路怎么表現出來 我努力去做這件事情。這篇主要圍繞堆棧來展開話題。 堆棧是什么 實現方式 靜態數組堆棧 先把你要做的事情准備好。 這么一羅列,一下就明朗了 開始逐步實現每 ...
2013-04-11 11:25 6 5395 推薦指數:
序 很多博友要求我修改標題,我也感覺這幾篇文章確實跟大型網站和架構關系不大,所以決定修改標題。 上文聊到伸展樹,這篇講ISAM樹。 ...
序 上個月老大給我們講解了"淺談大型網站的算法和架構",獲益匪淺。由於篇幅太多(光數據結構大概就有20多種),我也沒有辦法一下全部吸收,故我邊理解,邊分章節與大家分享。 這周我查閱資料,來理解各個數據結構和算法 ...
序 承接上文,我們繼續聊這個話題。 平衡二叉樹:AVL Tree(1962) 上文我們只實現了單旋, ...
上一篇咱們聊完了數據結構中最基礎的「 數組 」和「 鏈表 」,今天咱們再來繼續看看「 堆棧 」吧,我寫技術文章很少 show code,所以經常有人吐槽。好吧,這個算法系列的文章我打算每一篇的結尾處都找一道算法題寫出代碼示例,這總可以了吧。 一、「 堆棧 」是什么? 堆棧(stack)是一種 ...
序 承接上文 淺談大型網站的算法和架構(一) ,我們繼續聊我們的話題。 上文中很多人提到不扣題,這只是一部分資料,所以會感覺到不扣題,主要是題目太大了,而且內容太多了,我只能一部分一部分的寫出來,望大家見諒 ...
一、為什么要用\(A\)* 在一些最短路問題(爆搜問題)中,我們常常會被高度的時間復雜度卡成\(TLE\),這種時候我們就需要\(A\)*出場啦 簡而言之,\(A\)*是用來剪枝優化最短路算法和爆搜的時間復雜度的,使得程序可以更快速地得到最優解 二、\(A\)*的原理 覺得一開始就瞎 ...
堆棧的定義: 堆棧是一種數據結構,具體是一個特定的存儲區或寄存器。堆棧都是一種數據項按序排列的數據結構。只能在一端(稱為棧頂(top))對數據項進行插入和刪除,也就是它的一端是固定的,另一端(棧頂)是浮動的 ,嚴格按照“先進后出”的原則存取,位於其中間的元素,必須在其棧上部(后進棧者)諸元素 ...
在這一章我們來了解兩個很特殊的數據結構:堆棧 (Stack) 和隊列 (Queue)。這兩個數據結構類似垃圾桶和隊伍,棧是先進后出型,隊列是先進先出型。 堆棧(Stack) 概念 堆棧是一種常用的數據結構,這種數據結構的存儲方式和垃圾桶一樣,后面放進去的元素可以先取出來,而最早放入的元素會被 ...