9.1 贪婪算法

算法思想:贪婪算法分阶段的工作。在一个阶段,可以认为是所做的决定中最好好的,而不考虑将来的后果。通常,这意味着选择的是某个局部最优。这种“眼下就能拿到的就拿”的侧脸是这类算法的来源。在算法终止的时候,我们希望局部最优等于全局最优。

9.2 分治算法

分治算法由两部分组成:

  • 分(divide):递归解决较小的问题。
  • 治(conquer):然后从子问题的解构建原问题的解。

传统上至少有两个递归调用的程序叫做分治算法。

9.3 动态规划

任何数学递推公式都可以直接转换成递归算法,但是基本的实现是编译器常常不能正确对待递归算法,结果导致低效的程序。当怀疑很可能是这种情况的时候,我们必须再给编译器提供一些帮组,将递归算法转换成非递归算法。让后者把那些子问题的答案系统地记录在一个表内。利用这种方法的一种技巧叫做动态规划

数据结构和算法解:第九章 算法设计技巧相关推荐

  1. 大话数据结构读书笔记艾提拉总结 查找算法 和排序算法比较好 第1章数据结构绪论 1 第2章算法 17 第3章线性表 41 第4章栈与队列 87 第5章串 123 第6章树 149 第7章图 21

    大话数据结构读书笔记艾提拉总结 查找算法 和排序算法比较好 第1章数据结构绪论 1 第2章算法 17 第3章线性表 41 第4章栈与队列 87 第5章串 123 第6章树 149 第7章图 211 第 ...

  2. 【趣学算法】第二章 算法之美(下)

    14天阅读挑战赛 [趣学算法]第二章 算法之美(下) 1. 一棋盘的麦子 1.1 题目描述 1.2 题目解析 1.3 爆炸增量函数 称上面的函数(1.2中的第一个函数)为爆炸增量函数. 爆炸函数也就是 ...

  3. 【趣学算法】第一章 算法之美(上)

    14天阅读挑战赛 [趣学算法]第一章 算法之美(上) 文章目录 [趣学算法]第一章 算法之美(上) 1.打开算法之门 2.妙不可言---算法复杂性 2.1 算法的引入 [算法的定义] [算法题] [& ...

  4. 【Java数据结构与算法】第九章 顺序查找、二分查找、插值查找和斐波那契查找

    第九章 顺序查找.二分查找.插值查找和斐波那契查找 文章目录 第九章 顺序查找.二分查找.插值查找和斐波那契查找 一.顺序查找 1.基本介绍 2.代码实现 二.二分查找 1.基本介绍 2.代码实现 三 ...

  5. 我眼中的算法导论 | 第一章——算法在计算中的作用、第二章——算法基础

    一个小白的算法学习之路.读<算法导论>第一天.本文仅作为学习的心得记录. 算法(Algorithm) 对于一个程序员来说,无论资历深浅,对算法一词的含义一定会或多或少有自己的体会,在< ...

  6. 算法 【第九章】动态规划问题

    动态规划算法是通过拆分问题,定义问题状态和状态之间的关系,使得问题能够以递推的方式去解决. 动态规划的核心点:定义状态与转移方程(最优子结构) 重新定义问题: 一.最长上升子序列(LIS):给定一个序 ...

  7. 算法图解第九章动态规划读书笔记

    动态规划是一种解决棘手问题的方法,它将问题分成小问题,并先着手解决这些小问题 一.背包问题:一个背包的容量是4磅,吉他容量一磅,价值1500美元,音响容量4磅,价值3000美元,笔记本电脑容量3磅,价 ...

  8. 算法导论第九章习题9.2-3

    使用迭代版本的随机选择函数实现选择第i小元素.原理与9.2例题相同,该代码为9.2例题的迭代版实现.具体代码如下: #include<iostream> using namespace s ...

  9. 算法图解第一章——算法简介

    目录 前言 一.算法简介 1.引言 1.什么是算法 2.需要具备的知识 2.二分查找 1.什么是二分查找 2.举个例子,猜数字 3.对数函数 3.大 O 表示法 1.定义 2.一些常见的大 O 运行时 ...

最新文章

  1. linux c 解析生成json(jansson安装和使用)
  2. python代码案例详解-Python之入门基础字典案例详解,新手必学
  3. 配置IISExpress允许外部访问
  4. matlab2c使用c++实现matlab函数系列教程-polyder函数
  5. date,datetime,timestamp 的区别
  6. 计算机毕业设计(附源码)python兴澜幼儿园管理系统
  7. python模拟别人说话的声音传得最远_谁说话的声音传得最远脑筋急转弯的答案是什么...
  8. 项目建议书模板doc_重要!非洲猪瘟等动物疫病防控相关标准征集啦!征集2019年度动物卫生标准立项项目的通知...
  9. 蓝天模具风扇调速软件_联力UNI FAN SL120风扇体验:模组化拼装的风扇
  10. Photoshop脚本 合并链接图层
  11. es搜索同义词近义词技术方案
  12. sigmoid二分类
  13. HBase Shell 命令
  14. (博客园)Bigcoder利剑无锋 关于typedef的用法总结
  15. leetcode-满足连续子数组加和等于目标值的子数组个数 思路与代码
  16. 操作系统---页式地址重定位
  17. 连接波源、负载的传输线及其功率
  18. [转]Emmet 生成 HTML 的语法
  19. Js中数组遍历的方式
  20. 结合DVWA的反射型XSS浅析

热门文章

  1. POJ-2386-Lake Counting
  2. 应用DIV+CSS编码时容易犯的一些错误
  3. Lintcode 993 解题思路和c++代码
  4. 菜鸟教程:C++ 的关键字(保留字)完整介绍
  5. TensorFlow 完整的TensorFlow入门教程
  6. 关于bhuman文件结构
  7. 主流html5桌面应用开发,主流HTML5开发工具推荐
  8. mysql insert 结果集_SELECT查询结果集INSERT到数据表
  9. linux安装字体后wps无法打开,Ubuntu安装WPS后提示缺失字体怎么办?
  10. 可以看到对方是否打开_打开手机实景地图,连你家门口都可以清晰看到,方便又好用...