资源名称:轻松学算法 互联网算法面试宝典 带目录 完整版PDF
第1章 数组、集合和散列表 1
1.1 要用就要提前想好的数据结构—数组 2
1.1.1 什么是数组 2
1.1.2 数组的存储结构 3
1.1.3 数组的特点 6
1.1.4 数组的适用场景 7
1.2 升级版数组—集合 8
1.2.1 什么是集合 8
1.2.2 集合的实现 8
1.2.3 集合的特点 13
1.2.4 集合的适用场景 13
1.2.5 数组与变长数组的性能 14
1.3 数组的其他应用—散列表 14
1.3.1 什么是散列表 15
1.3.2 对散列表函数产生冲突的解决办法 16
1.3.3 散列表的存储结构 17
1.3.4 散列表的特点 18
1.3.5 散列表的适用场景 20
1.3.6 散列表的性能分析 21
1.4 小结 28
第2章 栈、队列、链表 29
2.1 汉诺塔游戏—栈 30
2.1.1 什么是汉诺塔 30
2.1.2 什么是栈 31
2.1.3 栈的存储结构 31
2.1.4 栈的特点 36
2.1.5 栈的适用场景 36
2.2 火爆的奶茶店—队列 37
2.2.1 什么是队列 37
2.2.2 队列的存储结构 38
2.2.3 队列的特点 43
2.2.4 队列的适用场景 44
2.3 用栈实现队列 45
2.3.1 用两个栈实现队列 46
2.3.2 两个队列实现栈 50
2.4 链表 53
2.4.1 什么是链表 54
2.4.2 链表的存储结构 54
2.4.3 链表的操作 55
2.4.4 链表的特点 66
2.4.5 链表的适用场景 66
2.4.6 链表的性能分析 67
2.4.7 面试举例:如何反转链表 68
2.5 链表其实也可以用数组模拟 69
资源截图: