幾種搜尋演算法原理比一比

2021-10-21 18:05:39 字數 318 閱讀 5872

a搜尋:總代價 f(n) = g(n) + h(n),其中g(n)為從初始狀態到達該狀態的代價(這裡乙個狀態也就是a演算法裡常說的乙個節點),h(n)為從當前狀態到目標狀態的預估代價。因此,該演算法的思路就是,每次尋找總代價f(n)最小的點進行擴充套件,直到找到終點。a*的具體過程可參考這篇部落格,可參考這篇部落格:

貪心搜尋:代價f(n) = h(n),每次只考慮(可到達的)離目標節點最近的點進行擴充套件

ids深度迭代搜尋:在有界的深度優先搜尋的基礎上迭代的設定邊界,即先考慮一層的dfs,若找不到目標則找兩層的dfs,一直迭代下去直到找到目標節點。所以這種方法也是一定能找到界的,只是時間消耗會很多。

比一比 快 堆 希 歸 基 插 選 冒

排序演算法 時間複雜度 空間複雜度 穩定性快速排序 o nlogn o logn 不穩定堆排序 o nlogn o 1 不穩定希爾排序 o n 1.3 1.5 o 1 不穩定歸併排序 o nlogn o n 穩定基數排序 o m n o n 穩定插入排序 o n 2 o 1 穩定選擇排序 o n 2...

AI中的幾種搜尋演算法 SA搜尋演算法

sa simulated annealing 搜尋演算法,就如它的名字,是模仿了退火的處理過程。在提到tsp問題的時候,經常會使用該演算法進行解決。該演算法的流程如下 1.首先便是初始化工作,設定初始溫度 temperature 獲得乙個隨機的解決方案,並將其設定為當前解決方案 cur sol 2....

python搜尋演算法原理及例項講解

一般我們在解決問題時候,經常能碰到好幾種解決方式,總歸是有最優,還有最不推薦的選擇的,針對搜尋演算法也一樣,因為能實現的方式也有很多個,因此,不知道大家在什麼場景裡使用這些演算法,反正小編都把這些演算法整理出來了,供大家選擇,另外針對個人理解,大家也可以參考哪個更好使用哦 搜尋演算法 線性搜尋 按一...