C語言 參加 NOIP 要學哪些算法
10
最佳回答:
1、排序算法(快排、選擇、#冒泡、堆排序、*二叉排序樹、桶排序)
2、DFS/BFS 也就是搜索算法,剪枝務必要學!
學寬搜的時候再復習一下哈希表
3、樹
①遍歷
②二叉樹
③二叉排序樹(查找、生成、刪除)
④堆(二叉堆、堆排序)
⑤*Trie樹
4、圖(圖論建模)
①最小生成樹
②最短路徑
③計算圖的傳遞閉包
④*連通分量(其中要掌握並查集技術)
⑤拓撲排序、關鍵路徑
⑥*哈密爾頓環
⑦*歐拉回路
⑧*Bell-man Ford、SPFA(能解決負權回路)
⑨*二分圖(匈牙利算法)
5、動態規劃(背包問題只是其中一種)
①線性動規
②區間動規
③樹形動規
6、分治(掌握了動規分治就好學了)
7、貪心
8、*位運算(可以用來進行優化)
9、數學與程序設計
差不多就這些了,打‘ * ’的為不一定要學的。
NOIP有大綱 但不按大綱考- - 還是多刷題
刷題網站 :www.tyvj.cn
www.rqnoj.cn
求分!!!