Indexing 什么是索引?为什么不';我们不是什么都用哈希吗?

Indexing 什么是索引?为什么不';我们不是什么都用哈希吗?,indexing,data-structures,hashmap,Indexing,Data Structures,Hashmap,复习一些关于数据结构等的面试信息 因此,据我所知,数组是O(1)的索引,我相信这意味着在数组中查找包含在空间x中的特定元素。我只是想确认这一点,因为我在猜测我自己 此外,哈希映射是用于索引、搜索、插入和删除的O(1)。这难道不会让任何数据结构问题变得毫无意义,因为哈希映射永远是最好的解决方案吗 谢谢索引不仅仅是关于数组 根据,索引是指创建指向文件夹、文件和记录位置的表(索引)。根据用途,索引根据文件名、数据库记录中的关键数据字段、文件中的文本或图形或视频文件中的唯一属性标识资源的位置 对于第二个

复习一些关于数据结构等的面试信息

因此,据我所知,数组是O(1)的索引,我相信这意味着在数组中查找包含在空间x中的特定元素。我只是想确认这一点,因为我在猜测我自己

此外,哈希映射是用于索引、搜索、插入和删除的O(1)。这难道不会让任何数据结构问题变得毫无意义,因为哈希映射永远是最好的解决方案吗


谢谢

索引不仅仅是关于数组

根据,索引是指创建指向文件夹、文件和记录位置的表(索引)。根据用途,索引根据文件名、数据库记录中的关键数据字段、文件中的文本或图形或视频文件中的唯一属性标识资源的位置

对于第二个问题,由于各种原因,哈希映射不是绝对的或最佳的数据结构,主要是:

  • 碰撞
  • 哈希函数计算时间
  • 使用的额外内存
此外,还有许多数据结构问题,其中哈希映射并不优越:

  • 用于查找第k个最小元素并支持更新的数据结构(Hashmap类似于bruteforce,因为它不保持元素排序,所以我们需要类似于平衡二进制搜索树的东西)

  • 用于查找单词是否在字典中的数据结构(当然hashmap可以工作,但Trie速度更快,内存更少)

  • 用于在具有更新的数组的任何范围内查找最小元素的数据结构(同样,hashmap对此速度太慢,我们需要类似于段树的东西)


无法使用hashmaps(高效)进行范围查询,因为太慢了。提示:索引到数组需要哪些步骤;以及在哈希表中查找项所需的参数?(注意,我只是回答了为什么我们在所有事情上都使用数组而不是哈希表的问题。这甚至没有涉及到几乎无限的其他用例,其中一个或两个都是完全不合适的)