版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
《數(shù)據(jù)構(gòu)造》課程設(shè)計報告書題目:文本文獻單詞檢索與計數(shù)專業(yè):網(wǎng)絡(luò)工程學(xué)號:學(xué)生姓名:張欽昆指引教師:王初陽完畢日期:/6/7目錄TOC\o"1-3"\h\u單詞 個數(shù)\n"); for(i=0;i<sq.length;i++) {x=strlen(et[i].word); for(w=x-1;w>=0;w--) if(et[i].word[w]<65||(et[i].word[w]>90&&et[i].word[w]<97)||et[i].word[w]>122) { et[i].word[w]=''; } for(w=0;w<x;w++) if(et[i].word[w]=='') y++; if(y==x) { et[i].count=0; y=0; } elsey=0; if(et[i].count!=0) printf("%20s%10d\n",et[i].word,et[i].count); elseq++; } j=sqlist_count(&sq,et);printf("\n%s單詞總數(shù)為%d個\n",file_name,j); printf("\n%s非單詞個數(shù)為%d種\n",file_name,q); printf("\n");} intpartposition(strings1,strings2,intk) { inti,j; i=k-1;/*掃描s1下標(biāo),由于c中數(shù)組下標(biāo)是從0開始,串中序號相差1*/ j=0;/*掃描s2開始下標(biāo)*/ while(i<s1.length&&j<s2.length) { if(s1.ch[i]==s2.ch[j]) { i++;j++;/*繼續(xù)使下標(biāo)移向下一種字符位置*/ } else { i=i-j+1;j=0; } } if(j>=s2.length) returni-s2.length;/*表達s1中存在s2,返回其起始位置*/ else return-1;/*表達s1中不存在s2,返回-1*/ }/*函數(shù)結(jié)束*/ voidsubstrcount() { FILE*fp; strings,t;/*定義兩個串變量*/ charfname[10];inti=0,j,k; printf("輸入文本文獻名:"); scanf("%s",fname); fp=fopen(fname,"r"); printf("輸入要記錄計數(shù)單詞:"); scanf("%s",t.ch); t.length=strlen(t.ch); while(!feof(fp)) { memset(s.ch,'\0',110); fgets(s.ch,110,fp); s.length=strlen(s.ch); k=0;/*初始化開始檢索位置*/ while(k<s.length-1)/*檢索整個主串S*/ { j=partposition(s,t,k);/*調(diào)用串匹配函數(shù)*/ if(j<0)break; else { i++;/*單詞計數(shù)器加1*/k=j+t.length;/*繼續(xù)下一字串檢索*/ } } } printf("\n單詞%s在文本文獻%s中共浮現(xiàn)%d次\n",t.ch,fname,i);/*記錄單詞浮現(xiàn)個數(shù)*/ } voidsubstrint() { FILE*fp; strings,t;/*定義兩個串變量*/ charfname[10]; inti,j,k,l,m; intwz[20];/*存儲一行中字串匹配各種位置*/ printf("輸入文本文獻名:"); scanf("%s",fname); fp=fopen(fname,"r"); printf("輸入要檢索單詞:"); scanf("%s",t.ch); t.length=strlen(t.ch); l=0;/*行計數(shù)器置0*/ while(!feof(fp))/*掃描整個文本文獻*/ { memset(s.ch,'\0',110); fgets(s.ch,110,fp); s.length=strlen(s.ch); l++;/*行計數(shù)器自增1*/ k=0;/*初始化開始檢索位置*/ i=0;/*初始化單詞計數(shù)器*/ while(k<s.length-1)/*檢索整個主串S*/ { j=partposition(s,t,k);/*調(diào)用串匹配函數(shù)*/ if(j<0)break; else { i++;/*單詞計數(shù)器加1*/ wz[i]=j;/*記錄匹配單詞位置*/ k=j+t.length;/*繼續(xù)下一字串檢索*/ } } if(i>0) { printf("行號:%d,次數(shù):%d,位置分別為:",l,i); for(m=1;m<=i;m++) printf("第%4d個字符",wz[m]+1); } printf("\n"); } printf("\n本軟件自定義110個字節(jié)為一行\(zhòng)n\n"); }/*檢索單詞出當(dāng)前文本文獻中行號、次數(shù)及其位置*/ voidsubstrio() { voidsubstrcount(),substrint(); chart; while(1) { printf("===============================================\n"); printf("請輸入:"); printf("||文本文獻單詞字串定位記錄及定位||\n"); printf("||===================================||\n"); printf("||a.單詞浮現(xiàn)次數(shù)||\n"); printf("||||\n"); printf("||||\n"); printf("||b.單詞浮現(xiàn)位置||\n"); printf("||||\n"); printf("====================================\n"); scanf("%c",&t); switch(t) { case'a':substrcount(); break; case'b':substrint(); break; default:return; } } } intmain() { voidcreat_text_file(),substrsum(),substrio(); intxz; while(1) { printf("===============================================\n"); printf("||文本文獻檢索、字串記錄及定位||\n"); printf("||===========================================||\n"); printf("||1.建立文本文獻||\n"); printf("||2.單詞字串計數(shù)||\n"); printf("||3.單詞字串定位||\n"); printf("||4.退出整個程序||\n"); printf("===============================================\n"); printf("請選取(1--4)\n"); scanf("%d",&xz); switch(xz) { case1:creat_text_file(); break; case2:substrsum(); break; case3:substrio(); break; case4:return0; default:printf("選取錯誤,重新選\n"); } } return0; }4調(diào)試分析4.1問題分析與回顧問題1:在語句“請輸入一行文本”后邊,只寫一句接受語句,成果運營時,請輸入文本和結(jié)束輸入嗎?演示在一起,并且不能接受文本輸入。解決:和同窗討論后,加入了文本接受語句,成功運營。問題2:當(dāng)要檢索文本時,輸入為空,或輸入非建立文本文獻名,系統(tǒng)不能正常運營。分析:缺少判斷語句。解決:當(dāng)浮現(xiàn)這種狀況時,系統(tǒng)提示輸入錯誤,請重新輸入。4.2算法時空分析擬定給定單詞浮現(xiàn)個數(shù),需要記錄文本文獻中所有單詞,因而時間復(fù)雜度為O(n);擬定給定單詞浮現(xiàn)位置,需要顯示其所在行和列,時間復(fù)雜度為O(i*l);4.3算法改進此算法雖然基本實現(xiàn)了功能,但卻仍存在許多局限性,例如當(dāng)當(dāng)前建立文獻名與之前相似時,沒有錯誤提示,另如在對單詞檢索方面,時間復(fù)雜度及空間復(fù)雜度仍不盡如人意。仍需要改進代碼,達到算法高效性。4.4經(jīng)驗和體會通過本次數(shù)據(jù)構(gòu)造課程設(shè)計,讓我對數(shù)據(jù)構(gòu)造這門課有了更加深刻結(jié)識。數(shù)據(jù)構(gòu)造這門課程理論性只是較強,要學(xué)好這門課程,就必要在掌握好理論知識同步,加強上機操作,遇到問題,解決問題,這樣才會有更大進步。我課程設(shè)計題目是文獻文本檢索與計數(shù),由于這個課題要用到串知識。而我對之前對串定義卻不是很明確,于是我有詳細學(xué)習(xí)了課本上知識并查閱了諸多文獻。在著手作程序過程中,經(jīng)常遇到程序運營不出來,運營達不到效果等問題,特別是接受文本,搜索時如何定位等方面遇到了諸多問題。但我通過請教教師和同窗,查閱文獻,然后基本上解決了這些問題。在這個過程中我學(xué)到了諸多,我結(jié)識到了堅持不懈重要性,在我一遍一遍調(diào)試下,終于成功寫出了程序。在編寫本次程序時,我學(xué)會了先用流程圖對進行算法分析,這樣是自己思路更加清晰,而不是像之前那樣對整個函數(shù)沒有整體認知,而導(dǎo)致經(jīng)常無從下手。之前我對數(shù)據(jù)構(gòu)造各種算法都感到畏懼,感覺很抽象,而這次通過自己幾周努力,在教師和同窗們協(xié)助下,終于完畢了本次課程設(shè)計,這對我來說無疑是極大鼓舞,極大增強了我學(xué)數(shù)據(jù)構(gòu)造自信心。并且我也充分結(jié)識到數(shù)據(jù)構(gòu)造自身就是一門實踐性很強課程,只有加強實踐,才干學(xué)得更好!5測試成果輸入建立文獻名如圖5所示為輸入建立文獻測試圖5輸入建立文獻測試輸入一行文本測試如圖6所示建立一行文本,建立文獻結(jié)束界面。圖6建立文獻結(jié)束測試(3) 單詞字串計數(shù)測試如圖7,單詞字串計數(shù)測試界面。圖7單詞字串計數(shù)測試(4)單詞字串定位測試如圖8和圖9所示。圖8單詞字串定位測試圖9單詞字串定位測試(5)程序結(jié)束退出,如圖10所示圖10程序結(jié)束退出參照文獻[1]嚴蔚敏,吳偉民.?dāng)?shù)據(jù)構(gòu)造(C語言版).北京:清華大學(xué)出版社,.[2]蔣清明,向德生.C語言程序設(shè)計.北京:人民郵電出版社,.[3]尹德淳,龍脈工作室.C函數(shù)速查手冊.北京:人民郵電出版社,.[4]閔敏,朱輝生.《數(shù)據(jù)構(gòu)造》.高等教誨
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 44958-2024化工設(shè)備安全管理規(guī)范
- 2024年度園藝產(chǎn)品包裝與物流服務(wù)合同文本3篇
- 2024年醫(yī)療廢棄物危險品運輸合作協(xié)議3篇
- 2024年度生態(tài)園林栽樹與節(jié)水灌溉承包合同3篇
- 2024年度個人住房貸款委托管理服務(wù)合同3篇
- 2024年度有機肥產(chǎn)品研發(fā)與市場推廣合作協(xié)議6篇
- 2024噴漆設(shè)備升級改造項目房租租賃協(xié)議書3篇
- 2024年度植物新品種知識產(chǎn)權(quán)授權(quán)協(xié)議3篇
- 2024醫(yī)療器械研發(fā)及生產(chǎn)質(zhì)量控制合同樣本3篇
- 2024年度印刷品印刷材料環(huán)保認證采購合同3篇
- 《公路工程集料試驗規(guī)程》JTG-3432-2024考核試題及答案文檔
- 常見的排序算法-冒泡排序 課件 2023-2024學(xué)年浙教版(2019)高中信息技術(shù)選修1
- 中學(xué)教師基本功培訓(xùn)講座
- 糖尿病視網(wǎng)膜病變臨床診療指南(2022)解讀
- IQC來料檢驗單范本
- (正式版)YBT 6171-2024 鋼鐵企業(yè)鏈篦機-回轉(zhuǎn)窯球團工藝煙氣脫硝技術(shù)規(guī)范
- 2021-2022學(xué)年遼寧省大連市沙河口區(qū)中心小學(xué)部編版五年級上冊期末教學(xué)質(zhì)量監(jiān)測語文試卷(原卷版)
- 育兒知識大全課件
- 《大學(xué)生心理健康教育》(第四版)知識點 第一章 心理健康:幸福人生的保障
- (高清版)TDT 1031.6-2011 土地復(fù)墾方案編制規(guī)程 第6部分:建設(shè)項目
- 2024年02月上海滬劇藝術(shù)傳習(xí)所(上海滬劇院)招考聘用筆試近6年高頻考題難、易錯點薈萃答案帶詳解附后
評論
0/150
提交評論