我在阅读时发现了这个问题,我不知道它的正确答案是什么..这是问题:
假设您正在为手机实现地址簿功能。地址 书籍需要按照人的姓氏排序,并支持快速访问 按姓氏查询。以下哪种数据结构是不错的选择 用于存储地址簿?解释为什么。哪个是错误的选择,为什么?
(a) 未排序的链表
(b) 排序链表
(c) 二叉搜索树
(d) 哈希表
我的答案是使用哈希表,因为它有键和值...... 我的答案正确吗?
谢谢
最佳答案
根据要求,使用的正确结构是二叉搜索树。 为什么?
(a) 未排序链表:未排序,O(n) 搜索
(b) 排序链表:已排序,O(n) 搜索;请注意,您不能对单链表或双链表应用二分搜索
(c) 二叉搜索树:排序,O(logn) 搜索
(d) 哈希表:未排序,O(1) 搜索
由于排序要求,(a) 和 (d) 被排除;那么搜索时(c)比(b)更快。
*刚刚注意到你还问了“错误的选择”,这显然是(a)(未排序的链接列表)
关于java - 哈希表是否适合实现手机的地址簿功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34601345/