前面我們提到了二叉查找樹,支持快速的查找、插入和刪除操作。中序遍歷二叉查找樹,可以輸出有序的數(shù)據(jù)序列,非常高效。 但是,二叉查找樹存在一個問題,...
投稿
前面我們提到了二叉查找樹,支持快速的查找、插入和刪除操作。中序遍歷二叉查找樹,可以輸出有序的數(shù)據(jù)序列,非常高效。 但是,二叉查找樹存在一個問題,...
樹 在介紹二叉樹之前,我們需要先明白什么是樹,因為二叉樹是樹的其中一種,因為我們用的最多,所以我們大多都在學習和了解二叉樹。 樹是一種抽象數(shù)據(jù)類...
什么是散列表 散列表(hash table),我們平時叫它哈希表或者Hash 表,你肯定經(jīng)常聽到它。 散列表是根據(jù)關鍵碼值(Key value)...
什么是跳表 跳表全稱為跳躍列表,它允許快速查詢,插入和刪除一個有序連續(xù)元素的數(shù)據(jù)鏈表。跳躍列表的平均查找和插入時間復雜度都是O(logn)??焖?..
二分查找算法的簡單介紹 今天我們來學習一下二分查找算法,也叫做折半查找算法。使用二分查找算法的前提是數(shù)據(jù)需要是有序的。二分查找的思想非常簡單,很...
遞歸的理解 在學習數(shù)據(jù)結構和算法的過程中,遞歸可能是比較難理解的一個知識點,每次都試著用自己的大腦去把一步一步去想清楚,結果最后把自己都繞暈了。...
什么是隊列 隊列也是一種操作受限制的線性表,只允許在表的前端進行刪除,也就是出隊,而在表的后端進行插入,即入隊。 舉一個生活中常見的例子,我們經(jīng)...
本文轉自公眾號 「程序員私房菜 」 一直有寫一篇關于排序算法文章的打算,直到我看到了這一篇,我放棄了自己寫的打算,因為這篇寫的太經(jīng)典了。這里強烈...
什么是棧 棧是一種運算受限制的線性表,只允許在表的一端進行插入和刪除操作。這一端被稱為棧頂,另一端被稱為棧底。向一個棧中插入新數(shù)據(jù)叫做進棧、入棧...
上次我們簡單的對比了一下數(shù)組和鏈表的區(qū)別和各自的優(yōu)缺點,今天我們來詳細看一下鏈表這個結構。鏈表的結構五花八門,我們幾天主要看一下三種最常用的鏈表...