LCS算法和背包算法

1. 问题

描述算法问题,首选形式化方式(数学语言),其次才是非形式化方式(日常语言)]
LCS算法和背包算法,特别要求举例时采用不同于讲义的数据进行推导。
最长公共子序列问题(Longest Common Subsequence,LCS),给定序列 X和Y,求 X 和 Y 的最长公共子序列

背包算法:

2. 解析

X=<A,B,C,D,A>
Y=<B,A,C,B>
m=0-5
n=0-4
(1)i=1
a) j=1 X.A<>Y.B:C[1,1]=max{C[1,0],C[0,1]}=0,删除y
b) j=2 X.A= =Y.A:C[1,2]=C[0,1]+1=1,删除两个
c) j=3 X.A<>Y.C:C[1,3]=max{C[1,2],C[0,3]}=1,删除y
d) j=4 X.A<>Y.B:C[1,4]=max{C[1,3],C[0,4]}=1,删除y
(2)i=2
a) j=1 X.B= =Y.B:C[2,1]=C[1,0]+1=1,删除两个
b) j=2 X.B<>Y.A:C[2,2]=max{C[2,1],C[1,2]}=1,删除y
c) j=3 X.B<>Y.C:C[2,3]=max{C[2,2],C[1,3]}=1,删除y
d) j=4 X.B= =Y.B:C[2,4]=C[1,3]+1=2,删除两个
(3)i=3
a) j=1 X.C<>Y.B:C[3,1]=max{C[3,0],C[2,1]}=1,删除x
b) j=2 X.C<>Y.A:C[3,2]=max{C[3,1],C[2,2]}=1,删除y
c) j=3 X.C= =Y.C:C[3,3]=C[2,2]+1=2,删除两个
d) j=4 X.C<>Y.B:C[3,4]=max{C[3,3],C[2,3]}=2,删除y
(4)i=2
a) j=1 X.D<>Y.B:C[4,1]=max{C[4,0],C[3,1]}=1,删除x
b) j=2 X.D<>Y.A:C[4,2]=max{C[4,1],C[3,2]}=1,删除y
c) j=3 X.D<>Y.C:C[4,3]=max{C[4,2],C[3,3]}=2,删除x
d) j=4 X.D<>Y.B:C[4,4]=max{C[4,3],C[3,4]}=2,删除y
(5)i=2
a) j=1 X.A<>Y.B:C[5,1]=max{C[5,0],C[4,1]}=1,删除x
b) j=2 X.AY.A:C[5,2]=C[4,1]+1=2,删两个
c) j=3 X.A<>Y.C:C[5,3]=max{C[5,2],C[4,3]}=2,删除y
d) j=4 X.A<>Y.B:C[5,4]=max{C[5,3],C[4,4]}=2,删除y0bGVtZWxvbg,size_16,color_FFFFFF,t_70#pic_center)

3. 设计

4. 分析

LCS: O(n * n)
背包O(n * m)

5. 源码

https://github.com/wubbalubbad/suanfa/tree/main

