freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)正文-展示頁(yè)

2024-11-04 23:05本頁(yè)面
  

【正文】 stems and Software, 2009, 82(4): 590602.[5]李春葆,(第三版).北京:清華大學(xué)出版社,200814附錄:程序源代碼:include include includeusing namespace std。需要多花時(shí)間上機(jī)練習(xí)。這樣做起來(lái)不僅有條理也使問(wèn)題得到了輕松的解決。程序的編寫(xiě)需要有耐心,有些事情看起來(lái)很復(fù)雜,但問(wèn)題需要一點(diǎn)一點(diǎn)去解決,分析問(wèn)題,把問(wèn)題一個(gè)一個(gè)劃分,劃分成小塊以后就逐個(gè)去解決。培養(yǎng)了基本的、良好的程序設(shè)計(jì)技能以及合作能力。一個(gè)人的力量是有限的,要想把課程設(shè)計(jì)做的更好,就要學(xué)會(huì)參考一定的資料,吸取別人的經(jīng)驗(yàn),讓自己和別人的思想有機(jī)的結(jié)合起來(lái),得出屬于你自己的靈感。 心得與體會(huì)這次課程設(shè)計(jì),使我對(duì)《數(shù)據(jù)結(jié)構(gòu)》這門課程有了更深入的了解。而且,寫(xiě)程序是一件十分需要耐心的活,一個(gè)不小心,后果就可能是幾個(gè)小時(shí)的思考和調(diào)試,幸好這次的課題我并不陌生,所以,并沒(méi)有自己想象中的艱難。在這次課程設(shè)計(jì),我感觸最深的當(dāng)屬查閱大量的設(shè)計(jì)資料了,為了讓自己的設(shè)計(jì)更加完善,查閱這方面的設(shè)計(jì)資料是十分必要的,看著那么大疊的書(shū)籍、資料擺在自己的面前,有些時(shí)候還要上網(wǎng)查閱相關(guān)知識(shí)點(diǎn),并且還要整理出有用的知識(shí)點(diǎn),這對(duì)于我來(lái)說(shuō),是在是個(gè)不小的挑戰(zhàn)。這種情況下的結(jié)果如圖42所示:圖42:輸入元素個(gè)數(shù)多時(shí)的運(yùn)行情況11這種情況是指在n個(gè)元素中沒(méi)有與關(guān)鍵字相同的元素存在,所以程序運(yùn)行的結(jié)果是查找失敗。10 測(cè)試分析(1):若輸入的元素個(gè)數(shù)不合理,元素個(gè)數(shù)少于n,這種輸入造成的的結(jié)果是系統(tǒng)一直等待元素的輸入,即得不到結(jié)果。因此,折半查找的高查找效率是以犧牲排序?yàn)榇鷥r(jià)的,它特別適合于一經(jīng)建立就很少移動(dòng)、而又經(jīng)常需要查找的線性表。}//繼續(xù)在后半?yún)^(qū)間進(jìn)行查找}[5](5)折半查找算法性能分析在折半查找的過(guò)程中,每經(jīng)過(guò)一次比較,查找范圍都要縮小一半,所以折半查找的最大查找長(zhǎng)度為MSL=[log2 n]+1 當(dāng)n足夠大時(shí),可近似的表示為log2(n)。}//找到待查元素 else if(keyelem[mid]){ high=mid1。//中間的數(shù)據(jù)元素 if(tableelem[mid]==key){ result=mid。// 找不到時(shí),返回0 while(low 9{} return result。int high=tablelength。(3)查找流程圖流程圖如圖32所示:8圖32:折半查找算法流程圖(4)折半查找算法的代碼int Search_Bin(SSTable *table, ElemType key){/*在有序表ST中折半查找其關(guān)鍵字等于key的數(shù)據(jù)元素。它的缺點(diǎn)是查找效率低,因此,當(dāng)表中元素個(gè)數(shù)比較多時(shí),不宜采用順序查找。//找不到時(shí)返回 } 順序查找算法性能分析對(duì)于順序查找,不論給定值key為何值,查找不成功時(shí)和給定值進(jìn)行比較的關(guān)鍵字個(gè)數(shù)均為n+,對(duì)每個(gè)記錄的查找概率也相等,則Pi=1/(2n),此時(shí)順序查找的平均查找長(zhǎng)度為[3]:ASL= 229。//找到關(guān)鍵字的時(shí)候,該元素的位置 break。i=1。// 找不到時(shí),返回0 int i。*/tableelem[0]=key。(2)順序查找算法流程圖算法流程圖如圖31所示:圖31:順序查找算法流程圖6(3)順序查找算法代碼如下int Search_Seq(SSTable *table, ElemType key){/*在順序表ST中順序查找其關(guān)鍵字等于key的數(shù)據(jù)元素。cii=1n其中,n為元素的個(gè)數(shù); ci是查找第i 個(gè)記錄需進(jìn)行的比較次數(shù);pi是查找第i個(gè)記錄的概率,一般可認(rèn)為查找每個(gè)記錄的概率是相等的,即p1=p2=?=pn=1/n。當(dāng)查找不成功的情況不能忽視時(shí),查找算法的平均長(zhǎng)度應(yīng)該是查找成功時(shí)的平均查找長(zhǎng)度與查找不成功時(shí)的平均查找長(zhǎng)度之和,平均查找長(zhǎng)度為: ASL= 229。//表的長(zhǎng)度} SSTable。 相關(guān)的知識(shí)點(diǎn)(1)C語(yǔ)言表示靜態(tài)查找表的順序存儲(chǔ)結(jié)構(gòu) typedef struct { ElemType *elem。(3)分步調(diào)試子程序和主程序,直到不再出現(xiàn)錯(cuò)誤,然后運(yùn)行程序,檢查是否和 自己當(dāng)初的設(shè)想一樣,一直到結(jié)果能讓自己滿意。我的設(shè)計(jì)思路及步驟如下:(1)熟悉兩種算法的編程思想,畫(huà)出流程圖。3 設(shè)計(jì)概要 問(wèn)題描述對(duì)于不同的查找算法,它們各自的時(shí)間復(fù)雜度和空間復(fù)雜度不同,查找的思想和算法也明顯不同,所以要分析它們的特點(diǎn)和效率,我們要多方面比較:要比較時(shí)間復(fù)雜度,我們可以從它們的查找長(zhǎng)度側(cè)面比較出來(lái);而它們算法的實(shí)現(xiàn)就要熟悉它們的查找思想,熟練應(yīng)用C語(yǔ)言編寫(xiě)合適的程序。2本次課程設(shè)計(jì),我準(zhǔn)備用不同的兩種常見(jiàn)的查找方法:針對(duì)順序查找表中查找方法,如順序查找、折半查找等。所以需要我們了解并掌握數(shù)據(jù)結(jié)構(gòu)與算法的設(shè)計(jì)方法,并且具備初步的獨(dú)立分析和設(shè)計(jì)能力,同時(shí)要掌握軟件開(kāi)發(fā)過(guò)程的問(wèn)題分析、系統(tǒng)設(shè)計(jì)、程序編碼測(cè)試等基本方法和技能,提高綜合運(yùn)用所學(xué)的理論知識(shí)和方法獨(dú)立分析和解決問(wèn)題的能力。所以,這次的課程設(shè)計(jì)就可以從靜態(tài)查找表的幾種典型的算法來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)元素的查找的算法和操作的實(shí)現(xiàn)和比較?!?】在計(jì)算機(jī)中進(jìn)行查找的方法也會(huì)隨數(shù)據(jù)結(jié)構(gòu)不同而不同。而同樣地,在各種系統(tǒng)軟件和應(yīng)用軟件中,也存在“查找”:如編譯程序中符號(hào)表、信息處理表中相關(guān)信息的查找。在日常生活中,人們幾乎每天都要進(jìn)行“查找”工作。而數(shù)據(jù)結(jié)構(gòu)的課程設(shè)計(jì),更要求學(xué)生在數(shù)據(jù)結(jié)構(gòu)的邏輯特性和物理表示、數(shù)據(jù)結(jié)構(gòu)的選擇和應(yīng)用、算法的設(shè)計(jì)及其實(shí)現(xiàn)等方面,加深對(duì)課程基本內(nèi)容的理解。因此,可以認(rèn)為“數(shù)據(jù)結(jié)構(gòu)”是介于數(shù)學(xué)、計(jì)算機(jī)硬件和計(jì)算機(jī)軟件三者之間的一門核心課程。1 引 言“數(shù)據(jù)結(jié)構(gòu)”在計(jì)算機(jī)科學(xué)中是一門綜合性的專業(yè)基礎(chǔ)課,“數(shù)據(jù)結(jié)構(gòu)”的研究不僅涉及到計(jì)算機(jī)硬件的研究范圍,而且和計(jì)算機(jī)軟件的研究有著密切的關(guān)系無(wú)論是編譯程序還是操作系統(tǒng),都涉及到數(shù)據(jù)元素在存儲(chǔ)器中的分配問(wèn)題。關(guān)鍵詞:C語(yǔ)言;順序查找;折半查找。第一篇:數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)正文兩種常用查找算法的比較與實(shí)現(xiàn)摘 要:本次課程設(shè)計(jì)主要研究幾種常用查找算法的比較與實(shí)現(xiàn),查找的算法有很多種:靜態(tài)查找表的順序表、有序表、索引順序表等查找結(jié)構(gòu);動(dòng)態(tài)查找表的二叉排序樹(shù)、哈希查找等查找結(jié)構(gòu)。本次的課程設(shè)計(jì)主要研究?jī)煞N常見(jiàn)的查找算法:順序查找和折半查找,分析比較它們的時(shí)間復(fù)雜度,并且在此基礎(chǔ)上用C語(yǔ)言對(duì)它們進(jìn)行算法編程、調(diào)試和運(yùn)行。時(shí)間復(fù)雜度。在研究信息檢索時(shí)也必須考慮如何組織數(shù)據(jù),一遍查找和存取數(shù)據(jù)元素更為方便。課程設(shè)計(jì)是我們專業(yè)課程知識(shí)綜合應(yīng)用的實(shí)踐訓(xùn)練,是實(shí)踐性教學(xué)的一個(gè)重要環(huán)節(jié)。同時(shí),在程序設(shè)計(jì)方法以及上機(jī)操作等基本技能和科學(xué)作風(fēng)方面受到比較系統(tǒng)和嚴(yán)格的訓(xùn)練。例如,在電話號(hào)碼薄中查閱“某單位”或“某人”的電話號(hào)碼;在字典中查閱“某個(gè)詞”的讀音和含義等等。所以,“查找”就是在一個(gè)含有眾多的數(shù)據(jù)元素(或記錄)的查找表中找出某個(gè)“特定的”數(shù)據(jù)元素(或記錄)。在此,引入“查找表”的概念:同類數(shù)據(jù)元素構(gòu)成的集合?!稊?shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)作為獨(dú)立的教學(xué)環(huán)節(jié),是計(jì)算機(jī)相關(guān)專業(yè)集中實(shí)踐環(huán)節(jié)系列之一,是學(xué)習(xí)完《數(shù)據(jù)結(jié)構(gòu)》課程后進(jìn)行的一次全面的綜合練習(xí)。所以這次課程設(shè)計(jì)的目的在于:加強(qiáng)學(xué)生對(duì)C語(yǔ)言的基本知識(shí)和技能;加深對(duì)數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)理論和基本知識(shí)的理解,提高解決實(shí)際問(wèn)題的實(shí)踐能力;同時(shí)幫助調(diào)動(dòng)學(xué)生的積極性和能動(dòng)性,培養(yǎng)學(xué)生的自學(xué)、動(dòng)手能力。并且通過(guò)用這些算法實(shí)現(xiàn)對(duì)某個(gè)“特定的”數(shù)據(jù)元素(關(guān)鍵字)的查找,分析這些操作的性能:它們各自的時(shí)間復(fù)雜度、空間復(fù)雜度和其它的一些性能,同時(shí)記錄每種查找方法的優(yōu)缺點(diǎn),比較得出它們的查找效率和查找范圍。 設(shè)計(jì)思路靜態(tài)查找表有順序表和鏈?zhǔn)奖韮煞N表示方法,在這次的課程設(shè)計(jì)里,我用順序存儲(chǔ)表來(lái)表示這兩種查找算法的程序。(2)先編寫(xiě)兩種算法的子程序,再遍寫(xiě)主程序調(diào)用它們。(4)比較得出兩種查找算法的優(yōu)缺。//數(shù)據(jù)元素存儲(chǔ)空間基址,建表時(shí)按實(shí)際長(zhǎng)度分配,0號(hào)單元留空int length。4(2)查找算法的衡量指標(biāo)查找可能產(chǎn)生“成功”與“不成功”兩種結(jié)果,但在實(shí)際應(yīng)用的大多數(shù)情況下,查找成功的可能性比不成功的可能性大得多,特別是在記錄數(shù)中n很大時(shí),查找不成功的概率可以忽略不計(jì)。pi180?!?】5 算法分析及程序編寫(xiě)(1)基本思想從查找表的一端開(kāi)始,逐個(gè)將記錄的關(guān)鍵字值和給定值進(jìn)行比較,如果某個(gè)記錄的關(guān)鍵字值和給定值相等,則稱查找成功;否則,說(shuō)明查找表中不存在關(guān)鍵字值為給定值的記錄,則稱查找失敗。若找到,則函數(shù)值為該元素在表中的位置,否則為零。//設(shè)置哨兵 int result=0。for(i=tablelength。i){//從后往前找if(tableelem[i]==key){} result=i。}return result。(ni=1ni+1)+(1/2)(n+1)=(3/4)(n+1)結(jié)論順序查找的優(yōu)點(diǎn)是算法簡(jiǎn)單,且對(duì)表的結(jié)構(gòu)沒(méi)有任何要求。7(1)使用折半查找必須具備兩個(gè)前提條件a:要求查找表中的記錄按關(guān)鍵字有序(假設(shè):從小到大有序)b:只能適用于順序存儲(chǔ)結(jié)構(gòu)(2)基本思想先取查找表的中間位置的關(guān)鍵字值與給定關(guān)鍵字值作比較,若它們的值相等,則查找成功;如果給定值比該記錄的關(guān)鍵字值大,說(shuō)明要查找的記錄一定在查找表的后半部分,則在查找表的后半部分繼續(xù)使用折半查找;若給定值比該記錄的關(guān)鍵字值小,說(shuō)明要查找的記錄一定在查找表的前半部分,則在查找表的前半部分繼續(xù)使用折半查找,直到查找成功,或者查找失敗。若找到,則函數(shù)值為該元素在表中的位置,否則為0.*/int low=1。//置區(qū)間初值int result=0。int mid=(low+high)/2。break。}//繼續(xù)在前半?yún)^(qū)間進(jìn)行查找 else { low=mid+1。(6)結(jié)論折半查找要求查找表按關(guān)鍵字有序,而排序是一種很費(fèi)時(shí)的運(yùn)算;另外,折半查找要求表是順序存儲(chǔ)的,為保持表的有序性,在進(jìn)行插入和刪除操作時(shí),都必須移動(dòng)大量記錄??梢?jiàn)在查找速度上,折半查找比順序查找速度要快的多,這是它的主要優(yōu)點(diǎn)[4]。如圖41所示:圖41:輸入元素個(gè)數(shù)少時(shí)的運(yùn)行情況(2)若輸入元素個(gè)數(shù)大于n時(shí),系統(tǒng)將從第一個(gè)元素起,自動(dòng)選取前n個(gè)元素作為有效元素,進(jìn)行程序的后續(xù)運(yùn)行。運(yùn)行結(jié)果如圖43所示:圖43:查找失敗時(shí)的運(yùn)行情況若查找成功,即元素輸入無(wú)誤,且有關(guān)鍵字存在的情況,這個(gè)時(shí)候的運(yùn)行結(jié)果如圖44所示[5]:圖44:查找成功時(shí)的運(yùn)行情況12 總結(jié)和體會(huì) 課程設(shè)計(jì)總結(jié)“書(shū)到用時(shí)方恨少”。所以,以后一定要多看自己專業(yè)方面的書(shū)籍,增長(zhǎng)自己的知識(shí)。但是,用的時(shí)間和精力卻絕對(duì)也不少?!稊?shù)據(jù)結(jié)構(gòu)》是一門實(shí)踐性較強(qiáng)的課程,為了學(xué)好這門課程,必須在掌握理論知識(shí)的同時(shí),加強(qiáng)上機(jī)實(shí)踐。在本課程設(shè)計(jì)中,我明白了理論與實(shí)際應(yīng)用相結(jié)合的重要性,并提高了自己組織數(shù)據(jù)及編寫(xiě)大型程序的能力。這次課程設(shè)計(jì)同樣提高了我的綜合運(yùn)用所學(xué)知識(shí)的能力。再總體解決大的問(wèn)題。通過(guò)這兩周的課程設(shè)計(jì),我認(rèn)識(shí)到數(shù)據(jù)結(jié)構(gòu)是一門比較難的課程。這次的程序訓(xùn)練培養(yǎng)了我實(shí)際分析問(wèn)題、編程和動(dòng)手能力,使我掌握了程序設(shè)計(jì)的基本技能,提高了我適應(yīng)實(shí)際,實(shí)踐編程的能力。typedef int ElemType。//數(shù)據(jù)元素存儲(chǔ)空間基址,建表時(shí)按實(shí)際長(zhǎng)度分配,0號(hào)單元留空int length。void Create(SSTable *table, int length)。int Search_Seq(SSTable *table, ElemType key)。void Create(SSTable **table, int length){
點(diǎn)擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1