常用演算法PK

2021-06-06 16:36:06 字數 808 閱讀 1501

本篇部落格主要講分治法、動態規劃法、貪心法、回溯法、分支限界法幾種常用演算法的原理,方便同學們理解每種演算法的道理到底是怎麼回事。

分治法:

將乙個難以直接解決的大問題分解為一些規模較小的相同問題各個擊破,分而治之。一般分為三個步驟:分解,求解,合併。和遞迴相似。快速排序是一種典型的分治演算法,將乙個大的序列初步排序分解為兩個序列,再對兩個序列再進行排序分解……舉個生活中的例子:比如即將進行的軟考就要開始考試了,考完之後我們每個同學都會有乙個成績,之後我們就要對成績進行排名,首先以60分及格分為基準將所有的成績分為兩部分,再對這兩部分分別進行排名,小於60分的同學排一下參見下一次考試,大於60分的選擇全國第50名的分數作為基準再進行分組,一部分是我們班進入全國前50名的,一部分是我們班及格了但是沒有進入全國前50名的——這就是分治法

具體**如下:

quicksort(a,p,r)

貪心演算法:

貪心演算法就是僅根據當前的資訊作出選擇,現在作出選擇對將來不管產生什麼影響現在的選擇都不會變化。就是只考慮區域性,不考慮整體。典型的例子有「買東西找零錢」,這裡就不細說了。

回溯法:

回溯法就是從根節點出發,以深度優先的方式搜尋解空間,遇到不符合條件的就進行回溯,移動到最近的乙個活結點,直到沒有活結點為止。典型的例子有「八皇后」問題

分支限界法:

分支限界法就與回溯法相對應,回溯法是求解目標中滿足約束條件的所有解空間,分支限界法則是找滿足約束條件的乙個解(最優解)

KM演算法 PK 最小費用最大流

用到了km演算法 發現自己沒有這個模板,搜尋學習一下上海大學final大神,1 include 2 include 3 include 4 include 5 using namespace std 67 km演算法 8 複雜度o nx nx ny 9 求最大權匹配 10 若求最小權匹配,可將權值取...

求職PK考研

開學已經兩個月了,經歷了考研與找求職的抉擇,最終走向了求職之路,我的求職之路還算順利,當然也有失敗了,先後接到了3個offer,也被4個公司拒過,但是最後還是選擇了一家深圳的公司,雖然不是很大,但是我覺得能夠鍛鍊到自己,能夠學習到東西,而且自己相對比較愛好。至於考研與求職的抉擇,我是這麼想的 如果把...

英語PK大賽

在大家都忙忙碌碌的時候,乙個激動人心的訊息在提高班廣泛傳開,我們要進行英語pk大賽了,這對於我們學習了一陣子英語的同學們來說,這乃是大事一件啊,大家都好想看看自己這陣子收穫了什麼,很榮幸本 妃 就榮幸被選中參加競賽,我們小組知道這件事大概是比賽的前兩天,我們大家集體構思準備劇本,看著為這事忙碌的大家...