軟件設(shè)計師案例分析當(dāng)天每日一練試題地址:m.fanshen7777.com/exam/ExamDayAL.aspx?t1=4
往期軟件設(shè)計師每日一練試題匯總:m.fanshen7777.com/class/27/e4_1.html
軟件設(shè)計師案例分析每日一練試題(2026/2/22)在線測試:m.fanshen7777.com/exam/ExamDayAL.aspx?t1=4&day=2026/2/22
點擊查看:更多軟件設(shè)計師習(xí)題與指導(dǎo)
軟件設(shè)計師案例分析每日一練試題內(nèi)容(2026/2/22)
閱讀下列說明和C代碼,回答問題1至問題3,將解答寫答題紙的對應(yīng)欄內(nèi)。
【問題1】 (8分)
根據(jù)說明扣C代碼,填充C代碼中的空(1)~(4)的。
【問題2】 (4分)
根據(jù)說明和C代碼,算法采用了(5)設(shè)計策略,時間復(fù)雜度為(6)(用O符號表示,兩個字符串的長度分別用m和n表示)。
【問題3】 (3分)
已知兩個字符串A="CTGA"和B="ACGCTA",根據(jù)說明和C代碼,可得出這兩個字符串的編輯距離為(7)。
信管網(wǎng)考友試題答案分享:
信管網(wǎng)楓催*:
(1) d[0][j]=j
(2) str1[i-1]==str2[j-1]
(3) str1[i-1]!=str2[j-1]
(4) temp(5) 分治法
(6) o(m+n)/25
信管網(wǎng)1768*******:
// 打印二維數(shù)組 d 的函數(shù)
void print_d(int len1, int len2) {
for (int i = 0; i < len1; i++) {
for (int j = 0; j < len2; j++) {
printf("%d ", d[i][j]);
}
printf("\n");
}
printf("ok \n");
}
int editdistance(char*str1,int len1, char *str2,int len2){
int i, j;
int diff;
int temp;
for(i=0; i<=len1; i++){
d[i][0]=i;
}
//print_d(i,j);
for(j=0; j<= len2; j++){
//(1)
d[0][j]=j;
}
print_d(i,j);
// len1
// 0 1 2 3 4 5 6 len2
// 1 0 0 0 0 0 0
// 2 0 0 0 0 0 0
// 3 0 0 0 0 0 0
// 4 0 0 0 0 0 0
for( i=1;i<=len1;i++){
for(j=1;j<=len2;j++){
//f( (2) )
if( str1[i-1] == str2[j-1] ){
d[i][j] = d[i-1][j-1];
}else{
temp = min( d[i-1][j]+1 , d[i][j-1]+1 );
// min( temp , (3))
d[i][j] = min( temp , d[i-1][j-1]+1 );
}
}
}
print_d(i,j);
// 0 1 2 3 4 5 6
// 1 1 1 2 3 4 5
// 2 2 2 2 3 3 4
// 3 3 3 2 3 4 4
// 4 3 4 3 3 4 4
//拿 a ac acg
// 0 1 2 3
// c 1 1 1 2 來分析:
//將c變成a 需要1次 修改操作 將c變成ac 需要1次 插入操作 將c變成acg 需要2次 插入操作
//return (4)
diff = d[len1][len2];
return diff;
}
int main(){
char a[n]="ctga";
char b[n]="acgcta";
int len1 = strlen(a);
int len2 = strlen(b);
char c[n]="ctgabb";
int len3 = strlen(c);
int m = editdistance(a,len1,b,len2);
printf("ab的編輯距離為 %d ",m);
printf("\n");
int t = editdistance(c,len3,b,len2);
printf("cb編輯距離為 %d ",t);
//5次 ctgabb ——> acgcta 插入a, c相同,刪除t, g相同,修改a為c ,修改b為t, 修改b為a
return 0;
}
信管網(wǎng)cnit**************:
1,d[0][j]=j,str1[i-1] = str2[j-1],d[i-1]d[j-1],d<br>2,分治,o(n2)<br>3,
信管網(wǎng)cnit**************:
<br /><img src="http://pic.cnitpm.com/upload/2023/10/tbimg/10-09/1696839490.jpg" />
信管網(wǎng)cnit**************:
(1)d[0][j]=j、d[i][0]=d[0][j]、d[i-1][j-1]+1、d[i][j]
(2)貪心、o(mn)
(3)4
信管網(wǎng)訂閱號
信管網(wǎng)視頻號
信管網(wǎng)抖音號
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請以權(quán)威部門公布的內(nèi)容為準(zhǔn)!
信管網(wǎng)致力于為廣大信管從業(yè)人員、愛好者、大學(xué)生提供專業(yè)、高質(zhì)量的課程和服務(wù),解決其考試證書、技能提升和就業(yè)的需求。
信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,教材和資料參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識與高頻考點,為學(xué)員考試保駕護航。面授、直播&錄播,多種班型靈活學(xué)習(xí),滿足不同學(xué)員考證需求,降低課程學(xué)習(xí)難度,使學(xué)習(xí)效果事半功倍。
| 發(fā)表評論 查看完整評論 | |