第1章 绪论

  1.1 什么是算法

  1.2 算法问题求解基础

    1.2.1 理解问题

    1.2.2 了解计算设备的性能

    1.2.3 在精确解法和近似解法之间做出选择

    1.2.4 算法的设计技术

    1.2.5 确定适当的数据结构

    1.2.6 算法的描述

    1.2.7 算法的正确性证明

    1.2.8 算法的分析

    1.2.9 为算法写代码

  1.3 重要的问题类型

    1.3.1 排序

    1.3.2 查找

    1.3.3 字符串处理

    1.3.4 图问题

    1.3.5 组合问题

    1.3.6 几何问题

    1.3.7 数值问题

  1.4 基本数据结构

    1.4.1 线性数据结构

    1.4.2 图

    1.4.3 树

    1.4.4 集合与字典

第2章 算法效率分析基础

  2.1 分析框架

    2.1.1 输入规模的度量

    2.1.2 运行时间的度量单位

    2.1.3 增长次数

    2.1.4 算法的最优,最差和平均效率

    2.1.5 分析框架概要

  2.2 渐进符号和基本效率类型

    2.2.1 非正式的介绍

    2.2.2 符号O

    2.2.3 符号Ω

    2.2.4 符号Θ

    2.2.5 渐进符号的有用特性

    2.2.6 利用极限比较增长次数

    2.2.7 基本的效率类型

  2.3 非递归算法的数学分析

  2.4 递归算法的数学分析

  2.5 例题:计算第n个斐波那契数

  2.6 算法的经验分析

  2.7 算法可视法

第3章 蛮力法

  3.1 选择排序和冒泡排序

    3.1.1 选择排序

    3.1.2 冒泡排序

  3.2 顺序查找和蛮力字符串匹配

    3.2.1 顺序查找

    3.2.2 蛮力字符串匹配

  3.3 最近对和凸包问题的蛮力算法

    3.3.1 最近对问题

    3.3.2 凸包问题

  3.4 穷举查找

    3.4.1 旅行商问题

    3.4.2 背包问题

    3.4.3 分配问题

  3.5 深度优先查找和广度优先查找

    3.5.1 深度优先查找

    3.5.2 广度优先查找

第4章 减治法

  4.1 插入排序

  4.2 拓扑排序

  4.3 生成组合对象的算法

    4.3.1 生成排列

    4.3.2 生成子集

  4.4 减常因子算法

    4.4.1 折半查找

    4.4.2 假币问题

    4.4.3 俄式乘法

    4.4.4 约瑟夫斯问题

  4.5 减可变规模算法

    4.5.1 计算中值和选择问题

    4.5.2 插值查找

    4.5.3 二叉查找树的查找和插入

    4.5.4 拈游戏

第5章 分治法

  5.1 合并排序

  5.2 快速排序

  5.3 二叉树遍历及相关特性

  5.4 大整数乘法和Strassen矩阵乘法

    5.4.1 大整数乘法

    5.4.2 Strassen矩阵乘法

  5.5 用分治法解最近对问题和凸包问题

    5.5.1 最近对问题

    5.5.2 凸包问题

第6章 变治法

  6.1 预排序

  6.2 高斯消去法

    6.2.1 LU分解

    6.2.2 计算矩阵的逆

    6.2.3 计算矩阵的行列式

  6.3 平衡查找树

    6.3.1 AVL树

    6.3.2 2-3树

  6.4 堆和堆排序

    6.4.1 堆的概念

    6.4.2 堆排序

  6.5 霍纳法则和二进制幂

    6.5.1 霍纳法则

    6.5.2 二进制幂

  6.6 问题化简

    6.6.1 求最小公倍数

    6.6.2 计算图中的路径数量

    6.6.3 优化问题的化简

    6.6.4 线性规划

    6.6.5 简化为图问题

第7章 时空权衡

  7.1 计数排序

  7.2 字符串匹配中的输入增强技术

    7.2.1 Horspool算法

    7.2.2 Boyer-Moore算法

  7.3 散列法

    7.3.1 开散列(分离链)

    7.3.2 闭散列(开式寻址)

  7.4 B树

第8章 动态规划

  8.1 三个基本例子

  8.2 背包问题和记忆功能

    8.2.1 背包问题

    8.2.2 记忆化

  8.3 最优二叉查找树

  8.4 Warshall算法和Floyd算法

    8.4.1 Warshall算法

    8.4.2 计算完全最短路径的Floyd算法

第9章 贪婪技术

  9.1 Prim算法

  9.2 Kruskal算法

  9.3 Dijkstra算法

  9.4 哈夫曼树及编码

第10章 迭代改进

  10.1 单纯形法

    10.1.1 线性规划的几何解释

    10.1.2 单纯形法概述

    10.1.3 单纯刑法其他要点

  10.2 最大流量问题

  10.3 二分图的最大匹配

  10.4 稳定婚姻问题

第11章 算法能力的极限

  11.1 如何求下界

    11.1.1 平凡下界

    11.1.2 信息论下界

    11.1.3 敌手下界

    11.1.4 问题化简

  11.2 决策树

    11.2.1 排序的决策树

    11.2.2 查找有序数组的决策树

  11.3 P,NP和NP完全问题

    11.3.1 P和NP问题

    11.3.2 NP完全问题

  11.4 数值算法的挑战

第12章 超越算法能力的极限

  12.1 回溯法

    12.1.1 n皇后问题

    12.1.2 哈密顿回路问题

    12.1.3 子集和问题

    12.1.4 一般性说明

  12.2 分支界限法

    12.2.1 分配问题

    12.2.2 背包问题

    12.2.3 旅行商问题

  12.3 NP困难问题的近似算法

    12.3.1 旅行商问题的近似算法

    12.3.2 背包问题的近似算法

  12.4 解非线性方程的算法

    12.4.1 平分法

    12.4.2 试位法

    12.4.3 牛顿法

