《算法概論》在普通高等教育十四五規(guī)劃教材精神的指導(dǎo)下編寫而成。
算法是計算機科學(xué)的核心問題之一,也是計算機科學(xué)與技術(shù)專業(yè)本科及研究生的一門重要的專業(yè)基礎(chǔ)課。
《算法概論》內(nèi)容是研究計算機及相關(guān)領(lǐng)域中的一些非數(shù)值計算的常用算法。通過學(xué)習(xí),使學(xué)生掌握設(shè)計算法的常用方法,以便去解決計算機科學(xué)與工程領(lǐng)域中較為復(fù)雜的實際問題。此外,對分析算法、估計算法的時間與空間復(fù)雜性也做一些了解,但不作為重點。
算法知識理論性較強而且比較抽象,涉及的范圍廣,比較復(fù)雜,這些都給學(xué)習(xí)和理解造成困難。該書的編寫條理清晰,內(nèi)容翔實,邏輯嚴(yán)謹(jǐn),深入淺出,利于算法知識的教與學(xué)。此外,書中的算法均用自然語言來表述其思路,再以類C語言來描述,程序結(jié)構(gòu)清楚,構(gòu)思精巧,對程序代碼做了必要的注釋,力求簡潔明了、通俗易懂。
第1章 算法概述
1.1 算法概念
1.1.1 什么是算法
1.1.2 為什么學(xué)習(xí)算法
1.1.3 抽象表達(dá)算法機制
1.2 算法的復(fù)雜度
1.2.1 算法三性態(tài)
1.2.2 算法復(fù)雜度
1.3 算法設(shè)計與分析的步驟
1.3.1 利用算法進(jìn)行問題求解的過程
1.3.2 如何設(shè)計算法
1.3.3 如何表示算法
1.3.4 如何確認(rèn)算法
1.3.5 如何分析算法
1.4 算法描述語言簡介
1.4.1 C語言中的標(biāo)準(zhǔn)數(shù)據(jù)類型
1.4.2 C語言中的運算符
1.4.3 C語言中的語句簡介
小結(jié)
習(xí)題1
第2章 遞歸技術(shù)
2.1 遞歸技術(shù)概述
2.1.1 什么是遞歸技術(shù)
2.1.2 遞歸技術(shù)的基本思想
2.2 漢諾塔問題
2.3 遞歸方程的建立與求解
2.3.1 遞推法
2.3.2 生成函數(shù)法
2.3.3 特征方程法
2.3.4 數(shù)學(xué)歸納法
2.3.5 不規(guī)則解法
2.4 遞歸消除
2.4.1 簡單遞歸消除
2.4.2 基于棧的遞歸消除
小結(jié)
習(xí)題2
第3章 分治法
3.1 分治法概述
3.1.1 什么是分治法
3.1.2 分治法的基本思想
3.1.3 分治法的基本要素
3.2 二分檢索技術(shù)
3.2.1 二分檢索算法描述
3.2.2 壞情況分析
3.2.3 平均復(fù)雜度分析
3.2.4 以比較為基礎(chǔ)的檢索時間下界
3.3 查找第k個小元素
3.3.1 分劃點m的選取
3.3.2 隨機選擇算法
3.4 分治乘法
3.4.1 大整數(shù)相乘
3.4.2 多項式乘法
3.4.3 矩陣乘法
3.5 棋盤覆蓋
3.6 分治合并排序
3.6.1 什么是合并
3.6.2 合并排序的基本思想
……
第4章 貪心法
第5章 動態(tài)規(guī)劃
第6章 回溯法
第7章 分支限界法
第8章 概率算法
第9章 NP問題
第10章 近似算法
第11章 加密算法
第12章 并行算法
第13章 上機實訓(xùn)
參考文獻(xiàn)
參考答案