递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
12
返回列表 发新帖
楼主: urenai
打印 上一主题 下一主题

[其它] 想了好几天了。我认为数组的访问速度绝对优于哈希表

[复制链接]

346

主题

1599

帖子

6531

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6531
QQ
11#
 楼主| 发表于 2024-6-25 14:43:35 | 只看该作者
uuyyhhjj 发表于 2024-6-25 14:26
无序哈希表 unordered_map
优点,cha询快跟数组基本一样,缺点占用内存大

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

对象[97][98][99][100] = 值 指针

这个想法强吗?
专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

2

主题

37

帖子

216

积分

中级会员

Rank: 3Rank: 3

积分
216
12#
发表于 2024-6-25 17:56:57 | 只看该作者
为什么需要想好几天? 功能都不一样,没啥好比的
哈希表内部也是数组, 存放的是桶, 桶也是个数组,  读取的时候还要先给key算hash值求余数才去读取桶数组, 桶里可能还有多个k-v数组, 还得遍历判断是哪个值

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

使用道具 举报

6

主题

152

帖子

1472

积分

金牌会员

Rank: 6Rank: 6

积分
1472
13#
发表于 2024-6-25 18:24:44 | 只看该作者
urenai 发表于 2024-6-25 14:43
举例: 键为  abcd;十进制 字节:97,98,99,100
以多维数组的方式 取值:

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

使用道具 举报

18

主题

337

帖子

2919

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2919
14#
发表于 2024-6-25 22:06:25 来自手机 | 只看该作者
数组肯定快,这不用想也是数组快
回复

使用道具 举报

346

主题

1599

帖子

6531

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6531
QQ
15#
 楼主| 发表于 2024-6-26 00:25:02 | 只看该作者
cloud261 发表于 2024-6-25 17:56
为什么需要想好几天? 功能都不一样,没啥好比的
哈希表内部也是数组, 存放的是桶, 桶也是个数组,  读取的时 ...

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

我的假想 只是建立在 数组的高速访问。
专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

42

主题

368

帖子

2209

积分

金牌会员

Rank: 6Rank: 6

积分
2209
16#
发表于 2024-7-1 23:08:17 | 只看该作者
看起来哈希表就是数组管理员还是爱思考的熟练工
回复

使用道具 举报

7

主题

54

帖子

350

积分

中级会员

Rank: 3Rank: 3

积分
350
17#
发表于 2024-7-1 23:51:49 | 只看该作者
我的C++写的游戏服务端用的就是数组.
即使这个位置没有使用也要弄出来放着.
所以很吃内存...

不过我C#的项目都是用字典.. 方便得多.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-23 11:04 , Processed in 0.085907 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表