資源描述:
《完整版信管實(shí)驗(yàn)報(bào)告(線性表基本操作)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、管理學(xué)院信管專業(yè)12(1)班學(xué)號(hào)3112004734姓名鐘臻華協(xié)作者:無(wú)教師評(píng)定_________________實(shí)驗(yàn)題目線性表的基本操作實(shí)驗(yàn)評(píng)分表指導(dǎo)教師評(píng)分標(biāo)準(zhǔn)序號(hào)評(píng)分項(xiàng)目評(píng)分標(biāo)準(zhǔn)滿分打分1完成度按要求獨(dú)立完成實(shí)驗(yàn)準(zhǔn)備、程序調(diào)試、實(shí)驗(yàn)報(bào)告撰寫(xiě)。202實(shí)驗(yàn)內(nèi)容(1)完成功能需求分析、存儲(chǔ)結(jié)構(gòu)設(shè)計(jì);(2)程序功能完善、可正常運(yùn)行;(3)測(cè)試數(shù)據(jù)正確,分析正確,結(jié)論正確。303實(shí)驗(yàn)報(bào)告內(nèi)容齊全,符合要求,文理通順,排版美觀。404總結(jié)對(duì)實(shí)驗(yàn)過(guò)程遇到的問(wèn)題能初步獨(dú)立分析,解決后能總結(jié)問(wèn)題原因及解決方法,有心得體會(huì)。10實(shí)驗(yàn)報(bào)
2、告一、實(shí)驗(yàn)?zāi)康呐c要求1.本實(shí)驗(yàn)通過(guò)對(duì)線性表各種操作的算法設(shè)計(jì),理解和掌握線性表的概念、存儲(chǔ)結(jié)構(gòu)及操作要求,體會(huì)順序和鏈?zhǔn)絻煞N存儲(chǔ)結(jié)構(gòu)的特點(diǎn);2.根據(jù)操作的不同要求,選擇合適的存儲(chǔ)結(jié)構(gòu),設(shè)計(jì)并實(shí)現(xiàn)算法,對(duì)算法進(jìn)行時(shí)間復(fù)雜度分析,從而達(dá)到掌握數(shù)據(jù)結(jié)構(gòu)的研究方法、算法設(shè)計(jì)和分析方法的目的。二、實(shí)驗(yàn)內(nèi)容1.分別用順序表、單鏈表、單循環(huán)鏈表實(shí)現(xiàn)約瑟夫問(wèn)題的求解,并分析基于不同存儲(chǔ)結(jié)構(gòu)算法的時(shí)間復(fù)雜度。如果采用順序表實(shí)現(xiàn)時(shí),每個(gè)元素出環(huán)并不執(zhí)行刪除操作,而將相應(yīng)位置元素值設(shè)置為空,但計(jì)數(shù)時(shí)必須跳過(guò)值為空的元素,實(shí)現(xiàn)這種算法,并分析執(zhí)
3、行效率。1.順序表的不刪除出環(huán)元素算法實(shí)現(xiàn)publicclassJosephus3{publicJosephus3(intnumber,intstart,intdistance){//創(chuàng)建約瑟夫環(huán)并求解,參數(shù)指定環(huán)長(zhǎng)度,起始位置,計(jì)數(shù)//采用線性順序表存儲(chǔ)約瑟夫環(huán)的元素,元素類型是字符串,構(gòu)造方法參數(shù)指定順序表的容量SeqListlist=newSeqList(number);Stringa=newString("null");for(inti=0;i4、pend((char)('A'+i)+"");System.out.print("約瑟夫環(huán)("+number+","+start+","+distance+"),");System.out.println(list.toString());inti=start+distance-1;for(intj=1;j5、"null")){num--;}System.out.println(list.toString());}if(!list.get(j).equals("null"))System.out.println("被赦免者是"+list.get(j).toString());}}publicstaticvoidmain(String[]args){newJosephus3(5,0,2);}}}運(yùn)行結(jié)果:2.使用單鏈表實(shí)現(xiàn)的算法classJosephus1{publicJosephus1(intnumber,intstart,i
6、ntdistance){//創(chuàng)建約瑟夫環(huán),參數(shù)指定環(huán)長(zhǎng)度,起始位置,計(jì)數(shù)//采用單鏈表存儲(chǔ)約瑟夫環(huán)的元素,元素類型是字符串,構(gòu)造方法參數(shù)指定單鏈表的容量SinglyLinkedListlist=newSinglyLinkedList(number);for(inti=0;i7、,");//輸出約瑟夫環(huán)的環(huán)長(zhǎng)度,起始位置,計(jì)數(shù)System.out.println(list.toString());//輸出單鏈表的描述字符串A,B,C,D,Einti=start;while(list.length()>1){//多于一個(gè)對(duì)象時(shí)的循環(huán)i=(i+distance-1)%list.length();//計(jì)數(shù)按循環(huán)規(guī)律變化,單鏈表可以看作是環(huán)形結(jié)構(gòu)(循環(huán)單鏈表)System.out.print("刪除"+list.remove(i)+",");System.out.println(list.toStrin
8、g());}System.out.println("被赦免者是"+list.get(0).toString());}publicstaticvoidmain(Stringargs[]){newJosephus1(5,1,2);}}3.書(shū)本例題的約瑟夫環(huán)的算法publicclassJosephus{publicJose