欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      《哈希表》項目實驗報告[范文]

      時間:2019-05-12 01:31:35下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《《哈希表》項目實驗報告[范文]》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《《哈希表》項目實驗報告[范文]》。

      第一篇:《哈希表》項目實驗報告[范文]

      《哈希表》項目實驗報告

      1、實驗名稱

      哈希表問題

      2、小組成員

      劉艷寧、鄧芳益;

      3、主要內(nèi)容和步驟:

      (1)分析問題描述,明確問題目標(biāo)

      對于一個哈希表,它是通過哈希算法,然后將數(shù)據(jù)按照哈希算法所得到的哈希地址存入到哈希表中。所以對于一個哈希表,要了解它的存儲方式、哈希表的沖突處理、數(shù)據(jù)的輸入、數(shù)據(jù)的追加、哈希表的判空、哈希表清空、數(shù)據(jù)的查找(2)分析問題數(shù)據(jù)描述

      [數(shù)據(jù)描述]首先分析哈希表的構(gòu)造方法:除留余數(shù)法

      取關(guān)鍵字被某個不大于哈希表表長m的數(shù)p除后所得余數(shù)為哈希地址。H(key)=key MOD p(p<=m);//哈希表的存儲方法

      但是由于java中已經(jīng)嵌入了哈希表,所以直接調(diào)用java中的哈希表: Import java.uilt.HashMap//調(diào)用java中的哈希表函數(shù);

      (3)確定算法思路,準(zhǔn)確描述算法 [算法描述]首先運用java里面的哈希表;

      import java.util.Scanner;//調(diào)用java里面的Scanner供用戶進行數(shù)據(jù)的輸入 import java.util.HashMap;//調(diào)用java哈希表

      根據(jù)公式:H(key)=key MOD p(p<=m)用輸入的關(guān)鍵字來與哈希表的總長度來進行求余運算,然后將求得的余數(shù)存入到哈希表相應(yīng)的位置中

      對于哈希表的查找:

      則根據(jù)哈希表的除留余數(shù)法然后進行數(shù)據(jù)的查找;當(dāng)ASL為1時時最理想的,因為只需要查找一次,如果第一次沒有查找到,則在先前的位置上加一進行查找,直到查找到數(shù)據(jù)為止然后返回。(4)運行數(shù)據(jù)記錄

      輸入:學(xué)號:1000 姓名:張三 輸入:學(xué)號:1001 姓名:李四

      輸出哈希表數(shù)據(jù),然后進行判空,查找等操作(5)實驗效果圖示

      4、實驗總結(jié):(心得體會、處理結(jié)果、存在的問題、建議和意見等)

      心得體會:如果要實現(xiàn)哈希表的各個操作,首先要了解哈希表的存儲方式;其次就是算法的構(gòu)造上面,該程序是直接調(diào)用java中的hashmap,所以在算法上程序構(gòu)造相對的比較簡單。

      存在的問題:不能夠直觀的輸出哈希表的存儲方式。

      第二篇:軟件綜合實習(xí)-哈希表

      哈希表的設(shè)計實驗報告

      1.實驗題目

      針對自己班級體中的“人名”設(shè)計一個哈希表,使得平均查找長度不超過R,完成相應(yīng)的建表和查表程序。

      2.需求分析

      假設(shè)人名為中國姓名的漢語拼音模式。待填入哈希表的人名共有30個,取平均查找長度的上限為2。哈希函數(shù)用除留余數(shù)法構(gòu)造,用鏈表法處理沖突。測試數(shù)據(jù):

      ①輸入的形式和輸入值的范圍:輸入30個人的姓名拼音,即30個字符串。

      ②輸出的形式:將結(jié)果輸出,程序自動計算查找長度的總數(shù)和平均查找長度,然后用戶可以根據(jù)需求進行查找操作。

      ③程序所能達到的功能:在哈希函數(shù)確定的前提下用各種不同處理沖突的方法,考察平均查找長度的變化和造好的哈希表中關(guān)鍵字的聚集性。

      3.概要設(shè)計

      #define HASH_LEN 50 //哈希表的長度 #define M 47 #define NAME_NO 30 //人名的個數(shù) typedef struct NAME {char *py;//名字的拼音 int k;//拼音所對應(yīng)的整數(shù) }NAME;NAME NameList[HASH_LEN];typedef struct hterm //哈希表 {char *py;//名字的拼音 int k;//拼音所對應(yīng)的整數(shù) int si;//查找長度 }HASH;void InitNameList()void FindList()void Display()4.詳細(xì)設(shè)計

      1{for(int i=0;i

      int s0=0;for(int r=0;r<20;r++)//求出姓名的拼音所對應(yīng)的整數(shù)(關(guān)鍵字)s0+=name[r];

      int sum=1;int adr=s0 % M;//使用哈希函數(shù) int d=adr;

      if(HashList[adr].k==s0)//分3種情況進行判斷

      printf(”n姓名:%s 關(guān)鍵字:%d 查找長度為: 1“,HashList[d].py,s0);else if(HashList[adr].k==0)printf(”無該記錄!“);else { int g=0;do { d=(d+s0%10+1)%M;//偽散列 sum=sum+1;if(HashList[d].k==0){ printf(”無記錄!“);g=1;} if(HashList[d].k==s0){ printf(”n姓名:%s 關(guān)鍵字:%d 查找長度為:%d“,HashList[d].py,s0,sum);g=1;} }while(g==0);} void main(){ InitNameList();CreateHashList();while(1){ printf(”nn“);printf(” 1.顯示哈希表n“);printf(” 2.查找n“);printf(” 3.退出n“);err: char ch1;scanf(”%c“,&ch1);if(ch1=='1')Display();else if(ch1=='2')FindList();else if(ch1=='3')return;else { printf(”n請輸入正確的選擇!“);goto err;} } } 5.調(diào)試分析

      測試數(shù)據(jù):隨機輸入的30個人的姓名拼音

      測試過程:輸入30個人的姓名拼音,觀察輸出結(jié)果,并進行查找操作 測試結(jié)果: 6.使用說明

      1)進入界面選擇1顯示哈希表,選擇2為查找,選擇3退出 2)再輸入名字查找,再退出 7.測試結(jié)果

      8.附錄

      #include #include #include //#include #define HASH_LEN 50 //哈希表的長度 #define M 47 #define NAME_NO 30 //人名的個數(shù) typedef struct NAME { char *py;//名字的拼音

      int k;//拼音所對應(yīng)的整數(shù) }NAME;NAME NameList[HASH_LEN];

      typedef struct hterm //哈希表 { char *py;//名字的拼音

      int k;//拼音所對應(yīng)的整數(shù) int si;//查找長度 }HASH;HASH HashList[HASH_LEN];void InitNameList(){ NameList[0].py=”chenghongxiu“;NameList[1].py=”yuanhao“;NameList[2].py=”yangyang“;NameList[3].py=”zhanghen“;NameList[4].py=”chenghongxiu“;NameList[5].py=”xiaokai“;NameList[6].py=”liupeng“;NameList[7].py=”shenyonghai“;NameList[8].py=”chengdaoquan“;NameList[9].py=”ludaoqing“;NameList[10].py=”gongyunxiang“;NameList[11].py=”sunzhenxing“;NameList[12].py=”sunrongfei“;NameList[13].py=”sunminglong“;NameList[14].py=”zhanghao“;NameList[15].py=”tianmiao“;NameList[16].py=”yaojianzhong“;NameList[17].py=”yaojianqing“;NameList[18].py=”yaojianhua“;NameList[19].py=”yaohaifeng“;NameList[20].py=”chengyanhao“;NameList[21].py=”yaoqiufeng“;NameList[22].py=”qianpengcheng“;NameList[23].py=”yaohaifeng“;NameList[24].py=”bianyan“;NameList[25].py=”linglei“;NameList[26].py=”fuzhonghui“;NameList[27].py=”huanhaiyan“;NameList[28].py=”liudianqin“;NameList[29].py=”wangbinnian“;char *f;int r,s0;for(int i=0;i

      for(r=0;*(f+r)!= '