僅僅熟練掌握程序設(shè)計語言并不能成為好的程序員。對于許多問題,如果沒有好的算法,計算機只能低效地解決,甚至無法解決。因此,好的程序員,還應該對程序的靈魂 --- 算法有較好理解并能靈活應用。
本課程要講授的就是枚舉、二分、遞歸、分治、動態(tài)規(guī)劃、搜索、貪心這七種基本的通用算法。各種復雜算法問題的解決,都可能用到這些基本的思想。
本門課程面向需要進一步提高編程和算法水平的學習者。要求學習者已經(jīng)掌握C語言,以及基本的程序設(shè)計思想,如簡單排序、簡單的遞歸。
本課程中一部分的例題,難度與中學信息學奧賽NOIP提高組的較難題相當,也和ACM國際大學生程序設(shè)計競賽中的中等題相當。掌握了本課程的內(nèi)容,學員的算法水平和實現(xiàn)能力將超過國內(nèi)大部分高校計算機專業(yè)本科畢業(yè)生。