軟件設(shè)計(jì)師案例分析當(dāng)天每日一練試題地址:www.shundajiancai.com/exam/ExamDayAL.aspx?t1=4
往期軟件設(shè)計(jì)師每日一練試題匯總:www.shundajiancai.com/class/27/e4_1.html
軟件設(shè)計(jì)師案例分析每日一練試題(2022/5/24)在線測(cè)試:www.shundajiancai.com/exam/ExamDayAL.aspx?t1=4&day=2022/5/24
點(diǎn)擊查看:更多軟件設(shè)計(jì)師習(xí)題與指導(dǎo)
軟件設(shè)計(jì)師案例分析每日一練試題內(nèi)容(2022/5/24)
	試題四(共15分)
	閱讀下列說明和C代碼,回答問題1至問題3,將解答寫在答題紙的對(duì)應(yīng)欄內(nèi)。
	【說明】
	模式匹配是指給定主串t和子串s,在主串t中尋找子串s的過程,其中s稱為模式。
	如果匹配成功,返回s在t中的位置,否則返回-1。
	KMP算法用next數(shù)組對(duì)匹配過程進(jìn)行了優(yōu)化。KMP算法的偽代碼描述如下:
	1.在串t和串s中,分別設(shè)比較的起始下標(biāo)i=J=O
	2.如果串t和串s都還有字符,則循環(huán)執(zhí)行下列操作:
	(1)如果j=-l或者t[i]-s[j],則將i和j分別加1,繼續(xù)比較t和s的下一個(gè)字符;
	(2)否則,將j向右滑動(dòng)到next[j]的位置,即j=next[J]
	3.如果s中所有字符均已比較完畢,則返回匹配的起始位置(從1開始);否則返回一1.
	其中,next數(shù)組根據(jù)子串s求解。求解next數(shù)組的代碼已由get_next函數(shù)給出。
	【C代碼】
	(1)常量和變量說明
	t,s:長(zhǎng)度為憫鉑Is的字符串
	next:next數(shù)組,長(zhǎng)度為Is
	(2)C程序
	#include<stdio.h>
	#nclude<stdliB.h>
	#include<string.h>
	/*求next[]的值*/
	void get_next(int *next,char *s,int Is){
	int i=0,j=-1;
	next[0]=-1;/*初始化next[0]*/
	while(i<ls){/*還有字符*/
	if(j=-1 || s[i]=s[j]){/*匹配*/
	j++;
	i++;
	if(s[i]一s[jl)
	next[i]-next[j];
	else
	Next[i]=j;
	}
	else
	J=next[j];
	}
	}
	int kmp(int*next,char*t,char*s,int.lt,int Is)
	{
	inti=0,j=0;
	while(i<lt &&(1){
	if(j=-1 II 2_){
	i++;
	j++;
	}else
	(3):
	}
	if(j>=ls)
	Return(4)
	else.
	return -1;
	【問題1】(8分)
	根據(jù)題干說明,填充C代碼中的空(1)~(4).
	【問題2】(2分)
	根據(jù)題干說明和C代碼,分析出kmp算法的時(shí)間復(fù)雜度為(5)(主串和子的長(zhǎng)度分別為It和Is,用O符號(hào)表示)。
	【問題3】(5分)
	根據(jù)C代碼,字符串“BBABBCAC”的next數(shù)組元素值為(6)(直接寫素值,之間用逗號(hào)隔開)。若主串為“AABBCBBABBCACCD”,子串為“BBABBCAC則函數(shù)Kmp的返回值是(7)。
信管網(wǎng)考友試題答案分享:
信管網(wǎng)試題答案與解析:www.shundajiancai.com/st/28666254.html 掃碼關(guān)注公眾號(hào)
掃碼關(guān)注公眾號(hào)
									
								 溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請(qǐng)以權(quán)威部門公布的內(nèi)容為準(zhǔn)!
										溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請(qǐng)以權(quán)威部門公布的內(nèi)容為準(zhǔn)!
信管網(wǎng)致力于為廣大信管從業(yè)人員、愛好者、大學(xué)生提供專業(yè)、高質(zhì)量的課程和服務(wù),解決其考試證書、技能提升和就業(yè)的需求。
信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識(shí)與高頻考點(diǎn),為學(xué)員考試保駕護(hù)航。面授、直播&錄播,多種班型靈活學(xué)習(xí),滿足不同學(xué)員考證需求,降低課程學(xué)習(xí)難度,使學(xué)習(xí)效果事半功倍。
| 發(fā)表評(píng)論 查看完整評(píng)論 | |