数组和链表
数组是连续内存,按下表访问是O(1),查找速度快;但是插入和删除要移动后边的所有元素,是O(n),而且大小固定,扩容要重新复制。
链表是零散节点靠指针串起来的,插入删除效率高,时间复杂度O(1);遍历效率低,时间复杂度O(n);
技术选型:查询多选数组,增删多选链表;es中依赖的lucene中,根据文档id查询文档的时候就是用就是数组;es中倒排索中的数据结构用的是跳表,链表加二分法查找的一种结构;
数组是连续内存,按下表访问是O(1),查找速度快;但是插入和删除要移动后边的所有元素,是O(n),而且大小固定,扩容要重新复制。
链表是零散节点靠指针串起来的,插入删除效率高,时间复杂度O(1);遍历效率低,时间复杂度O(n);
技术选型:查询多选数组,增删多选链表;es中依赖的lucene中,根据文档id查询文档的时候就是用就是数组;es中倒排索中的数据结构用的是跳表,链表加二分法查找的一种结构;