算法作业9 LCS算法和背包算法相关推荐

  1. 九章算法 | Facebook 面试题 : Backpack VI 背包算法

    2017-12-21 题目描述 给一个nums[]数组,如[1, 2, 4] 将这些数组合使得: 这些数的和是给出的一个target,如使这些数的和等于4,求这样的组合有多少个? 样例 样例 [1, ...

  2. 背包算法轻松搞定——01背包算法、部分背包算法

    这篇文章过程讲得很详细,一文搞懂(点击看原文) 不懂之前觉得很难理解,觉得很复杂,其实没有必要.因为只要懂动态规划就可以很轻松搞定0-1背包算法(部分背包算法更简单,排序即可).之前看了很多篇文章都觉 ...

  3. 动态规划之:让你轻松理解背包算法

    动态规划之:背包算法最简单的理解 1.常用的算法设计技术:贪心算法,分治和动态规划. 贪心:寻找局部最优,代替全局最优.比如说不带权的区间调度问题,每次选取最早完成时间的作业.找到贪心的标准是最重要的 ...

  4. 论文作业(2):Lossless Audio Coding 算法比较

    论文作业(2):Lossless Audio Coding 算法比较 转载于:https://www.cnblogs.com/gaozehua/articles/2315259.html

  5. 算法作业 (三)——— 装箱问题

    这周的问题终于有些难度了,终于不是一眼看过去就有能写出大概的题目了,还有就是,我又找不到题目了,所以去网上扒了一下,英语的: Packets Time Limit: 1000MS   Memory L ...

  6. 算法作业2:分而治之 (持续更新)

    算法系列文章 搜索算法:遍历与枚举 分治算法:修身,齐家,编算法! 大数据实验1: Hadoop, Scala, Spark的安装 分治算法笔记 什么是分治?什么时候用分治? 机器学习中的分治 大数据 ...

  7. 算法作业1:遍历与枚举

    本文持续更新 Update date: 2021/10/6 算法系列文章 搜索算法:遍历与枚举 分治算法:修身,齐家,编算法! 笔记目录 什么是枚举? 什么时候用枚举? 机器学习中的枚举 特征选择(f ...

  8. 0-1背包算法python实现

    0-1背包算法python实现 import numpy as np#计算状态数组 def bag(n,value,weight): '''n 背包容量value 价值数组weight 重量数组''' ...

  9. CUMTOJ算法作业二

    CUMTOJ算法作业二 问题 A: 单词排序 题目描述 小红学会了很多英文单词,妈妈为了帮小红加强记忆,拿出纸.笔,把 N 个单词写在纸上的一行里,小红看了几秒钟后,将这张纸扣在桌子上.妈妈问小红:& ...

最新文章

  1. MongoDB空间分配
  2. 如何修改MySQL8.0.5以上版本root密码
  3. LBE平行空间的技术实现
  4. 一文完整MySQL连接查询,笛卡尔乘积,内连接外连接交叉连接
  5. mysql2教程_mySQL 教程 第2章 安装和介绍mySQL
  6. oracle清理告警日志,Oracle 跟踪/告警/监听日志的清理脚本
  7. HDFS客户端的权限错误:Permission denied
  8. 云服务器是什么,有什么用?
  9. 总结JAVA----IO流中的字节流
  10. mac securecrt无法记住密码的解决方法
  11. linux声道切换,linux下怎么把数据分别给左右声道
  12. 55.模拟撕衣服游戏编辑图片
  13. Win10画图实用小功能------反色
  14. 吸烟 打电话 行为 图片 数据集
  15. 人工智能python编程训练营_贪心科技 人工智能 Python 编程特训营 第四个主题项目代码...
  16. 论文学习笔记 PrivateDrop: Practical Privacy-Preserving Authentication for Apple AirDrop
  17. Win10打包tar.gz文件,Win10使用tar命令,Win10使用linux基本命令
  18. Android7.08.0 电池图标分析
  19. 后台SpringBoot + Mybatis开发遇到的一些坑
  20. linux 7.4安装gcc,在 Centos 7.4 上安装Gcc 7.3

热门文章

  1. 迅为4412开发板(全能版)V_4.0 ubuntu 在Android4.4.4的内核下移植wifi
  2. Spring Boot 2 入门笔记(尚硅谷)
  3. 解决win10 的代理 IE可以正常代理,但chrome无法使用
  4. 理论:详解Linus的目录和文件管理
  5. PSPICE-AA灵敏度分析
  6. 赫兹是如何发现电磁波从而证明了麦克斯韦方程的?
  7. 天地有情尽白发,人间无意了沧桑
  8. 快递,菜鸟驿站,直播购物:老年人的电商之墙
  9. Regeorg 从python2改造为python3-从实战中学习socks5协议
  10. 【STM32F4系列】【HAL库】【自制库】ps2手柄模块驱动