算法的三種形式分別是?
算法可以大概分為以下三種類型:
1.貪婪算法(greedy algorithm)
該算法每一步所做的都是當(dāng)前最緊急、最有利或者最滿意的,不會考慮所做的后果,直到完成任務(wù)。這種算法的穩(wěn)定性很差,很容易帶來嚴(yán)重后果,但是,如果方向正確,那該算法也是高效的。
2.分治算法(divide-and-conquer algorithm)
該算法就是將一個大問題分解成許多小問題,然后單獨處理這些小問題,最終將結(jié)果結(jié)合起來形成對整個問題的解決方案。當(dāng)子問題和總問題類型類似時,該算法很有效,遞歸就屬于該算法。
3.回溯算法(backtracking algorithm)
也可以稱之排除算法,一種組織好的試錯法。某一點,如果有多個選擇,則任意選擇一個,如果不能解決問題則退回選擇另一個,直到找到正確的選擇。這種算法的效率很低,除非運氣好。比如迷宮就可以使用這種算法來實現(xiàn)