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

正文內(nèi)容

哈希表課程設(shè)計-其他專業(yè)-全文預(yù)覽

2025-02-16 08:18 上一頁面

下一頁面
  

【正文】 { do { d=(d+NameList[i].k%10+1)%M。 //哈希函數(shù) int d=adr。 } for(i=0。 iHASH_LENGTH。r++)/* 哈希地址方法:將字符串的各個字符所對應(yīng)的 ASCII 碼相加,所得的整數(shù)做為哈希表的關(guān)鍵字 */ s0=*(f+r)+s0。 f=NameList[i].name。 NameList[29].name=chenwan。 NameList[25].name=xuhaiyang。 NameList[21].name=wulinfeng。 NameList[17].name=hejie。 NameList[13].name=chengkang。 NameList[9].name=luhaibo。 NameList[5].name=caoyandong。 NameList[1].name=jiangyong。//結(jié)構(gòu)體 HASH,哈希表 HASH HashList[HASH_LENGTH]。 //全局變量 NAME typedef struct //哈希表 { char *name。 哈希表 經(jīng)過分析,最后得到的哈希表如下: 搜索 長度 地址 存儲內(nèi)容 關(guān)鍵字 H(key) 1 0 (null) 0 0 1 1 wangjiaxin 1072 1 1 2 liuzhenhai 1073 2 4 3 (null) 0 0 1 4 chenjunyan 1075 4 1 5 xuhaiyang 974 5 1 6 wangshichuang 1383 6 1 7 hejie 517 7 1 8 guoqihui 875 8 0 9 0 0 1 10 chenang 724 10 1 11 wangxufeng 1082 11 2 12 wulinfeng 975 6 1 13 yangyiming 1084 13 0 14 0 0 0 15 0 0 1 16 chengkang 934 16 0 17 0 0 16 1 18 guyuze 681 18 0 19 0 0 2 20 liushuo 777 12 0 21 0 0 1 22 renchao 736 22 0 23 0 0 4 24 yangwenjuan 1191 18 0 25 0 0 1 26 luhaibo 740 26 2 27 chenwan 740 26 3 28 xiehongwei 1079 8 0 29 0 0 0 30 0 0 1 31 yijiabin 847 31 0 32 0 0 0 33 0 0 1 34 wangyuesong 1207 34 1 35 yangchenchen 1259 35 1 36 fanxu 546 36 1 37 shenjin 751 37 0 38 0 0 1 39 caoyandong 1059 39 0 40 0 0 0 41 0 0 0 42 0 0 0 43 0 0 0 44 0 0 2 45 liangfangping 1365 39 3 46 wushengping 1199 26 1 47 puping 659 47 1 48 jiangyong 966 48 2 49 yangchaoqin 1170 48 源程序 整個程序的源代碼為: include include include define HASH_LENGTH 50 //哈希表的長度 define M 51 //隨機數(shù) define NAME_NO 30 //人名的個數(shù) 17 typedef struct { char *name。 數(shù)據(jù)結(jié)構(gòu)是一門比較難的課程 , 需要花 很多的 時間 去 不斷地 練習(xí)和實踐 。在種種的困難中,我明白了 在 編寫程序時 要有耐心 。 在編程之前,我們應(yīng)反復(fù)研究題目要求,對題目涉及的情況進(jìn)行比較充分的分析,以便編寫出更加符合題意的程序;其次要充分考慮各種臨界情況,對一些錯誤的輸入進(jìn)行處理。 這也是對于以后繼續(xù)研究數(shù)據(jù)結(jié)構(gòu)所必須了解的知識。因此,影響產(chǎn)生沖突多少的因素,也就是影響查找效率的因素。數(shù)據(jù)結(jié)構(gòu)課程設(shè)計不僅可以鍛煉我們獨立思考問題、解決問題的能力,而且可以培養(yǎng)我們的整體性思維的能力;通過課程設(shè)計,使我了解了很多數(shù)據(jù)結(jié)構(gòu)的經(jīng)典問題和經(jīng)典算法,加深 了對數(shù)據(jù)結(jié)構(gòu)的再認(rèn)識,鞏固了數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)性知識,比如:存儲結(jié)構(gòu)、數(shù)據(jù)查找、哈希表的設(shè)計和查找、算法分析 等。求哈希地址時模為 51,哈希表的總長度為 50,而實際名字只有 30 個,因此有 20 個地址空間被空閑著,這浪費了一定的內(nèi)存。||a==39。||a!=39。 改成HashList[d].si=sum+1。n39。 } coute on !(y/n):。break。 case 39。D39。 do { printf(D. 顯示哈希表 \nF. 查找 \nQ. 退出 \n 請選擇: )。 printf(\n 平均查找長度: ASL(%d)=%f \n,NAME_NO,average)。 } for(i=0。 printf(\t\t%d ,HashList[i].si)。 //顯示的格式 for(i=0。 } }while(g==0)。 if(HashList[d].k==0) { printf(無此記錄 ! )。 else if (HashList[adr].k==0) printf(無此記錄 !)。r++) //求 出姓名的拼音所對應(yīng)的整數(shù) (關(guān)鍵字 ) s0+=name[r]。 printf(請輸入姓名的拼音 :)。 HashList[d].si=sum+1。 //偽隨機探測再散列法處理沖突 7 sum=sum+1。 if(HashList[adr].si==0) //如果不沖突 { HashList[adr].k=NameList[i].k。iHASH_LENGTH。i++) { HashList[i].py=。 NameList[i].k=s0。 for(r=0。 for(i=0。 NameList[25].name=xuhaiyang。 NameList[21].name=wulinfeng。 NameList[17].name=hejie。 NameList[13].name=chengkang。 NameList[9].name=luhaibo。 NameList[5].name=caoyandong。 NameList[1].name=jiangyong。 各函數(shù)的實現(xiàn) ( 1) 初始化姓名列表: ? 哈希地址方法:將字符串的各個字符所對應(yīng)的 ASCII 碼相加,所得的整數(shù)做為哈希表的關(guān)鍵字 key。 void FindList() 5 功能:對用戶輸入的姓名進(jìn)行查找;查找結(jié)果分兩種情況:( 1)查找成功,則輸出姓名、關(guān)鍵字和查找長度;( 2)查找失敗,則返回相應(yīng)的失敗信息。 //全局變量 NAME,存儲原始姓名 HASH HashList[HASH_LENGTH]。 //名字的拼音 int k。本次課程設(shè)計用到的存儲結(jié)構(gòu)如下: typedef struct { char *name。字符的取碼方法可直接利用 C 語言中的 toascii 函數(shù),并可對過長人名先進(jìn)行折疊處理。 ( 2) 人名為漢語拼音形式,最長不超過 19 個字符 (如:莊雙雙 zhuangshuangshuang)。待填入哈希表的人 名共有 30 個,取平均查找長度的上限為 2。 時間安排: 第 19周完成。 設(shè)計 存儲結(jié)構(gòu)設(shè)計、主要算法設(shè)計(用類 C 語言或用框圖描述)、測試用例設(shè)計;
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1