日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

lcs算法c语言代码,LCS算法

發布時間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 lcs算法c语言代码,LCS算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

求兩個序列的最長公共子序列

x序列為:zxyxyz

y序列為:xyyzx

(動態規劃--C語言實現)#include?

void?print(int?i,int?j,char?x[],int?a[][6]){

if(i==0||j==0)

return;

if(a[i][j]==1){

print(i-1,j-1,x,a);

printf("%c",x[i]);

}else?if(a[i][j]==2){

print(i,j-1,x,a);

}else{

print(i-1,j,x,a);

}

}

int?main()

{

int?i,j;

char?x[]={'0','z','x','y','x','y','z'};

char?y[]={'0','x','y','y','z','x'};

int?a[7][6]={0};

int?lcs[7][6]={0};

for(i=1;i<=6;i++){

for(j=1;j<=5;j++){

if(x[i]==y[j]){

lcs[i][j]=lcs[i-1][j-1]+1;

a[i][j]=1;

}else

if(lcs[i][j-1]>=lcs[i-1][j]){

lcs[i][j]=lcs[i][j-1];

a[i][j]=2;

}else{

lcs[i][j]=lcs[i-1][j];

a[i][j]=3;

}

}

}

for(i=0;i<=6;i++){

for(j=0;j<=5;j++){

printf("lcs[%d][%d]=%d\t",i,j,lcs[i][j]);

}

printf("\n");

}

printf("最大子序列長度為:%d\n",lcs[6][5]);

printf("最長子序列為:");

print(6,5,x,a);

return?0;

}

總結

以上是生活随笔為你收集整理的lcs算法c语言代码,LCS算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。