算法设计与分析基础 (Anany Levitin 著)的更多相关文章

  1. 【算法设计与分析基础】25、单起点最短路径的dijkstra算法

    首先看看这换个数据图 邻接矩阵 dijkstra算法的寻找最短路径的核心就是对于这个节点的数据结构的设计 1.节点中保存有已经加入最短路径的集合中到当前节点的最短路径的节点 2.从起点经过或者不经过 ...

  2. 【算法设计与分析基础】24、kruskal算法详解

    首先我们获取这个图 根据这个图我们可以得到对应的二维矩阵图数据 根据kruskal算法的思想,首先提取所有的边,然后把所有的边进行排序 思路就是把这些边按照从小到大的顺序组装,至于如何组装 这里用到并 ...

  3. 【技术文档】《算法设计与分析导论》R.C.T.Lee等·第7章 动态规划

    由于种种原因(看这一章间隔的时间太长,弄不清动态规划.分治.递归是什么关系),导致这章内容看了三遍才基本看懂动态规划是什么.动态规划适合解决可分阶段的组合优化问题,但它又不同于贪心算法,动态规划所解决 ...

  4. 算法设计与分析 - AC 题目 - 第 5 弹(重复第 2 弹)

    PTA-算法设计与分析-AC原题 - 最大子列和问题 (20分) 给定K个整数组成的序列{ N1, N2, ..., NK },“连续子列”被定义为{ Ni, Ni+, ..., Nj },其中 ≤i ...

  5. 算法设计与分析 - AC 题目 - 第 2 弹

    PTA-算法设计与分析-AC原题7-1 最大子列和问题 (20分)给定K个整数组成的序列{ N1, N2, ..., NK },“连续子列”被定义为{ Ni, Ni+1, ..., Nj },其中 1 ...

  6. 算法设计与分析-Week12

    题目描述 You are given coins of different denominations and a total amount of money amount. Write a func ...

  7. 算法设计与分析 - 李春葆 - 第二版 - html v2

    1 .1 第 1 章─概论   1.1.1 练习题   1 . 下列关于算法的说法中正确的有( ).   Ⅰ Ⅱ Ⅲ Ⅳ .求解某一类问题的算法是唯一的   .算法必须在有限步操作之后停止   .算法 ...

  8. 南大算法设计与分析课程复习笔记(1) L1 - Model of computation

    一.计算模型 1.1 定义: 我们在思考和处理算法的时候是机器无关.实现语言无关的.所有的算法运行在一种“抽象的机器”之上,这就是计算模型. 1.2 种类 图灵机是最有名的计算模型,本课使用更简单更合 ...

  9. 算法设计与分析(李春保)练习题答案v1

    1.1第1 章─概论 1.1.1练习题 1.下列关于算法的说法中正确的有(). Ⅰ.求解某一类问题的算法是唯一的 Ⅱ.算法必须在有限步操作之后停止 Ⅲ.算法的每一步操作必须是明确的,不能有歧义或含义模 ...

随机推荐

  1. error MSB8008: 指定的平台工具集(V120)未安装或无效。

    打开项目属性->配置属性->右面,平台工作集,选为v10 如下图

  2. Asp.Net WebApi核心对象解析(一)

    生活需要自己慢慢去体验和思考,对于知识也是如此.匆匆忙忙的生活,让人不知道自己一天到晚都在干些什么,似乎每天都在忙,但又好似不知道自己到底在忙些什么.不过也无所谓,只要我们知道最后想要什么就行.不管怎 ...

  3. 单元测试模拟-moq

    1.moq 支持 net core 2.moq 通过一个接口类型 可以产生一个新的类 3.举例 //define interface to be mocked public interface ITe ...

  4. 数位DP详解

    算法使用范围 在一个区间里面求有多少个满足题目所给的约束条件的数,约束条件必须与数自身的属性有关 下面用kuangbin数位dp的题来介绍 例题  不要62 题意:在一个区间里面求出有多少个不含4和6 ...

  5. PMS5003ST传感器

    5003ST传感器已经收到,准备开始DIY PM2.5检测仪       一款可以同时监测空气中颗粒物浓度.甲醛浓度及温湿度的三 合一传感器.其中颗粒物浓度的监测基于激光散射原理,可连续采集并计算单位 ...

  6. 【转载】Vue项目自动转换 px 为 rem,高保真还原设计图

    前端开发中还原设计图的重要性毋庸置疑,目前来说应用最多的应该也还是使用rem.然而很多人依然还是处于刀耕火种的时代,要么自己去计算rem值,要么依靠编辑器安装插件转换. 而本文的目标就是通过一系列的配 ...

  7. phpcms pc_base::load

    //数据库pc_base::load_model(‘*_model’) 加载数据库模型 (一张表对应一个数据库模型类),即 modle/*_model.class.php每一个数据库模型类都会继承底层 ...

  8. LINUX7安装Oracle11g单实例小结

    LINUX7安装Oracle11g遇到问题如下,记录 添加组: groupadd -g 1000 oinstall #报错:提示组被占用 #useradd: group 'oinstall' does ...

  9. HttpClient官方sample代码的深入分析(连接池)

    前言   之前一直使用apache的httpclient(4.5.x), 进行http的交互处理. 而httpclient实例则使用了http连接池, 而一旦涉及到连接池, 那会不会在使用上有些隐藏很 ...

  10. Python中的分支结构和循环结构

    一.分支结构 语法: if  条件  :     .... else :    .... 例子: num = int(input("输入一个整数:")) if num<=10 ...