用于解決加權(quán)圖(有向無環(huán)圖)中前往目的地的最短路徑。不能有負權(quán)邊 算法步驟: 1. 找到最短時間內(nèi)前往的節(jié)點 2. 對該節(jié)點的鄰居,檢查是否有前...
廣度優(yōu)先搜索(breadth-first search)處理是否有A到B的路徑,如果有最短路徑是什么。 思路:建立圖---用廣度優(yōu)先搜索解決問題...
哈希表又叫散列表,python中提供的是函數(shù)dict。哈希表是一種強大的數(shù)據(jù)結(jié)構(gòu),操作速度很快。非常適合用于防止重復。 散列函數(shù):將輸入映射到數(shù)...
快速排序運用了遞歸的思想--分而治之(divide and conquer)時間復雜度O(N*logN) 分而治之一般有兩個步驟: 1)找到一個...
遞歸的基本思想是分解,讓函數(shù)調(diào)用自己。在性能上,遞歸與循環(huán)一樣,沒有優(yōu)勢,但是遞歸很多時候在思路上更為清晰。 兩個重要條件:基線條件,遞歸條件 ...
排序是很多算法的基礎(chǔ),很多算法的后續(xù)步驟是建立在有序的基礎(chǔ)之上的。 選擇排序:遍歷一個列表,每一次遍歷都找到整個數(shù)組中最小的值,然后將最小的值放...
對象:有序的元素列表(list) 目標:一個元素(target) 時間復雜度:O(logN) log以2為底 思路:設(shè)置一個循環(huán),在每一次循環(huán)中...
算法復雜度的回顧,一般來說考察復雜度會和各種排序算法聯(lián)系起來。因此弄清這些排序算法的具體的操作步驟就能明白為什么相應的時間復雜度和空間復雜度是這...