【发布时间】:2014-03-23 21:12:35
【问题描述】:
什么是时间复杂度更快的数据结构?为什么? 我需要制作适用于大量数据的应用程序。 我的应用程序是一个酒店预订,它将列出每个国家/地区的大型酒店列表(约 20000 家)。 那么我应该使用这个列表(排序,搜索,遍历......) 列表项包含酒店名称、星级、排名、最后预订、照片和价格 一些研究表明,哈希表是更快的结构,所有操作(添加、删除和查找)都需要 O(1)。 为什么我找不到有关 JSON 的信息?我可以将 JSON 对象分类为 listArray、hashMap 还是什么? 什么会更快?将我的数据(服务器端)保存在 sql 数据库中? XML ?还是 JSON?
【问题讨论】:
-
我能想到的每一个众所周知的数据结构在某些特定操作上都会胜过许多其他数据结构,使其成为某些应用程序的不错选择。没有silver bullet。您需要具体告诉我们您希望有效支持哪些操作,您的性能要求是什么,并更多地说明您的数据,除了“大量”数据(更具体地告诉我们有多少以及它是什么)看起来像)。
-
我用更多细节编辑了我的问题:)
-
你会插入和删除很多次吗?您将更经常执行的操作是什么?
-
获得酒店列表后,我应该按价格排序然后显示。所以最多的操作就是遍历和排序。
-
要对哪些参数进行排序/搜索?你想按什么顺序遍历?如果它变化很大,答案可能只是“使用数据库”,因为数据结构选项是一组有点复杂的地图,基本上模拟数据库(抽象地,这可能更容易,或者对于所有可能的组合您要查询的字段),这真的不应该这样做,除非它只是为了学习。您能否准确地说出您想要(有效地)支持哪些操作(那里有一个“...”),因为这对于选择结构很重要,以及效率如何。
标签: performance data-structures time-complexity