java算法中的理论问题

时间:2016-11-03 13:49:49

标签: java

请查看我的回答是否正确:

  

1假设您需要维护一组数据   内容是固定的 - 即,您需要搜索和检索   现有项目,但永远不需要添加或删除项目。虽然   数据集合可能非常大,您可以认为它可以适合   在电脑的记忆中。以下哪种数据结构   最有效的一项用于此任务?

     

一个。排序数组

     

B中。链表

     

℃。二叉搜索树

     

d。队列

     

电子。以上所有内容在这种情况下执行相同的

我的回答是:二进制搜索树,因为它的访问权限(get)     搜索时间复杂度为O(log n)

  

2以下哪种数据结构最适合   您需要有效管理(键,值)对的情况   那些存储在磁盘上?

     

一个。数组

     

B中。链表

     

℃。二叉搜索树

     

d。地图

     

电子。哈希表

我的答案是:哈希表,因为它的访问权限(get)是O(n / 2)     搜索时间复杂度为O(1)

  

3警察局希望维护一个最多1800的数据库   接收频繁门票的人的车牌号码   无论是否给定车牌,都可以很快确定   在数据库中。反应速度非常重要;有效使用   记忆也很重要,但不如速度快   响应。以下哪种数据结构最多   适合这项任务?

     

一个。已排序的链表

     

B中。一个包含1800个条目的排序数组

     

℃。使用带有1800个条目的开放式寻址的哈希表

     

d。使用带有3600个条目的开放式寻址的哈希表

     

电子。使用带有10000个条目的开放寻址的哈希表

我的回答是:我认为哈希表但我不知道条目的含义

  

4如果选择不当的哈希函数,则可能有一个   N个项目的哈希表中的搜索时间转到

的情况      

一个。 O(N)

     

B中。 O(N!)

     

℃。 O(log N)

     

d。 O(N2)

     

电子。 O(1)

我的回答是:O(1)

0 个答案:

没有答案