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

正文內(nèi)容

哈希表的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文-在線瀏覽

2024-07-28 21:52本頁(yè)面
  

【正文】 截圖 ........................................................ 11 問(wèn)題分析: ...................................................... 13 課程設(shè)計(jì)體會(huì)及問(wèn)題分析 .................................................. 13 參考文獻(xiàn) ................................................................ 14 源程序清單 .............................................................. 14 哈希表的設(shè)計(jì)與實(shí)現(xiàn) 3 題目分析 在 21世紀(jì)信息時(shí) 代里,各個(gè)機(jī)構(gòu)企業(yè)都需要處理一些龐大的重要的數(shù)據(jù),而這些數(shù)據(jù)既需要隨時(shí)查找還需要隨時(shí)紀(jì)錄新的數(shù)據(jù)。 關(guān)鍵字: 哈希表 。易于管理員進(jìn)行管理。哈希表的設(shè)計(jì)與實(shí)現(xiàn) I 哈希表的設(shè)計(jì)與實(shí)現(xiàn) 摘 要 哈希表的設(shè)計(jì)與實(shí)現(xiàn)是用 Visual C++ ,更新與查找的程序。它可以方便的進(jìn)行基本數(shù)據(jù)信息的輸入(如 :姓名、電話、地址等),查詢(按姓名查詢 .按電話號(hào)查詢),刪除(運(yùn)用姓名刪除),添加新的數(shù)據(jù)等。本設(shè)計(jì)使用 Visual C++ 的開(kāi)發(fā)工具將數(shù)據(jù)信息定義在結(jié)構(gòu)體中,運(yùn)用類實(shí)現(xiàn)了對(duì)數(shù)據(jù)不同信息的操作功能。 Visual C++ 。這工作量無(wú)疑是巨大,如果用人力去完成,不僅效率底 `,易出錯(cuò),而且其他各個(gè)方面都受到一定的限制,如時(shí)間資源等。它不但能有效的準(zhǔn)確的存儲(chǔ)大量數(shù)據(jù),還可以根據(jù)需要不斷的更新與插入新的數(shù)據(jù)。 ( 2) 如何分別以電話號(hào)碼和用戶名為 關(guān)鍵字建立哈希表。 ( 4) 如何實(shí)現(xiàn)用哈希法查找并顯示給定電話號(hào)碼的記錄。 基本要求 (哈希表的設(shè)計(jì)與實(shí)現(xiàn)的問(wèn)題)設(shè)計(jì)哈希表實(shí)現(xiàn)電話號(hào)碼查詢系統(tǒng)。 要完成以上要求,設(shè)計(jì)哈希表實(shí)現(xiàn)電話號(hào)碼查詢系統(tǒng)。要求輸入電話號(hào)碼、用戶名、地址三個(gè)信息,并要求分別以電話號(hào)碼和用戶名為關(guān)鍵字進(jìn)行查找,所以本問(wèn)題要用到兩個(gè)哈希函數(shù),進(jìn)行哈希查找。//名字 char num[20]。//地址 }Record。//輔助數(shù)組 Record H[M]。 結(jié)束 開(kāi)始 調(diào)用 Hash_name while(strcmp(H[key].name,name)!=0) key++ if(strcmp(H[key].name,NULLKEY)==0) 查找號(hào)碼不存在 return(key)。 屏幕截圖 主界面如圖 圖 1 給出一組測(cè)試數(shù)據(jù)及運(yùn)行結(jié)果如下: 輸入數(shù)據(jù)后按姓名散列結(jié)果如下: 哈希表的設(shè)計(jì)與實(shí)現(xiàn) 12 圖 2 每個(gè)元素的哈希地址正是用名字中每個(gè)字母的 ASCII 碼值相加再對(duì)小于哈希表長(zhǎng)的最大素?cái)?shù)求余得到的,根據(jù)輸入數(shù)據(jù)計(jì)算和書(shū)上 ASCII 值計(jì)算出結(jié)果相比對(duì),數(shù)據(jù)正確,剛開(kāi)始老師檢查時(shí),覺(jué)得我的程序缺少輸出哈希地址的步驟,回來(lái)后我又加以改進(jìn),把哈希地址正常輸出。 問(wèn)題分析: 剛開(kāi)始調(diào)試時(shí)運(yùn)行刪除功能時(shí),發(fā)現(xiàn)刪除元素后,哈希地址也在該位置而卻往后移動(dòng)的元素不能回到該位置,然后我又分析算法,進(jìn)行改進(jìn),現(xiàn)在算法可以在刪除元素后將哈希地址在該位置的而又移到后面的元素依次向前移動(dòng)。 首先 ,綜合課程設(shè)計(jì)讓我把以前學(xué)習(xí)的知識(shí)得到了加深與鞏固 ,對(duì)自己學(xué)習(xí)的知識(shí)有了一次全面的認(rèn)識(shí) ,也給自己指明了以后復(fù)習(xí)的重點(diǎn)與方向 ,再次 ,在程序 設(shè)計(jì)中遇到的一些問(wèn)題 ,我通過(guò)查閱資料 ,請(qǐng)教老師與同學(xué) ,提高了自己解決問(wèn)題的能力。 隨著社會(huì)的不斷發(fā)展 ,計(jì)算機(jī)在各領(lǐng)域也得到廣泛的應(yīng)用,同時(shí)對(duì)軟件的要求也越來(lái)越高,只有不斷的利用新的知識(shí)來(lái)更新程序,才能滿足社會(huì)的需求。本程序就有許多的不足,以及編譯時(shí)出現(xiàn)的困難。因?yàn)樵谠O(shè)計(jì)哈希函數(shù)時(shí),要做 到最大的減少?zèng)_突,確定在記錄的儲(chǔ)存位置和他個(gè)關(guān)鍵字之間建立一個(gè)取得對(duì)應(yīng)關(guān)系,使沒(méi)關(guān)鍵字和結(jié)構(gòu)中的一個(gè)惟一的儲(chǔ)存位置相對(duì)應(yīng),這是以個(gè)比較復(fù)雜的過(guò)程。對(duì)不同的關(guān)鍵字卻可能得到同一哈希地址,并且在一般情況下,沖突只能盡可能避免而不能完全避免。在泵系統(tǒng)的開(kāi)發(fā)過(guò)程中,主要采用了開(kāi)放地址法中的二次探測(cè)法。 char num[20]。 }Record。//定義輔助數(shù)組為全局變量 Record H[M]。 do{ system(cls)。 printf( ***** 哈希表 *****\n)。 printf( * 2. 按姓名散列 *\n)。 printf( * 0. 結(jié)束程序 *\n)。 printf(請(qǐng)選擇您要運(yùn)行的選項(xiàng)按 (03):)。c)。 }while(c0||c3)。 /*返回選擇 */ } int Create(Record H[M])//創(chuàng)建輔助數(shù)組 { int i。i30。 strcpy( H[i].num,\0)。 } i=0。 while(sign!=39。amp。sign!=39。) { printf(請(qǐng)輸入名字 \n)。 printf(請(qǐng)輸入號(hào)碼 \n)。 printf(請(qǐng)輸入地址 \n)。 printf(\t\t\t還需要繼續(xù)輸入嗎 ?(Y/N))。sign)。 } return i。 int a=0。\039。 i++。//對(duì)小于哈希表的最大素?cái)?shù)求余,此處哈希表長(zhǎng)為 30,對(duì) 29 求余 return(a)。 for(j=0。j++) { key=Hash_name(Inf[j].name)。 strcpy(H[key].num,Inf[j].num)。 break。//如果為空,采用線性探測(cè)法,將元素后移 } } } int Hash_num(char num[20])//以姓名為關(guān)鍵字的哈希函數(shù) { int i=0。 while(num[i]!=39。)//計(jì)算電話號(hào)碼中每個(gè)字符的 ASCII 碼值相加 { b=b+num[i]。 } b=b%29。 哈希表的設(shè)計(jì)與實(shí)現(xiàn) 17 } void input_num(Record Inf[M],int m,Record H[M])//以電話號(hào)碼為關(guān)鍵字創(chuàng)建哈希表 { int j,key=0。jm。//計(jì)算哈希 地址 while(1) { if(strcmp(H[key].num,NULLKEY)==0)//判斷該位置是否為空,不為空就把輔助數(shù)組中的元素存到該位置 { strcpy(H[key].name,Inf[j].name)。 strcpy(H[key].add,Inf[j].add)。 } else key++。 key=Hash_name(name)。 if(strcmp(H[key].name,NULLKEY)==0)//遇到 空格表示該元素不存在 { printf(查找名字不存在 !\n)。 break。//返回查找到的哈希地址 } int Search_num(R
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1