【问题标题】:What its best link list or BST for my application什么是最好的链表或最适合我的应用程序
【发布时间】:2012-06-26 11:34:32
【问题描述】:

我的任务是开发一个电子电话簿,我必须在其中存储公司员工的姓名和电话号码。您可以使用的数据结构是链表和二叉搜索树 (BST),我必须为我的项目选择最受支持的数据结构。此外,在选择任何数据结构时,还必须考虑插入、删除和搜索操作,因为公司可以雇佣一些新员工,搜索一个员工的电话号码,一些老员工也可以离开这个公司。讨论您认为哪种数据结构更适合上述场景。还请讨论您为什么更喜欢这种数据结构而不是其他的原因?

【问题讨论】:

  • 这看起来很像家庭作业

标签: data-structures tree linked-list binary-search-tree


【解决方案1】:

BST 会更好。 因为……

  1. 在 BST 中搜索电话簿中最常用的功能比在链表中更快。

  2. 平均情况下,插入需要 O(log n) 时间。在链表的情况下,如果要插入一个新节点,找到正确的位置需要 O(n) 时间,这再次比 BST 慢。

  3. 删除:最坏的情况是它需要的时间与树的高度成正比。但是在链表的情况下需要恒定的订购时间。 (这是唯一链表更好的情况。)

因此平均链表更好。

附: : 我假设您想以排序方式存储电话簿。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-25
    • 2012-08-27
    • 2012-04-09
    • 2011-01-27
    • 2012-08-08
    • 2011-01-21
    • 2019-02-09
    • 2010-09-08
    相关资源
    最近更新 更多