热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

循环遍历ArrayList并将值放入HashMap与仅搜索ArrayList的时间复杂度

如何解决《循环遍历ArrayList并将值放入HashMap与仅搜索ArrayList的时间复杂度》经验,为你挑选了1个好方法。

如果你从ArrayLista 开始,是否有时间好处来循环ArrayList并将值放入HashMap一个有用的搜索键中?或者,ArrayList通过将它放入其中而几乎否定了你将获得的任何好处HashMap

我假设如果你要对新的搜索执行许多搜索,你仍然可以获得一个好处HashMap,但是只有一次搜索呢?



1> Eran..:

对于一次搜索,创建一个没有意义HashMap,因为构建它所需的时间HashMap将是linear(O(n)),这与直接搜索它所需的时间相同ArrayList.

由于创建HashMap具有一些开销超越时间,将采取迭代ArrayList,通过在直接迭代一个单一的搜索ArrayList应该比建设速度HashMap,然后寻找一些主要的(尽管渐进两种操作应采取相同的时间).

HashMap,如果你要多次使用它是有道理的.例如,如果您对大小进行n搜索,则需要一些时间(因为每次搜索都需要时间).ArrayListnO(n^2)O(n)

另一方面,如果你将a的元素ArrayList放在a上Map并对其执行n搜索Map,则运行时间将是O(n)(因为每次搜索都需要预期的恒定时间).


推荐阅读
author-avatar
无心少年丶的诱惑
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有