Performance 更快的时间复杂度数据结构

Performance 更快的时间复杂度数据结构,performance,data-structures,time-complexity,Performance,Data Structures,Time Complexity,在时间复杂度方面,什么是更快的数据结构?为什么? 我需要制作一个能处理大量数据的应用程序。 我的申请是酒店预订,这将使该名单成为每个国家的大酒店名单(约20000家)。 然后我应该使用这个列表(排序、搜索、遍历…) 该列表项包含酒店名称、星级、排名、上次预订、照片和价格 一些研究表明,哈希表是速度更快的结构,所有操作(添加、删除和查找)都需要O(1)。 为什么我找不到关于JSON的信息?我可以将JSON对象分类为listArray、hashMap还是什么?? 什么会更快?是否在sql数据库中保存

在时间复杂度方面,什么是更快的数据结构?为什么? 我需要制作一个能处理大量数据的应用程序。 我的申请是酒店预订,这将使该名单成为每个国家的大酒店名单(约20000家)。 然后我应该使用这个列表(排序、搜索、遍历…) 该列表项包含酒店名称、星级、排名、上次预订、照片和价格 一些研究表明,哈希表是速度更快的结构,所有操作(添加、删除和查找)都需要O(1)。 为什么我找不到关于JSON的信息?我可以将JSON对象分类为listArray、hashMap还是什么?? 什么会更快?是否在sql数据库中保存我的数据(服务器端)?XML?还是JSON?

没有“更快”的数据结构,否则我们都会使用它而忘记其他一切。不同的数据结构用于不同的目的;选择一个通常是考虑最常见的操作。例如,数组适合于随机访问,但如果要在元素之间插入或删除大量数据,则数组可能是一个糟糕的选择。另一方面,列表提供了高效的插入和删除时间,但缺乏高效的随机访问——这一切都是为了权衡

看看你的帖子和你的要求(在阅读了一些评论之后),我最初会尝试使用自平衡的二叉搜索树,比如a或a。这似乎是一个很好的选择,因为您可以轻松地进行顺序遍历,并获得插入、删除和检索时间

另一种选择是将酒店存储在数据库中,这是一种通常用于实现字典的数据结构,并将酒店名称与所需的任何数据相关联


如果您想对数据进行排序,我个人不会使用哈希表。

我能想到的每一个已知的数据结构在某些特定操作上都会优于许多其他结构,这使它成为某些应用程序的一个好选择。没有。您需要具体告诉我们您希望有效支持哪些操作,您的性能要求是什么,并更多地说明您的数据,除此之外,还有“大量”的数据(更具体地告诉我们有多少数据以及数据将是什么样子).我用更多细节编辑了我的问题:)你会多次插入和删除吗?您将更经常执行的操作是什么?在获得酒店列表后,我将按价格排序,然后显示。因此,最重要的操作是遍历和排序。要对哪些参数进行排序/搜索?您希望按哪个顺序遍历?如果它变化很大,答案很可能只是“使用数据库”,因为数据结构选项是一组比较复杂的映射,基本上模拟数据库(抽象地,这可能更容易,或者对于所有可能要查询的字段组合),这真的不应该做,除非只是为了学习。你能准确地说出你想要(有效地)支持哪些操作(你有一个“…”),因为这对选择结构很重要,效率如何。我为什么要使用trie??我的结果没有链接,所以我没有节点,我只有键和值。结果是从XML文件检索的。那么词汇导航呢?@bouraxwebmaster尝试的不是“链接”数据。尝试用于存储密钥并(可能)将它们与某些数据关联。可以将其视为字典实现。你可以把节点想象成酒店名称字母中的跳跃。我以前没有尝试过,但无论如何还是要感谢你的建议。将尝试并检查一些新的内容(至少:)@bouraxwebmaster请继续。维基百科的文章非常完整,我认为这是一个好的开始