在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MASS競猜幸運哈希游戲系統開發中沖突的解決方法

開發丨KFZ433 ? 來源:開發丨KFZ433 ? 作者:開發丨KFZ433 ? 2022-06-29 16:51 ? 次閱讀

3.2 鏈地址法

鏈地址法就是將相應位置上沖突的所有關鍵詞存儲在同一個單鏈表中。

設關鍵字序列為 47 , 7 , 29 , 11 , 16 , 92 , 22 , 8 , 3 , 50 , 37 , 89 , 94 , 21 47, 7, 29, 11, 16, 92, 22, 8, 3, 50, 37, 89, 94, 2147,7,29,11,16,92,22,8,3,50,37,89,94,21,散列函數取為h ( k e y ) = k e y m o d ?? 11 h(key) = key \mod 11h(key)=keymod11,用分離鏈接法處理沖突。

pYYBAGK8EYuAM8EkAAO9Y8tZolU243.png

表中有9個結點只需1次查找,5個結點需要2次查找,所以查找成功的平均查找次數為:

A S L s = ( 9 + 5 ? 2 ) / 14 ≈ 1.36

參考代碼:

#include

#include

#include

#include

#include

using namespace std;

#define MAXTABLESIZE 10000 //允許開辟的最大散列表長度

#define KEYLENGTH 100 //關鍵字的最大長度

typedef int ElementType;

struct LNode

{

ElementType data;
LNode *next;

};

typedef LNode *PtrToNode;

typedef PtrToNode LinkList;

struct TblNode

{

int tablesize;  //表的最大長度
LinkList heads; //存放散列單元數據的數組

};

typedef struct TblNode *HashTable;

/返回大于n且不超過MAXTABLESIZE的最小素數/

int NextPrime(int n)

{

int p = (n % 2) ? n + 2 : n + 1; //從大于n的下一個奇數開始
int i;
while (p <= MAXTABLESIZE)
{
    for (i = (int)sqrt(p); i > 2; i--)
    {
        if ((p % i) == 0)
            break;
    }
    if (i == 2)
        break; //說明是素數,結束
    else
        p += 2;
}
return p;

}

/創建新的哈希表/

HashTable CreateTable(int table_size)

{

HashTable h = (HashTable)malloc(sizeof(TblNode));
h->tablesize = NextPrime(table_size);
h->heads = (LinkList)malloc(h->tablesize * sizeof(LNode));
//初始化表頭結點
for (int i = 0; i < h->tablesize; i++)
{
    h->heads[i].next = NULL;
}
return h;

}

/查找數據的初始位置/

int Hash(ElementType key, int n)

{

//這里只針對大小寫
return key % 11;

}

/查找元素位置/

LinkList Find(HashTable h, ElementType key)

{

int pos;
pos = Hash(key, h->tablesize); //初始散列位置
LinkList p = h->heads[pos].next; //從鏈表的第一個節點開始
while (p && key != p->data)
{
    p = p->next;
}
return p;

}

/插入新的元素/

bool Insert(HashTable h, ElementType key)

{

LinkList p = Find(h, key); //先查找key是否存在
if (!p)
{
    //關鍵詞未找到,可以插入
    LinkList new_cell = (LinkList)malloc(sizeof(LNode));
    new_cell->data = key;
    int pos = Hash(key, h->tablesize);
    new_cell->next = h->heads[pos].next;
    h->heads[pos].next = new_cell;
    return true;
}
else
{
    cout << "鍵值已存在!" << endl;
    return false;
}

}

/銷毀鏈表/

void DestroyTable(HashTable h)

{

int i;
LinkList p, tmp;
//釋放每個節點
for (i = 0; i < h->tablesize; i++)
{
    p = h->heads[i].next;
    while (p)
    {
        tmp = p->next;
        free(p);
        p = tmp;
    }
}
free(h->heads);
free(h);

}

int main(int argc, char const *argv[])

