演算法學習之路

2022-03-30 06:26:21 字數 688 閱讀 7699

第一階段:練經典常用演算法,下面的每個演算法給我打上十到二十遍,同時自己精簡**, 

因為太常用,所以要練到寫時不用想,10-15 分鐘內打完,甚至關掉顯示器都可以把程式打 

出來. 

1.最短路(floyd、dijstra,bellmanford) 

2. 最小生成樹(先寫個prim,kruscal要用並查集,不好寫) 

3.大數(高精度)加減乘除 

4.二分查詢. (**可在五行以內) 

5.叉乘、判線段相交、然後寫個凸包. 

6.bfs、dfs,同時熟練hash表(要熟,要靈活,代 碼要簡) 

7.數學上的有:輾轉相除(兩行內),線段交點、多角形面積公式. 

8. 呼叫系統的qsort, 技巧很多,慢慢掌握. 

9. 任意進製間的轉換 

第二階段:練習複雜一點,但也較常用的演算法。 

如: 1. 二分圖匹配(匈牙利),最小路徑覆蓋 

2. 網路流,最小費用流。 

3. 線段樹. 

4. 並查集。 

5. 熟悉動態規劃的各個典型:lcs、最長遞增子串、三角剖分、記憶化dp 

6.博弈類演算法。博弈樹,二進位制法等。 

7.最大 團,最大獨立集。 

8.判斷點在多邊形內。 

9. 差分約束系統. 

10. 雙向廣度搜尋、a*演算法,最小耗散優先. 

演算法學習之路

目錄 演算法學習之路 一 前言 一 書籍 二 學習內容 1.空間複雜度,時間複雜度 2.貪心演算法 總結 由於長期沉迷摸魚哲學,感覺自己已經快廢了,決定今天開始學習一些演算法資料充實自己,希望不要三分鐘熱度吧。使用的學習書籍是csdn中自帶的 趣學演算法 看過很多演算法的教學書籍了,開頭都是老面孔了...

演算法學習之路 貪心

基本概念 貪心演算法 又稱貪婪演算法 是指,在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,他所做出的是在某種意義上的區域性最優解。貪心演算法不是對所有問題都能得到整體最優解,關鍵是貪心策略的選擇,選擇的貪心策略必須具備無後效性,即某個狀態以前的過程不會影響以後的狀...

演算法學習之路(一)

目錄 題目一題目二 給定乙個整數陣列nums和乙個目標值target,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums...