为一个特定的任务选择最好的数据结构和算法是开发高性能软件的一个关键。 1. Collection Collection接口为线性表,向量,栈,队列,优先队列以及集合定义了共同的操作。 Java collection框架中定义的所有接口和类都分组在java.util包中。 Java collectio ...
分类:
其他好文 时间:
2021-05-24 10:26:43
阅读次数:
0
之前我们对Java集合框架一些常见的面试题做了一个总结式的回答:【29期】Java集合框架 10 连问,你有被问过吗?这篇开始针对29期中的一些比较重要的问题做详细的解答。 哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的 ...
分类:
其他好文 时间:
2021-05-24 10:26:20
阅读次数:
0
[...new Set(arr)] 解析:ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。 Set本身是一个构造函数,用来生成 Set 数据结构。 const s = new Set(); [2, 3, 5, 4, 5, 2, 2].forEach(x => ...
分类:
编程语言 时间:
2021-05-24 10:13:29
阅读次数:
0
MySQL 索引使用什么数据结构?为什么用 B+做索引? 使用B+树。 这个问题,可以在脑子里面先思考一下,如果让你来设计数据库的索引,你会怎么设计? 我们还是用Why?What?How?三步法来看这个问题。 为什么会需要索引?索引是什么?索引怎么用的? 再思考为什么需要B+树?B+树是什么?B+树 ...
分类:
数据库 时间:
2021-05-24 09:51:23
阅读次数:
0
为了能够在面试回答中优雅而不失体面回答面试考点,该文章借鉴了不同平台对知识点的描述。 回答 HashMap 是一种存取高效但不保证有序的常用容器。它的数据结构为“数组+链表”,是解决哈希冲突的产物,也就是我们常说的链地址法。它实现了Map 接口采用K-V 键值对存储数据,并实现了浅拷贝和序列化。 H ...
分类:
编程语言 时间:
2021-05-24 09:44:25
阅读次数:
0
无论是向量、列表、还是栈和队列,其保存的元素之间都存在一个线性次序,故它们都属于线性结构,树则不然,其元素之间并不存在直接后继或直接前驱的关系。不过可以对树附加某种约束,从而确定某种线性次序,因此树属于半线性结构。树有着不计其数的变种,在算法理论以及实际应用中,它们都扮演着最为关键的角色。之所以如此 ...
分类:
其他好文 时间:
2021-05-24 09:33:21
阅读次数:
0
队列 1.先进先出 2.可以使用数组或者链表来模拟队列 数组形式 单向队列 首先需要俩个指针,front和rear。front表示头指针,rear表示尾指针。 front = -1,rear = -1 front==rear:该队列为空 rear==Maxsize-1:该队列满了 但是单纯的这样设计 ...
分类:
编程语言 时间:
2021-05-24 07:31:45
阅读次数:
0
(1)数据结构:LinkedList是一个实现了List接口和Deque接口的双端链表。 (1-1)双端链表: 双端链表与单链表的区别在于它不只第一个链结点有引用,还对最后一个链结点有引用。 (2)线程安全:线程不安全。 (3)修改操作:LinkedList底层的链表结构使它支持高效的插入和删除操作 ...
分类:
其他好文 时间:
2021-05-24 07:18:22
阅读次数:
0
(1)数据结构:数组+链表。 (2)线程安全:HashTable是线程安全的,因为HashTable内部的方法基本都经过Synchronized修饰。 (3)修改操作: (3-1)对Null键和Null值的支持:HashTable不允许有Null键和Null值,否则会抛出NullPointerExc ...
分类:
其他好文 时间:
2021-05-24 07:17:23
阅读次数:
0
Redis常用存储类型 Redis底层提供了5种数据结构:字符串、哈希、列表、集合、有序集合 下图非常形象的表示了数据结构: 字符串String 常用命令 EX seconds:设置失效时长,单位秒 PX milliseconds:设置失效时长,单位毫秒 NX:key不存在时设置value,成功返回 ...
分类:
其他好文 时间:
2021-05-24 06:52:11
阅读次数:
0