urenai 发表于 2024-6-25 14:43:35

uuyyhhjj 发表于 2024-6-25 14:26
无序哈希表 unordered_map
优点,cha询快跟数组基本一样,缺点占用内存大



举例: 键为abcd;十进制 字节:97,98,99,100
以多维数组的方式 取值:

对象 = 值 指针

这个想法强吗?

cloud261 发表于 2024-6-25 17:56:57

为什么需要想好几天? 功能都不一样,没啥好比的
哈希表内部也是数组, 存放的是桶, 桶也是个数组,读取的时候还要先给key算hash值求余数才去读取桶数组, 桶里可能还有多个k-v数组, 还得遍历判断是哪个值

而数组是连续内存,读取就一个指令, 没有额外的计算

uuyyhhjj 发表于 2024-6-25 18:24:44

urenai 发表于 2024-6-25 14:43
举例: 键为abcd;十进制 字节:97,98,99,100
以多维数组的方式 取值:



问题来了,你怎么维护呢,固定算法你这样没问题,但实际上没法用的
就拿BT种子文件的B编码和json类型来说,你试试用结构体把数据装起来,再取出来,试试看吧

weilai 发表于 2024-6-25 22:06:25

数组肯定快,这不用想也是数组快

urenai 发表于 2024-6-26 00:25:02

cloud261 发表于 2024-6-25 17:56
为什么需要想好几天? 功能都不一样,没啥好比的
哈希表内部也是数组, 存放的是桶, 桶也是个数组,读取的时 ...

只能说你真的了解哈希表。
我非常认同你。

我的假想 只是建立在 数组的高速访问。

穗玉天涯 发表于 2024-7-1 23:08:17

看起来哈希表就是数组管理员还是爱思考的熟练工

accet 发表于 2024-7-1 23:51:49

我的C++写的游戏服务端用的就是数组.
即使这个位置没有使用也要弄出来放着.
所以很吃内存...

不过我C#的项目都是用字典.. 方便得多.
页: 1 [2]
查看完整版本: 想了好几天了。我认为数组的访问速度绝对优于哈希表