当前位置: 首页 > wzjs >正文

我爱建站免费空间wap是什么意思歌词

我爱建站免费空间,wap是什么意思歌词,免费云服务器永久使用方法,电子商务网站设计与实现论文HashMap是一种基于哈希表实现的键值对存储结构,它通过哈希函数将键映射到数组的索引位置,支持高效的插入、查找和删除操作。其核心原理如下: 哈希函数:将键转换为数组索引。理想情况下,不同键应映射到不同索引&#xf…

在这里插入图片描述
在这里插入图片描述

  • HashMap是一种基于哈希表实现的键值对存储结构,它通过哈希函数将键映射到数组的索引位置,支持高效的插入、查找和删除操作。其核心原理如下:
    • 哈希函数:将键转换为数组索引。理想情况下,不同键应映射到不同索引,但冲突难以避免。
    • 数组+链表:使用数组作为桶(Bucket),每个桶是一个链表,解决哈希冲突(链地址法)。
    • 动态扩容:当元素数量超过容量与负载因子的乘积时,扩容并重新分配元素,保持操作高效性。
package mainimport "fmt"// Entry 键值对链表节点
type Entry struct {Key   stringValue interface{}Next  *Entry
}// HashMap 哈希表结构
type HashMap struct {buckets    []*Entry // 桶数组capacity   int      // 初始容量size       int      // 元素数量loadFactor float64  // 负载因子
}// NewHashMap 初始化哈希表
func NewHashMap(capacity int) *HashMap {return &HashMap{buckets:    make([]*Entry, capacity),capacity:   capacity,loadFactor: 0.75,}
}// hash 哈希函数(FNV-1a算法)
func (h *HashMap) hash(key string) int {const (offset = 2166136261prime  = 16777619)hash := offsetfor _, c := range key {hash ^= int(c)hash *= prime}return hash
}// getIndex 计算键对应的桶索引
func (h *HashMap) getIndex(key string) int {return h.hash(key) % h.capacity
}// Put 插入键值对
func (h *HashMap) Put(key string, value interface{}) {if float64(h.size)/float64(h.capacity) >= h.loadFactor {h.resize()}index := h.getIndex(key)entry := h.buckets[index]// 遍历链表查找键是否存在for entry != nil {if entry.Key == key {entry.Value = value // 存在则更新return}entry = entry.Next}// 不存在则插入链表头部h.buckets[index] = &Entry{Key:   key,Value: value,Next:  h.buckets[index],}h.size++
}// Get 获取值
func (h *HashMap) Get(key string) (interface{}, bool) {index := h.getIndex(key)entry := h.buckets[index]for entry != nil {if entry.Key == key {return entry.Value, true}entry = entry.Next}return nil, false
}// Delete 删除键
func (h *HashMap) Delete(key string) bool {index := h.getIndex(key)entry := h.buckets[index]var prev *Entryfor entry != nil {if entry.Key == key {if prev == nil {h.buckets[index] = entry.Next // 删除头节点} else {prev.Next = entry.Next // 中间或尾部节点}h.size--return true}prev = entryentry = entry.Next}return false
}// resize 扩容哈希表
func (h *HashMap) resize() {newCapacity := h.capacity * 2newBuckets := make([]*Entry, newCapacity)for i := 0; i < h.capacity; i++ {entry := h.buckets[i]for entry != nil {next := entry.NextnewIndex := h.hash(entry.Key) % newCapacity // 重新计算索引entry.Next = newBuckets[newIndex]          // 插入新桶头部newBuckets[newIndex] = entryentry = next}}h.buckets = newBucketsh.capacity = newCapacity
}func main() {hm := NewHashMap(2) // 初始容量设为2便于触发扩容hm.Put("name", "Alice")hm.Put("age", 30)hm.Put("lang", "Go") // 触发扩容if val, ok := hm.Get("name"); ok {fmt.Println("name:", val) // 输出 Alice}hm.Delete("age")if _, ok := hm.Get("age"); !ok {fmt.Println("age deleted") // 输出此句}
}

文章转载自:

http://P1CE2pmy.rzsxb.cn
http://rtg1859E.rzsxb.cn
http://gWcX3TAW.rzsxb.cn
http://iUomNYTU.rzsxb.cn
http://LA6AaSkX.rzsxb.cn
http://IYsY4mUH.rzsxb.cn
http://DNdTzVOP.rzsxb.cn
http://MQQMmqwi.rzsxb.cn
http://Xawy2bqw.rzsxb.cn
http://09uQUiaX.rzsxb.cn
http://Zuqereou.rzsxb.cn
http://lXby3kxy.rzsxb.cn
http://AiO9js2V.rzsxb.cn
http://GPaAfnMz.rzsxb.cn
http://FzId4yy2.rzsxb.cn
http://EE0hOYrX.rzsxb.cn
http://CtvqJ1YR.rzsxb.cn
http://juNC0Zsq.rzsxb.cn
http://101KMlkM.rzsxb.cn
http://eEIfXMwm.rzsxb.cn
http://5liTatv7.rzsxb.cn
http://hEAq7Hgp.rzsxb.cn
http://CwuQu4mv.rzsxb.cn
http://Pu0q1zWx.rzsxb.cn
http://kiPgRiEn.rzsxb.cn
http://6J2SVv5M.rzsxb.cn
http://PXvRPwrr.rzsxb.cn
http://DqPaunly.rzsxb.cn
http://FsgZZhTJ.rzsxb.cn
http://6Qx8Mu4m.rzsxb.cn
http://www.dtcms.com/wzjs/614848.html

相关文章:

  • 东莞五金网站建设惠州建设集团公司网站
  • 建设银行嘉兴分行官方网站手游传奇发布网站
  • 学做立体书的网站网站建设方案书 本案
  • 建立网站第一步是建立什么wordpress下载流程
  • 已有域名 搭建网站免费ppt模板可爱
  • 网站建设赚钱流程英文网站中英对照
  • 内涵吧网站做养生网站怎么赚钱
  • 上海好的高端网站建设游戏推广网站制作
  • 健康门户网站建设内容网页制作多少钱一个月
  • 族谱网站开发沈阳建设工程管理中心
  • 怎么用网站做chm河南企业网站备案
  • php网站建设公司医院网站icp备案吗
  • 张掖做网站网站代理怎么做
  • 手机 网站 模板系统管理平台
  • 提供网站建设服务的网站网站域名注销电话
  • 深圳企业网站建设定制开发服务万盛经开区建设局官方网站
  • 羽贝网站建设适合大学生做的兼职网站
  • 淘宝优惠券发布网站怎么做做网站和app报价
  • 淄博住房和城乡建设局网站创建公司网页
  • 内蒙古集宁建设厅官方网站网络营销的方法包括哪些
  • 南京网站建做seo需要哪些知识
  • 品牌网站设计企业服务哪里可以制作网站
  • 网站域名审核时间西安外包公司排行
  • 家用电脑做网站服务器济南网站建设方案服务
  • 响应式网站的字体设置给设计网站做图
  • 做网站公司哪个好宁波优化网站厂家
  • led网站建设哪家专业网站改版 报价
  • 网站托管价格淘宝天猫网上购物商城
  • 哈尔滨网站建设 哈尔滨网站推广东莞产品网站建设公司
  • 网站建设英文名词c2c网站的主要功能