week13

作者: 猪蹄炖粥 | 来源:发表于2018-08-20 23:48 被阅读7次

背包问题的理解

背包问题:物品有两个属性:重量和价值,即一个是增益,一个是获取限制,求利益最大化
贪婪算法:
1、优先选择价值高
2、优先选择重量低
3、优先选择 价值/重量

最优解:
盗贼背包问题被称为0/1背包问题
贪婪算法近似解复杂度 O(nlog(n))
暴力最优解复杂度O(n**n)

图最优化问题的理解

图:边连接起来的节点对象的集合
源节点=父节点
目标节点=子节点

欧拉定理:
如果想一次性遍历每座桥且每座桥只走一次,那么必须满足:
行走过程中间的每个节点(也就是行走过程中既走入又走出的岛屿,不包括起点和终点)必须被
偶数条边相连

如何选择图类的数据结构
1、n x n邻接矩阵
2、邻接表

DFS函数实现的算法是递归形式的深度优先搜索算法

动态规划问题的理解

适用于解决具有重复子问题和最优子结构的问题
递归斐波那契效率问题
复杂度O(fib(n))

动态规划问题的核心:保存调用结果,需要的时候查找,成为备忘录法
备忘录法斐波那契数列:

def fastFib(n, memo = {}):
"""假设n是非负整数, memo只进行递归调用 返回第n个斐波那契数"""
if n == 0 or n == 1:
return 1
try:
return memo[n]
except KeyError:
result = fastFib(n-1, memo) + fastFib(n-2, memo)
memo[n] = result
return result

相关文章

  • week13

    背包问题的理解 背包问题:物品有两个属性:重量和价值,即一个是增益,一个是获取限制,求利益最大化贪婪算法:1、优先...

  • week13

    每个周会开一个一小时的电话会议,由领导主持,各地的同事参加,同事们都做不同的项目所以不会讨论很多项目细节,会议的议...

  • week13

    工作:工作进展的不顺利,下属完成的工作不是我想要的,我很苦恼。我有没有把活分给合适的人?我有没有沟通好工作的目标?...

  • 《Android》Lesson23-数据存储sqlite1

    Week13 2016/12/6上午1-4节 一、复习 二、参考教程 SQLite 教程 三、Sqlite的使用 ...

  • 11.周记week14

    CF723 2019-04-01 周#回顾 本周进度 本周Plan(week13 25.18-3.31) 1.回家...

  • 【Tools】 Week13

    (一)学习目标 学习管理Linux/POSIX 系统,即将使用Alpine linuxPOSIX: portabl...

  • 练字 week13

  • 《HTML5实战》Lesson12

    Week13 2016/12/07上午1-4节 一、复习 二、从文件系统中获取文件列表 1、forEach 详解J...

  • 《Android》Lesson24-数据存储sqlite2

    Week13 2016/12/8上午1-4节 一、复习:创建数据库、插入数据、adb使用 二、更新数据 三、删除数...

  • python学习—week14

    week13总结: 这周实在太忙了,基本没有什么进展…… 1.在使用appium的send时候,遇到了无法输入的问...

网友评论

      本文标题:week13

      本文链接:https://www.haomeiwen.com/subject/xfwriftx.html