{

int a[] = {47, 7, 29,29, 11, 16, 92, 22, 8, 3, 50, 37, 89, 94, 21};
int n = 15;
HashTable h = CreateTable(n);
for (int i = 0; i < n; i++)
{
    Insert(h, a[i]); //插入元素
}
for (int i = 0; i < h->tablesize; i++)
{
    LinkList p = h->heads[i].next;
    while (p)
    {
        cout << p->data << " "; //打印哈希表元素
        p = p->next;
    }
    cout << endl;
}
return 0;

}

審核編輯:符乾江

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 代碼
    +關注

    關注

    30

    文章

    4883

    瀏覽量

    70095
  • 哈希函數
    +關注

    關注

    0

    文章

    43

    瀏覽量

    9559
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Dali通信系統常見故障及解決方法

    ,導致控制信號丟失。 1.2 故障原因 物理連接問題,如斷線、接觸不良。 通信線路受到電磁干擾。 設備地址沖突。 1.3 解決方法 檢查所有連接,確保線路完整且接觸良好。 使用屏蔽電纜,并確保電纜遠離強電磁場。 檢查設備地址設置,確保沒有重復。 2. 設備
    的頭像 發表于 01-10 10:38 ?712次閱讀

    mac的常見問題解決方法

    Mac常見問題解決方法 1. 系統啟動緩慢 問題描述: 啟動Mac時,系統啟動緩慢,甚至出現卡頓現象。 解決方法: 檢查啟動項目: 打開系統
    的頭像 發表于 12-19 15:02 ?816次閱讀

    診斷系統開發咨詢服務

    隨著汽車電控系統復雜度及消費者對于汽車售后服務水平要求的提升,診斷系統開發在整車開發的重要度日益突出。經過多年的實踐,經緯恒潤積累了豐富的經驗,業務涵蓋診斷協議及功能定義、診斷測試、
    的頭像 發表于 12-18 16:30 ?650次閱讀
    診斷<b class='flag-5'>系統開發</b>咨詢服務

    Ubuntu系統常見問題及解決方法

    Ubuntu是一個基于Linux的開源操作系統,以其穩定性和易用性而受到許多用戶的喜愛。然而,在使用過程,用戶可能會遇到各種問題。以下是一些Ubuntu系統中常見的問題及其解決方法。
    的頭像 發表于 12-12 14:32 ?1308次閱讀

    常見伺服系統故障及解決方法

    伺服系統在自動化領域中扮演著重要角色,但其運行過程可能會遇到各種故障。以下是一些常見的伺服系統故障及其解決方法: 一、電機無法啟動 故障現象 :電機無法啟動,無法響應控制命令。 可能
    的頭像 發表于 12-10 10:21 ?1672次閱讀

    嵌入式系統開發的測試方法 嵌入式系統開發與AI結合應用

    嵌入式系統開發的測試方法 嵌入式系統開發是一個復雜的過程,涉及到硬件和軟件的緊密結合。測試是確保系統可靠性和性能的關鍵步驟。以下是一些常用
    的頭像 發表于 12-09 10:22 ?1060次閱讀

    嵌入式系統開發與硬件的關系 嵌入式系統開發常見問題解決

    嵌入式系統開發與硬件的關系 嵌入式系統是專為特定應用設計的計算機系統,它們通常嵌入在所控制的設備。這些系統的關鍵特點是它們與硬件的緊密集成
    的頭像 發表于 12-09 09:38 ?763次閱讀

    常見晶振故障及解決方法 晶振在物聯網的應用

    常見晶振故障及解決方法 晶振(Crystal Oscillator)是一種利用石英晶體的壓電效應來產生穩定振蕩頻率的電子元件,廣泛應用于各種電子設備,包括物聯網(IoT)設備。晶振的穩定性和準確性
    的頭像 發表于 12-09 09:34 ?1540次閱讀

    以太網組網常見故障及解決方法

    相互通信。 解決方法: 檢查網線是否損壞,使用網線測試儀進行測試。 確保網線插頭(RJ45)插入到位,沒有松動。 更換網線或接口,排除物理損壞的可能性。 檢查交換機和路由器的端口狀態,確保它們正常工作。 2. IP地址沖突 故障現象: 網絡
    的頭像 發表于 11-08 09:13 ?2648次閱讀

    常見GPU問題及解決方法

    各種問題。以下是一些常見的GPU問題及其解決方法: GPU驅動程序過時或不兼容 問題描述:GPU驅動程序是GPU與操作系統之間的橋梁,負責將操作系統的指令轉換為GPU可以理解的指令。如果驅動程序過時或不兼容,可能會導致GPU性能
    的頭像 發表于 10-27 14:12 ?3094次閱讀

    ChatGPT 在游戲開發的創新應用

    游戲開發領域,人工智能技術的應用正變得越來越廣泛。ChatGPT,作為一種先進的自然語言處理(NLP)模型,為游戲開發帶來了許多創新的應用。 1. 動態對話
    的頭像 發表于 10-25 18:05 ?945次閱讀

    IP地址沖突解決方法圖示

    ! 那么,什么是 IP 地址沖突呢?其實很簡單,就是在同一個網絡,有兩個或多個設備被分配了相同的 IP 地址,那么在來兩方同時使用的時候,就像真假獼猴一樣,必然是要打架的。 那如果遇到 IP 地址沖突,我們該如何做呢?其實也很
    的頭像 發表于 07-26 11:51 ?796次閱讀

    CMM三坐標測量機MASS多測頭系統

    在精密測量領域,技術的每一次革新都代表著對更高精度、更廣應用領域的追求。蔡司代理三本精密儀器小編介紹蔡司三坐標測量儀MASS多測頭系統,無疑是這一追求下的杰出代表。該系統憑借其獨特的設計理念和先進
    的頭像 發表于 07-08 17:16 ?713次閱讀
    CMM三坐標測量機<b class='flag-5'>MASS</b>多測頭<b class='flag-5'>系統</b>

    接地網阻值偏大的原因及解決方法

     地網接地電阻測試儀是保障電氣設備安全運行的重要組成部分,但在實際使用,我們可能會遇到接地網阻值偏大的情況。接下來,鴻蒙小小編介紹造成這種情況的原因,并提供一些解決方法。   1、接地體積不足
    發表于 06-17 09:19

    鴻蒙OpenHarmony:【常見編譯問題和解決方法

    常見編譯問題和解決方法
    的頭像 發表于 05-11 16:09 ?3245次閱讀
    主站蜘蛛池模板: 港台无码 | 老司机午夜永久在线观看 | 午夜网站视频 | 久草成人在线视频 | 免费看欧美理论片在线 | 国产精品伦子一区二区三区 | 久久99热久久精品23 | 在线观看黄网 | 久久天天躁狠狠躁夜夜躁综合 | 国产激情视频一区二区三区 | 久久人人做人人玩人精品 | 天天在线天天看成人免费视频 | 亚洲伊人久久大香线蕉结合 | 国产不卡毛片 | 日本xxxxbbbb | 国产精品理论片在线观看 | 欧美色图亚洲激情 | 三级在线观看国产 | 超黄视频在线观看 | 成人羞羞视频国产 | 亚洲人成网站在线观看妞妞网 | 日韩一级在线播放免费观看 | 天天做天天做天天综合网 | 又粗又大又爽又色又过瘾视频 | 人人澡人人搞 | 狠狠五月深爱婷婷网 | www.xxx国产| 日本不卡毛片一二三四 | 成色网 | 国产福利小视频在线观看 | 免费网站黄 | 哺乳期xxxx视频 | 成人午夜啪啪免费网站 | 免费毛片网站在线观看 | 亚洲ay| 午夜操操 | 午夜资源网 | 毛片观看网址 | a欧美视频 | 国产免费人成在线视频视频 | 国产叼嘿视频免费网站 |