看板 C_and_CPP 關於我們 聯絡資訊
先釐清一些東西。不同比賽要求的能力不一樣: (1) 有些比賽要求短時間內寫出所有東西,那麼熟悉你用的程式語言 就很重要。話說不是所有比賽都規定要用 C/C++. (2) 熟悉基本的演算法和資料結構對解很多比賽的題目極有幫助。 (3) 根據比賽性質不同,軟體工程技術(軟體架構,單元測試,CI, 版本控制等)可能有用。當然還有隊友之間的分工問題。 我覺得你現在看的什麼 C++ 書都只是加強 (1) 的能力,然後你問的 書比較像是 (2) 的能力;如果你不需跟人合作,(3) 可能幫助不大(但 還是有用... 最好 (1) (2) (3) 都練到超強 xDDD) 總而言之 (2) > (1) >> (3) 以下補充一些版友沒講到的: 1. 基本演算法 (2) 的能力相當仰賴數學基礎,尤其是代數和圖論。 有些大學科系會把殘缺不全的代數和圖論混在一起開「離散數學」 和「線性代數」等等。這些基礎對學習基本的演算法非常有幫助。 當然也可以自己買好書看。 2. 演算法和資料結構本身是一個無窮無盡的學問,但比賽大都只要求 基本演算法而已。所以當你學完基本(差不多 I2A - 後面章節 + 網路流 + 一些看了 I2A 很容易吸收的演算法和資料結構)就可 以改加強 (1) 了。 PS: 因為我自己是唸 I2A 的所以不知道其他本入門書大概是怎樣。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.39
diabloevagto:I2A? 07/18 08:50
就第一篇 Fenikso 推的 Introduction to Algorithms ※ 編輯: Favonia 來自: 140.112.30.39 (07/18 09:28)
EdisonX:TAOCP 有些算法冷僻,但常為之一驚 <因為什麼都看不懂orz> 07/18 11:22
maerdimer:推!! 07/18 15:31
suhorng:推 07/18 22:03