算法课程目录
㈠ 算法设计与分析基础的目录
第1章 绪论
1.1 什么来是算法
1.2 算法问题求自解基础
1.3 重要的问题类型
1.4 基本数据结构
小结
第2章 算法效率分析基础
2.1 分析框架
2.2 渐进符号和基本效率类型
2.3 非递归算法的数学分析
2.4 递归算法的数学分析
2.5 例题:斐波那
2.6 算法的经验分析
2.7 算法可视法
小结
第3章 蛮力法
3.1 选择排序和冒泡排序
3.2 顺序查找和蛮力字符串匹配
3.3 最近对和凸包问题的蛮力算法
3.4 穷举查找
小结
第4章 分治法
4.1 合并排序
4.2 快速排序
4.3 折半查找
4.4 二叉树遍历及其相关特性
4.5 大整数乘法和Strassen矩阵乘法
4.6 用分治法解最近对问题和凸包问题
小结
第5章 减治法
5.1 插入排序
5.2 深度优先查找和广度优先查找
……
第6章 变治法
第7章 时空权衡
第8章 动态规划
第9章 贪婪技术
第10章 迭代改进
第11章 算法能力的极限
第12章 超越算法能力的极限
跋
附录
习题提示
参考文献
㈡ 算法导论的作品目录
目录(Table of Contents)
前言(Preface)
第一部分(Part I) 基础(Foundations)
第一章 计算中算法的角色(The Role of Algorithms in Computing)
第二章 开始(Getting Started)
第三章 函数的增长率(Growth of Functions)
第四章 递归(Recurrences)
第五章 概率分析与随机化算法(Probabilistic Analysis and Randomized Algorithms)
第二部分(Part II) 排序与顺序统计(Sorting and Order Statistics)
第六章 堆排序(Heapsort)
第七章快速排序(Quicksort)
第八章 线性时间中的排序(Sorting in Linear Time)
第九章 中值与顺序统计(Medians and Order Statistics)
第三部分(Part III) 数据结构(Data Structures)
第十章 基本的数据结构(Elementary Data Structures)
第十一章 散列表(Hash Tables)
第十二章 二叉查找树(Binary Search Trees)
第十三章 红-黑树(Red-Black Trees)
第十四章 扩充的数据结构(Augmenting Data Structures)
第四部分(Part IV) 高级的设计与分析技术(Advanced Design and Analysis Techniques)
第十五章 动态规划(Dynamic Programming)
第十六章 贪婪算法(Greedy Algorithms)
第十七章 分摊分析(Amortized Analysis)
第五部分(Part V) 高级的数据结构(Advanced Data Structures)
第十八章 B-树(B-Trees)
第十九章 二项式堆(Binomial Heaps)
第二十章 斐波纳契堆(Fibonacci Heaps)
第二十一章 不相交集的数据结构(Data Structures for Disjoint Sets)
第六部分(Part VI) 图算法(Graph Algorithms)
第二十二章 基本的图算法(Elementary Graph Algorithms)
第二十三章 最小生成树(Minimum Spanning Trees)
第二十四章单源最短路径(Single-Source Shortest Paths)
第二十五章 全对的最短路径(All-Pairs Shortest Paths)
第二十六章 最大流(Maximum Flow)
第七部分(Part VII) 精选的主题(Selected Topics)
第二十七章 排序网络(Sorting Networks)
第二十八章矩阵运算(Matrix Operations)
第二十九章 线性规划(Linear Programming)
第三十章 多项式与快速傅里叶变换(Polynomials and the FFT)
第三十一章 数论算法(Number-Theoretic Algorithms)
第三十二章 字符串匹配(String Matching)
第三十三章 计算几何学(Computational Geometry)
第三十四章 NP-完备性(NP-Completeness)
第三十五章 近似算法(Approximation Algorithms)
第八部分(Part VIII) 附录:数学背景(Mathematical Background)
附录A 求和(Summations)
附录B 集合,等等。(Sets, Etc.)
附录C 计数与概率(Counting and Probability)
参考文献(Bibliography)
索引(Index)
㈢ 算法技术手册的图书目录
Part 1
1 Algorithms Matter
Understand the Problem
Experiment if Necessary
Algorithms to the Rescue
Side Story
The Moral of the Story
References
2The Mathematics of Algorithms
Size of a Problem Instance
Rate of Growth of Functions
Analysis in the Best, Average, and Worst Cases.
Performance Families
Mix of Operations
Benchmark Operatxons
One Final Point
References
3Patterns and Domains
Patterns: A Communication Language
Algorithm Pattern Format
Pseudocode Pattern Format
Design Format
Empirical Evaluation Format
Domains and Algorithms
Floating-Point Computations
Manual Memory Allocation
Choosing a Programming Language
References
Part 2
4Sorting Algorithms
Overview
Insertion Sort
Median Sort
Quicksort
Selection Sort
Heap Sort
Counting Sort
Bucket Sort
Criteria for Choosing a Sorting Algorithm
References
5Searching
Overview
Sequential Search
Binary Search
Hash-based Search
Binary Tree Search
6 GraphAIgorithms
Overview
Depth-First Search
Breadth-First Search
Single-Source Shortest Path
All Pairs Shortest Path
Minimum Spanning Tree Algorithms
References
7 Path Finding in AI
Overview
Depth-First Search
Breadth-First Search
A'Search
Comparison
Minimax
NegMax
AlphaBeta
References
8Network Flow Algorithms
Overview
Maximum Flow
Bipartite Matching
Reflections on Augmenting Paths
Minimum Cost Flow
Transshipment
Transportation
Assignment
Linear Programming
References
9 Computational Geometry
Overview
Convex Hull Scan
LineSweep
Nearest Neighbor Queries
Range Queries
References
Part 3
10When All Else Fails
Variations on a Theme
Approximation Algorithms
Offline Algorithms
Parallel Algorithms
Randomized Algorithms
Algorithms That Can Be Wrong, but with Diminishing Probability References
11Epilogue
Overview
Principle: Know Your Data
Principle: Decompose the Problem into Smaller Problems
Principle: Choose the Right Data Structure
Principle: Add Storage to Increase Performance
Principle: If No Solution Is Evident, Construct a Search
Principle: If No Solution Is Evident, Rece Your Problem to
Another Problem That Has a Solution
Principle: Writing Algorithms Is Hard——Testing Algorithms Is Harder
Part 4
Appendix: Benchmarking
Index
……
㈣ 算法设计的目录
第1章引言:某些典型的问题
1.1第一个问题:稳定匹配
1.2五个典型问题
带解答的练习
练习
注释和进一步的阅读
第2章算法分析基础
2.1计算可解性
2.2增长的渐近阶
2.3用表和数组实现稳定匹配算法
2.4一般运行时间的概述
2.5更复杂的数据结构:优先队列
带解答的练习
练习
注释和进一步的阅读
第3章图
3.1基本定义与应用
3.2图的连通性与图的遍历
3.3用优先队列与栈实现图的遍历
3.4二分性测试:宽度优先搜索的一个应用
3.5有向图中的连通性
3.6有向无圈图与拓扑排序
带解答的练习
练习
注释和进一步的阅读
第4章贪心算法
4.1区间调度:贪心算法领先
4.2最小延迟调度:一个交换论证
4.3最优高速缓存:一个更复杂的交换论证
4.4一个图的最短路径
4.5最小生成树问题
4.6实现Kruskal算法:Unoin-Find数据结构
4.7聚类
4.8Huffman码与数据压缩
4.9最小费用有向树:一个多阶段贪心
带解答的练习
练习
注释和进一步的阅读
第5章分治策略
5.1第一个递推式:归并排序算法
5.2更多的递推关系
5.3计数逆序
5.4找最接邻近的点对
5.5整数乘法
5.6卷积与快速傅里叶变换
带解答的练习
练习
注释和进一步的阅读
第6章动态规划
6.1带权的区间调度:一个递归过程
6.2动态规划原理:备忘录或者子问题迭代
6.3分段的最小二乘:多重选择
6.4子集和与背包:加一个变量
6.5RNA二级结构:在区间上的动态规划
6.6序列比对
6.7通过分治策略在线性空间的序列比对
6.8图中的最短路径
6.9最短路径和距离向量协议
6.10图中的负圈
带解答的练习
练习
注释和进一步的阅读
第7章网络流
第8章Ng与计算的难解性
第9章一个超出
第10章扩展易解性的界限
第11章近似算法
第12章局部搜索
第13章随机算法
后记:永不停止运行的算法
索引
㈤ 算法竞赛入门经典的图书目录
纯碎介绍语言,几乎不涉及算法,但逐步引入一些工程性的东西,如测试、断言、伪代码和迭代开发等。
第1章 程序设计入门1
1.1 算术表达式
1.2变量及其输入
1.3顺序结构程序设计
1.4分支结构程序设计
1.5 小结与习题
第2章循环结构程序设计16
2.1for循环
2.2循环结构程序设计
2.3文件操作
2.4小结与习题
第3章 数组和字符串33
3.1 数组
3.2 字符数组
3.3 最长回文子串
3.4 小结与习题
第4章 函数和递归51
4.1 数学函数
4.2 地址和指针
4.3 递归
4.4 小结与习题 在介绍算法的同时继续强化语言,补充了第1部分没有涉及的语言特性,如位运算、动态内存管理等,并延续第一部分的风格,在需要时引入更多的思想和技巧。学习完前两部分的读者应当可以完成相当数量的练习题。
第5章 基础题目选解69
5.1字符串
5.2 高精度运算
5.3排序与检索
5.4 数学基础
5.5 训练参考
第6章 数据结构基础89
6.1栈和队列
6.2链表
6.3二叉树
6.4 图
6.5 训练参考
第7章 暴力求解法114
7.1 简单枚举
7.2枚举排列
7.3子集生成
7.4 回溯法
7.5 隐式图搜索
7.6 训练参考
第8章 高效算法设计138
8.1 算法分析初步
8.2 再谈排序与检索
8.3递归与分治
8.4分支
8.5 训练参考 涉及竞赛中常用的其他知识点和技巧。和前两部分相比,第3部分涉及的内容更加广泛,其中还包括一些难以理解的“学术内容”,但其实这些才是算法的精髓。
第9章 动态规划初步158
9.1 数字三角形
9.2DAG上的动态规划
9.3 0-1背包问题
9.4 递归结构中的动态规划
9.5 集合上的动态规划
9.6 训练参考
第10章 数学概念与方法176
10.1数论初步
10.2排列与组合
10.3递推关系
10.4 训练参考
第11章 图论模型与算法196
11.1 再谈树
11.2 最短路问题
11.3网络流初步
11.4 进一步学习的参考
11.5 训练参考 介绍开发环境和开发方法,虽然它们和语言、算法的关系都不大,却往往能极大地影响选手的成绩。
㈥ 算法设计与分析的作品目录
第1章 入门
第2章 渐近符号
第3章 算法分析方法
第4章 递归
第5章 分治算法
第6章 动态规划
第7章 贪心算法
第8章 图算法
第9章 网络流与匹配
第10章 线性规划
第11章 NP完全理论
第12章 回溯
第13章 分支限界
第14章 启发式搜索
第15章 数论
第16章 计算几何
参考文献
㈦ 算法与数据结构的图书目录
第一部分基本概念
第1章数据结构基础
1.1问题求解分析
1.2数据结构
1.3数据结构的分类
1.4数据的四种基本存储方法
1.5数据结构三方面的关系
习题
第2章算法及算法分析基础
2.1算法的基本概念
2.2算法的描述
2.3算法分析方法
2.4程序语言的基本语句与基本结构
2.5数组与结构
2.6抽象数据类型的表示与定义
习题
第二部分简单数据结构
第3章线性表
3.1线性表的定义
3.2线性表的运算
3.3线性表的顺序存储结构及实现
3.3.1 线性表的顺序存储结构
3.3.2顺序表的实现
3.4线性表的链式存储结构及实现
3.4.1单链表
3.4.2循环链袁
3.4.3双向链表
3.4.4静态链表
3.4.5顺序表和链表的比较
3.5线性表的应用
习题
第4章栈和队列
4.1 栈
4.1.1 问题的提出
4.1.2定义及其操作
4.1.3栈的存储结构及实现
4.1.4栈的应用举例:表达式求值
4.2 队列
4.2.1 问题的提出
4.2.2队列的定义及操作
4.2.3队列的存储结构及实现
4.2.4队列的应用举例
习题
第5章矩阵和广义表
5.1矩阵的存储
5.2特殊矩阵
5.3稀疏矩阵
5.4广义表
习题
第三部分复杂数据结构
第6章二叉树和树
6.1 二叉树的定义和性质
6.1.1二叉树的定义及相关术语
6.1.2特殊二叉树
6.1.3二叉树的性质
6.2二叉树的存储结构
6.2.1 二叉树的顺序存储表示
6.2.2二叉树的链式存储表示
6.3二叉树的遍历
6.3.1 问题的提出
6.3.2二叉树的遍历算法
6.3.3二叉树遍历的非递归实现
6.3.4遍历算法的应用
6.4二叉树的线索化
6.4.1 线索二叉树的定义
6.4.2线索二叉树的结构
6.4.3二叉树的线索化算法
6.4.4线索二叉树基本操作的实现
6.5二叉树的应用——哈夫曼树
……
第7章图
第8章散列结构
第9章集合结构
第四部分算法与数据结构应用
㈧ 算法设计技巧与分析的图书目录
第一部分 基本概念和算法导引
第1章 算法分析基本概念
第2章 数学预备知识
第3章 数据结构
第4章 堆和不相交集数据结构
第二部分 基于递归的技术
第5章 归纳法
第6章 分治
第7章 动态规划
第三部分 最先割技术
第8章 贪心算法
第9章 图的遍历
第10章 NP完全问题
第11章 计算复杂性引论
第12章 下界
第13章 回溯法
第14章 随机算法
第15章 近似算法
第16章 网络流
第17章 匹配
第18章 几何扫描
第19章 Voronoi图解