
樹 在介紹對排序之前,先介紹“樹”的相關(guān)概念!樹:指不包含回路的連通無向圖。有以下一些特性: 一棵樹中的任意兩個節(jié)點有且僅有唯一的一條路徑連通;...
在講Bellman-Ford之前先介紹另一種存儲圖的方法:鄰接表。 鄰接表 先上數(shù)據(jù),以下是一個包含4個頂點,5條邊的圖。n = 4(頂點編號為...
Dijkstra“單源最短路”,是指指定一個點(源點)到其余各個頂點的最短路徑。例如:求下圖中的1號頂點到其他頂點的最短路徑。 與上文中的Flo...
Floyd-Warshall算法,簡稱Floyd算法,用于求解任意兩點間的最短距離。如下圖,表示一個用鄰接矩陣表示的圖,如何求任意兩點之間的距離...
圖 圖就是由一些小圓點(稱為頂點)和連接這些小圓點的直線(稱為邊)組成的。下圖是一個常見的圖。 如何存儲一個圖呢。我們可以用一個二維數(shù)組表示,如...
深度優(yōu)先搜索 深度優(yōu)先搜索所遵循的搜索策略是盡可能“深”地搜索圖。在深度優(yōu)先搜索中,對于最新發(fā)現(xiàn)的頂點,如果它還有以此為起點而未探測到的邊,就沿...
隊列 隊列是一種特殊的線性結(jié)構(gòu),它只允許在隊列的首部(head)進行刪除操作,這稱為“出隊”,而在隊列的尾部(tail)進行插入操作,這稱為“入...
快速排序 快速排序的基本思想是:1.先從數(shù)列中取出一個數(shù)作為基準(zhǔn)數(shù)。2.分區(qū)過程,將比這個數(shù)大的數(shù)全放到它的右邊,小于或等于它的數(shù)全放到它的左邊...
冒泡排序 冒泡排序的基本思想是:每次比較兩個相鄰的元素,如果他們的順序錯誤就把他們交換過來。冒泡排序的核心部分是雙重嵌套循環(huán),時間復(fù)雜度是O(n...