• 算法分析与设计(work9)


    LCS示例

    (X=<A,B,C,B,D,A,B>)
    (Y=<B,D,C,A,B,A>)
    (X)(Y)(LCS):

    • (n=0sim 7)
    • (m=0sim 6)
    (Step1)
    • (i=1)
      (1)、)( (j=1) , (X.A eq Y.B) ): (C[1,1]=max(C[0,1],C[1,0])=max(0,0)=0),删除 (Y)
      (2)、)( (j=2) , (X.A eq Y.D) ): (C[1,2]=max(C[0,1],C[1,1])=max(0,0)=0),删除 (Y)
      (3)、)( (j=3) , (X.A eq Y.C) ): (C[1,3]=max(C[0,3],C[1,2])=max(0,0)=0),删除 (Y)
      (4)、)( (j=4) , (X.A=Y.A)): (C[1,4]=C[0,3]+1=1),删除两个。
      (5)、)( (j=5) , (X.A eq Y.B) ): (C[1,5]=max(C[0,4],C[1,4])=max(0,1)=1),删除 (Y)
      (6)、)( (j=6) , (X.A=Y.A) ): (C[1,6]=C[0,5]+1=1),删除两个。

    • (i=2)
      (1)、)( (j=1) , (X.B=Y.B) ): (C[2,1]=C[1,0]+1=1),删除两个。
      (2)、)( (j=2) , (X.B eq Y.D) ): (C[2,2]=max(C[1,2],C[2,1])=max(0,1)=1),删除 (Y)
      (3)、)( (j=3) , (X.B eq Y.C) ): (C[2,3]=max(C[1,3],C[2,2])=max(0,1)=1),删除 (Y)
      (4)、)( (j=4) , (X.B eq Y.A)): (C[2,4]=max(C[1,4],C[2,3]=max(1,1)=1),删除 (Y)
      (5)、)( (j=5) , (X.B=Y.B) ): (C[2,5]=C[1,4]+1=2),删除两个。
      (6)、)( (j=6) , (X.B eq Y.A) ): (C[2,6]=max(C[1,6],C[2,5])=max(1,2)=2),删除 (X)

    • (i=3)
      (1)、)( (j=1) , (X.C eq Y.B) ): (C[3,1]=max(C[2,1],C[3,0])=max(1,0)=1),删除 (X)
      (2)、)( (j=2) , (X.C eq Y.D) ): (C[3,2]=max(C[2,2],C[3,1])=max(1,1)=1),删除 (Y)
      (3)、)( (j=3) , (X.C=Y.C) ): (C[3,3]=C[2,2]+1=2),删除两个。
      (4)、)( (j=4) , (X.C eq Y.A)): (C[3,4]=max(C[2,4],C[3,3])=max(1,2)=2),删除 (Y)
      (5)、)( (j=5) , (X.C eq Y.B) ): (C[3,5]=max(C[2,5],C[3,4])=max(2,2)=2),删除 (Y)
      (6)、)( (j=6) , (X.C eq Y.A) ): (C[3,6]=max(C[2,6],C[3,5])=max(2,2)=2),删除 (Y)

    • (i=4)
      (1)、)( (j=1) , (X.B=Y.B) ): (C[4,1]=C[3,0]+1=1),删除两个。
      (2)、)( (j=2) , (X.B eq Y.D) ): (C[4,2]=max(C[3,2],C[4,1])=max(1,1)=1),删除 (Y)
      (3)、)( (j=3) , (X.B eq Y.C) ): (C[4,3]=max(C[3,3],C[4,2])=max(2,1)=2),删除 (X)
      (4)、)( (j=4) , (X.B eq Y.A)): (C[4,4]=max(C[3,4],C[4,3]=max(2,2)=2),删除 (Y)
      (5)、)( (j=5) , (X.B=Y.B) ): (C[4,5]=C[3,4]+1=3),删除两个。
      (6)、)( (j=6) , (X.B eq Y.A) ): (C[4,6]=max(C[3,6],C[4,5])=max(2,3)=3),删除 (X)

    • (i=5)
      (1)、)( (j=1) , (X.D eq Y.B) ): (C[5,1]=max(C[4,1],C[5,0])=max(1,0)=1),删除 (X)
      (2)、)( (j=2) , (X.D=Y.D) ): (C[5,2]=C[4,1]+1=2),删除两个。
      (3)、)( (j=3) , (X.D eq Y.C) ): (C[5,3]=max(C[4,3],C[5,2])=max(2,2)=2),删除 (Y)
      (4)、)( (j=4) , (X.D eq Y.A)): (C[5,4]=max(C[4,4],C[5,3]=max(2,2)=2),删除 (Y)
      (5)、)( (j=5) , (X.D eq Y.B) ): (C[5,5]=max(C[4,5],C[5,4])=max(3,2)=3),删除 (X)
      (6)、)( (j=6) , (X.D eq Y.A) ): (C[5,6]=max(C[4,6],C[5,5])=max(3,3)=3),删除 (Y)

    • (i=6)
      (1)、)( (j=1) , (X.A eq Y.B) ): (C[6,1]=max(C[5,1],C[6,0])=max(1,0)=0),删除 (X)
      (2)、)( (j=2) , (X.A eq Y.D) ): (C[6,2]=max(C[5,2],C[6,1])=max(2,1)=2),删除 (X)
      (3)、)( (j=3) , (X.A eq Y.C) ): (C[6,3]=max(C[5,3],C[6,2])=max(2,2)=2),删除 (Y)
      (4)、)( (j=4) , (X.A=Y.A)): (C[6,4]=C[5,3]+1=3),删除两个。
      (5)、)( (j=5) , (X.A eq Y.B) ): (C[6,5]=max(C[5,5],C[6,4])=max(3,3)=1),删除 (Y)
      (6)、)( (j=6) , (X.A=Y.A) ): (C[6,6]=C[5,5]+1=4),删除两个。

    • (i=7)
      (1)、)( (j=1) , (X.B=Y.B) ): (C[7,1]=C[6,0]+1=1),删除两个。
      (2)、)( (j=2) , (X.B eq Y.D) ): (C[7,2]=max(C[6,2],C[7,1])=max(2,1)=2),删除 (X)
      (3)、)( (j=3) , (X.B eq Y.C) ): (C[7,3]=max(C[6,3],C[7,2])=max(2,2)=2),删除 (Y)
      (4)、)( (j=4) , (X.B eq Y.A)): (C[7,4]=max(C[6,4],C[7,3]=max(3,2)=3),删除 (X)
      (5)、)( (j=5) , (X.B=Y.B) ): (C[7,5]=C[6,4]+1=4),删除两个。
      (6)、)( (j=6) , (X.B eq Y.A) ): (C[7,6]=max(C[6,6],C[7,5])=max(4,4)=4),删除 (Y)

    (Step2)
    • (X=7,Y=6)
      删除 (Y)(X=<A,B,C,B,D,A,B>)(Y=<B,D,C,A,B>)
    • (X=7,Y=5)
      删除两个,(X=<A,B,C,B,D,A>)(Y=<B,D,C,A>)
      输出(B)
    • (X=6,Y=4)
      删除两个,(X=<A,B,C,B,D>)(Y=<B,D,C>)
      输出(A)
    • (X=5,Y=3)
      删除 (Y)(X=<A,B,C,B,D>)(Y=<B,D>)
    • (X=5,Y=2)
      删除两个,(X=<A,B,C,B>)(Y=<B>)
      输出(D)
    • (X=4,Y=1)
      删除两个,(X=<A,B,C>)(Y=<>)
      输出(B)
    • (X=3,Y=0)
    算法结束,输出(<B,A,D,B>)

    背包问题示例

    价格数组(V={8,10,6,3,7,2})
    重量数组(W={4,6,2,2,5,1})
    设背包容量为(12).
    (dp[i][j])表示装前(i)个物品花费(j)容量可以得到的最大价值。

    (dp)数组为

    越自律,越自由
  • 相关阅读:
    如何让WPF程序用上MVVM模式
    wpf开源界面收集
    WPF界面框架的设计
    WPF数据验证
    WPF实用知识点
    wpf的MVVM框架
    数据库中树形结构的表的设计
    ASP.NET MVC 分部视图
    好用的 Visual Studio插件
    ASP.NET MVC3中Controller与View之间的数据传递总结
  • 原文地址:https://www.cnblogs.com/ha-chuochuo/p/14769101.html
Copyright © 2020-2023  润新知