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