雜湊表 雜湊

2021-09-17 23:34:35 字數 1529 閱讀 1524

有乙個公司,當有新的員工報道時,要求該員工的資訊加入(id,性別,年齡,住址),當輸入該員工的id 時,要求查詢該員工資訊,

要求不使用資料庫,盡量節損記憶體,資料越快越好

package main

import (

"fmt"

)type emplink struct

func (this *emplink) findemp(id int)

var temp = this.head

forif temp == nil

temp = temp.next }}

// 插入到鍊錶, id 從小到大

func (this *emplink) insert(emp *emp)

forif cur!=nil && cur.id>=emp.id

pre = cur

cur = cur.next

} pre.next = emp

emp.next = cur

}func (this *emplink) show(id int)

var temp = this.head

forelse }}

// 刪除值

func (this *emplink) deleteemp(id int)

if this.head.id == id

var temp = this.head

var cur *emp= nil

var *** = 1

forif temp!=nil && temp.id == id

cur = temp

temp = temp.next

} if ***==1else

}type emp struct

type hashtable struct

func (this *hashtable) insert(emp *emp)

func (this *hashtable) show()

}// 刪除某乙個值

func (this *hashtable) deleteemp(id int)

//查詢某值

func (this *hashtable) findemp(id int)

// 哪一條鍊錶上

func (this *hashtable) hashfun(id int) int

func main()

var emp = emp

hashtable.insert(&emp)

emp1 := emp

hashtable.insert(&emp1)

emp2 := emp

hashtable.insert(&emp2)

hashtable.show()

hashtable.findemp(14)

fmt.println("--------------")

hashtable.deleteemp(7)

hashtable.show()

}

雜湊表 雜湊表

一 定義 雜湊表 hash table,也叫雜湊表 是根據關鍵碼值 key value 而直接進行訪問的資料結構。也就是說,它通過把關鍵碼值對映到表中乙個位置來訪問記錄,以加快查詢的速度。這個對映函式叫做雜湊函式,存放記錄的陣列叫做雜湊表。雜湊表的做法其實很簡單,就是把key通過乙個固定的演算法函式...

雜湊表(雜湊表)

雜湊表是最基礎的資料結構之一,利用鍵值對儲存並檢索資料的一種非線性結構。在其它各種結構線性表 樹等資料結構中,記錄在結構中的位置是隨機的,和記錄關鍵字之間不存在確定的關係,因此,在結構中查詢記錄時需進行一系列和關鍵字的 比較 的基礎上。在順序查詢時,比較的結果為 與 兩種可能 在折半查詢 二叉排序樹...

雜湊表(雜湊表)

原文 雜湊表是種資料結構,它可以提供快速的插入操作和查詢操作。第一次接觸雜湊表時,它的優點多得讓人難以置信。不論雜湊表中有多少資料,插入和刪除 有時包括側除 只需要接近常量的時間即0 1 的時間級。實際上,這只需要幾條機器指令。對雜湊表的使用者一一人來說,這是一瞬間的事。雜湊表運算得非常快,在電腦程...