社区
数据结构与算法
帖子详情
哈希表的添加、删除复杂度是多少?
srxumin
2009-06-18 07:39:14
我在做通讯软件的在线人员列表,随时都有人上、下线,有时又要查找在线人员,所以用了哈希表。查找的速度是非常快的,我就是想知道添加、删除的复杂度
...全文
660
3
打赏
收藏
哈希表的添加、删除复杂度是多少?
我在做通讯软件的在线人员列表,随时都有人上、下线,有时又要查找在线人员,所以用了哈希表。查找的速度是非常快的,我就是想知道添加、删除的复杂度
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
APOLLO_TS
2009-06-19
打赏
举报
回复
看是不是循环存储了!!
幂函数探测。
最坏一般是O(n/2)
H{x}基本是一次就OVER了!
-----------------------
绿色夹克衫
2009-06-18
打赏
举报
回复
O(1),也就是说是个常量。除非待hash的部分太长,不过也有抽取点的办法!
codecola
2009-06-18
打赏
举报
回复
接近常量的时间即0(1)的时间级
Java集合框架Set接口.pdf
Set接口概念 Java集合框架中的Set接口是一种不允许包含重复元素的集合。Set接口继承自Collection接口,因此它具有Collection接口定义的所有方法。同时,Set接口还具有自己的特殊方法,例如:
添加
元素、
删除
元素、判断元素是否存在等。 Set接口的实现类包括HashSet、LinkedHashSet和TreeSet。 HashSet是基于哈
希
表
实现的Set集合,它不保证集合中元素的顺序。由于哈
希
表
的实现机制,HashSet的
添加
、
删除
和查找操作都具有很好的性能,时间
复杂
度为O(1)。 LinkedHashSet是基于链
表
和哈
希
表
实现的Set集合,它保证集合中元素的插入顺序。在插入元素时,它既会将元素插入到链
表
的末尾,又会将元素的哈
希
值和引用存储到哈
希
表
中。因此,LinkedHashSet在性能上稍逊于HashSet,但在维护元素插入顺序方面具有优势。 TreeSet是基于红黑树实现的Set集合,它可以保证集合中元素的有序性。红黑树的实现机制使得TreeSet的插入、
删除
和查找操作的时间
复杂
度为O(logN),因此在处理大量数据时,TreeSet具有更好的性能。 Se
判断链
表
是否为回文链
表
leetcode-data-structures-hash-tables-starter:第7周第4天的项目启动文件
判断链
表
是否为回文链
表
leetcode 哈
希
表
项目 从 . 学习目标 比较和对比数组、链
表
和哈
希
表
的属性和操作 定义哈
希
冲突以及如何处理它们 确定从哈
希
表
中
添加
和
删除
元素的机制和
复杂
性 使用哈
希
表
通过缓存(记忆和制
表
)提高时间
复杂
度 选择适合解决问题的工具的哈
希
表
第 1 部分:实现哈
希
表
回想一下哈
希
表
的主要特征: 获取是O(1) 设置为O(1)
删除
是O(1) 哈
希
表
在时间
复杂
度方面具有非常高效的操作,并且可以在许多情况下用于大大加快解决方案的速度。 您将从头开始实现自己的哈
希
表
。 您可以选择发挥创意,提出自己独特的哈
希
函数,或者从阅读中汲取灵感。 有些方法会为你实现,但它们会有错误。 压扁它们,然后完成其余方法的实现! 您还将编写处理哈
希
冲突和调整存储桶大小的方法。 在hash-table/hash-table.js为您提供了入门代码。 使用npm install安装规范,然后从hash-table目录中键入mocha以运行测试。 提示:注释掉hash-table-spec.js的最后一个测试,直到你确定你的函数是 O(1)。 第 2 部分:练习题 对于这些问题中的每一个,您都
零基础Redis详细案例讲解课程(第1季)---Redis概念、全局命令、字符串类型、哈
希
类型
课程亮点: 课程培训详细的笔记以及实例代码,让学员开始掌握Redis知识点 课程内容: 第1章:Redis概述:Redis简介、Redis版本介绍、Redis安装与启动 第2章:Redis命令:全局Key管理命令、数据类型的内部编码 第3章:字符串类型:字符串各种操作命令、字符串命令时间
复杂
度、字符串应用场景、字符串内部编码 第4章:哈
希
类型:哈
希
各种操作命令、哈
希
命令时间
复杂
度、哈
希
应用场景、哈
希
内部编码 课程特色: 笔记Redis数据库 :用200多条笔记串连所有知识点,让学员从一点一滴积累,学习过程无压力笔记标题采用关键字标识法,帮助学员更加容易记住知识点笔记以超链接形式让知识点关联起来,形式知识体系采用先概念后实例再应用方式,知识点深入浅出提供授课内容笔记作为课后复习以及工作备查工具 部分图
表
(电脑PC端查看):
java集合-HashSet的使用
HashSet 是 Java 中的一个集合类,它实现了 Set 接口并提供了基于哈
希
表
的无序、不重复元素的集合。具体来说,它是通过哈
希
表
(实际上是一个 HashMap 实例)来存储元素的。 以下是 HashSet 的一些主要特点: 无序性:HashSet 中的元素没有特定的顺序,不能按照插入顺序或者元素值的方式进行访问。如果需要按照特定顺序遍历元素,可以考虑使用 LinkedHashSet。 不重复性:HashSet 中的元素必须是唯一的,不允许包含重复元素。
添加
重复元素时,后面的重复元素将被忽略。 允许空值:HashSet 允许插入 null 元素,但只能有一个 null 元素存在。 效率较高:HashSet 的查找、插入和
删除
操作的时间
复杂
度通常是常数时间 O(1),因为它使用了哈
希
表
进行存储和检索。 非线程安全:HashSet 类本身不是线程安全的,在多线程环境下需要进行外部同步操作,或者使用 Collections.synchronizedSet 方法封装成线程安全的集合。
Redis的五大数据类型之集合(Set)的总结
Set简介 Redis的Set是String类型的无序集合,不同于List,Set中的元素不可以重复。Redis 中集合(Set)是通过哈
希
表
(HashTable)实现的,所以
添加
,
删除
,查找的
复杂
度都是 O(1)。 Set的常用操作命令总结 图片来源:https://www.runoob.com/redis/redis-sets.html 部分命令使用实例 1.SADD、SPOP、SMEMBERS SADD key member1 [member2] 向集合key中
添加
一个或多个成员,成员不重复
添加
。如果集合key不存在,则新建集合key,并
添加
member元素到集合key中。返回
添加
成功
数据结构与算法
33,010
社区成员
35,327
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章