面试总结之数据结构(Data Structure)

All contents are moved to haoran119/interview (github.com)


常用数据结构及复杂度 - sangmado - 博客园 (cnblogs.com)

Data Structure Add Find Delete GetByIndex
 Array (T[]) O(n) O(n) O(n) O(1)
 Linked list (LinkedList<T>) O(1) O(n) O(n) O(n)
 Resizable array list (List<T>) O(1) O(n) O(n) O(1)
 Stack (Stack<T>) O(1) - O(1) -
 Queue (Queue<T>) O(1) - O(1) -
 Hash table (Dictionary<K,T>) O(1) O(1) O(1) -
 Tree-based dictionary (SortedDictionary<K,T>) O(log n)   O(log n)   O(log n)   -
 Hash table based set (HashSet<T>) O(1) O(1) O(1) -
 Tree based set (SortedSet<T>) O(log n) O(log n) O(log n) -

【万字总结】图解堆算法、链表、栈与队列(多图预警)_nomasp-CSDN博客

图论算法 有图有代码 万字总结_nomasp-CSDN博客_图论算法

面试经验分享之数据结构、算法题 (360doc.com)

  • 数据结构题目
    • 概述
    • 分类讨论
      • 类型一:数据结构实现
      • 类型二:数据结构应用
    • 准备建议
  • 算法题目
    • 概述
    • 分类讨论
      • 类型一:经典算法实现题
      • 类型二:思维益智题

面试必考的基础数据结构梳理(1) (qq.com)

面试必考的基础数据结构梳理(2) (qq.com)

为什么要学数据结构?| 原力计划 (qq.com)

数据结构和算法学习指南 (qq.com)


Array

掌握常用的数据结构之数组和字符串 (qq.com)

漫画:如何螺旋遍历二维数组? (qq.com)

LeetCode 154 :寻找旋转排序数组中的最小值 II (qq.com)

图解「剑指Offer」之二维数组中的查找 (qq.com)

剑指 offer 面试题精选图解 04 . 二维数组中的查找 (qq.com)

视频讲解 | 图解剑指offer:二维数组的查找 (qq.com)

(美团)巧用数组下标,轻轻松松找出所有元素 (qq.com)

数组特性的妙用!如何找到「缺失的第一个正数」 (qq.com)

如何高效对有序数组/链表去重? (qq.com)

一道简单的数组遍历题,加上四个条件后感觉无从下手 (qq.com)

这道算法题太简单?你忽略了时间复杂度的要求! (qq.com)

图解 LeetCode 难题:「和至少为 K 的最短子数组」 (qq.com)

剑指 offer 面试题精讲图解 | 03 . 数组中重复的数字 (qq.com)

LeetCode 例题精讲 | 18 前缀和:空间换时间的技巧 (qq.com)

LeetCode 图解 | 27.移除元素 (qq.com)

LeetCode 力扣官方题解 | 31. 下一个排列 (qq.com)

LeetCode 图解 | 38. 外观数列 (qq.com)

LeetCode 图解 | 88. 合并两个有序数组 (qq.com)

LeetCode 题解 | 189. 旋转数组 (qq.com)

LeetCode 力扣官方题解 | 228. 汇总区间 (qq.com)

LeetCode 题解 | 238. 除自身以外数组的乘积 (qq.com)

图解 LeetCode 第 421 题:数组中两个数的最大异或值 (qq.com)

LeetCode 图解 | 477. 汉明距离总和 (qq.com)

LeetCode 题解 | 523. 连续的子数组和 (qq.com)

LeetCode 力扣官方题解 | 830. 较大分组的位置 (qq.com)

LeetCode 力扣官方题解 | 941. 有效的山脉数组 (qq.com)


双指针

LeetCode 例题精讲 | 05 双指针×链表问题:快慢指针 (qq.com)

LeetCode 例题精讲 | 04 用双指针解 Two Sum:缩减搜索空间 (qq.com)

TwoSum 相关问题思路总结 (qq.com)

Two Sum 问题的核心思想 (qq.com)

短小精悍,双指针对撞,求解「两数之和 II」 (qq.com)

图解「小于 K 的两数之和 」 (qq.com)

漫画算法题:两数之和与三数之和 (qq.com)

LeetCode 图解 | 18.四数之和 (qq.com)

五分钟,彻底明白一道今日头条算法面试真题 (qq.com)

双指针的魅力!四行代码求解「盛最多水的容器」 (qq.com)

双指针的妙用,巧解一道高频面试题:接雨水 (qq.com)

剑指 offer 21. 调整数组顺序使奇数位于偶数前面 (qq.com)

LeetCode 图解 | 30.串联所有单词的子串 (qq.com)

LeetCode 力扣官方题解 | 80. 删除排序数组中的重复项 II (qq.com)

题解 | 198.打家劫舍 (qq.com)

LeetCode 力扣官方题解 | 349. 两个数组的交集 (qq.com)

图解两数之和的变形题之「有效三角形的个数」 (qq.com)

LeetCode 力扣官方题解 | 922. 按奇偶排序数组 II (qq.com)

LeetCode 题解 | 1312. 让字符串成为回文串的最少插入次数 (qq.com)


矩阵

经典面试题:有序矩阵的快速查找 (qq.com)

路径 (qq.com)

剑指 offer 面试题精选图解 12. 矩阵中的路径 (qq.com)

LeetCode 图解 | 48 . 旋转图像 (qq.com)

LeetCode 题解 | 73. 矩阵置零 (qq.com)

LeetCode 力扣官方题解 | 542.01 矩阵 (qq.com)

LeetCode 力扣官方题解 | 1074. 元素和为目标值的子矩阵数量 (qq.com)


Graph

动画解析:图的遍历方式有哪些? (qq.com)

60 分钟搞定图论中的 Tarjan 算法(一) (qq.com)

揭开「拓扑排序」的神秘面纱 (qq.com)

【综合笔试题】难度 4/5,一道结合了「二分」的图论题 (qq.com)


Hash

图解:什么是哈希? (qq.com)

五分钟速读:什么是散列表(哈希表)? (qq.com)

独乐乐不如众乐乐,如何装逼的求众数 (qq.com)

【LeetCodeAnimation】三道「只出现一次的数」一文轻松搞定! (qq.com)

图解 LeetCode 第 3 号问题:数组中重复的数字 (qq.com)

LeetCode 题解 | 36. 有效的数独 (qq.com)

LeetCode 图解 | 36.有效的数独 (qq.com)

LeetCode 图解 | 37.解数独 (qq.com)

137. 只出现一次的数字 II (qq.com)

LeetCode 题解 | 260. 只出现一次的数字 III (qq.com)

LeetCode 力扣官方题解 | 554. 砖墙 (qq.com)

LeetCode 力扣官方题解 | 705. 设计哈希集合 (qq.com)

LeetCode 力扣官方题解 | 888. 公平的糖果棒交换 (qq.com)


Linked List

[ZZ]一道有意思的面试题-在O(1)时间删除链表结点 - 浩然119 - 博客园 (cnblogs.com)

链表, 如何最快地找出一个单向链表的中间结点?

怎样用最快的方法判断链表是否有环?

动画 | 什么是链表? (qq.com)

动画:面试如何轻松手写链表? (qq.com)

动画:链表快慢指针解题技巧 (qq.com)

快慢指针巧解链表题目(二) (qq.com) 

LeetCode 题解 | 24.两两交换链表中的节点 (qq.com)

剑指 Offer 35. 复杂链表的复制 (qq.com)

剑指 Offer 面试题 18. 删除链表的节点 (qq.com)

LeetCode 图解 | 237.删除链表中的节点 (qq.com)

字节一面:链表反转的姿势,你知道几个? (qq.com)

LeetCode 例题精讲 | 01 反转链表:如何轻松重构链表 (qq.com)

题解 | 206.反转链表 (qq.com)

LeetCode 图解 | 206.反转链表 (qq.com)

链表反转的两种实现方法,后一种击败了100%的用户 (qq.com)

LeetCode 25. K 个一组翻转链表 (qq.com)

LeetCode 图解 | 21.合并两个有序链表 (qq.com)

LeetCode 160. 相交链表 (qq.com)

LeetCode 力扣官方题解 | 86. 分隔链表 (qq.com)

经典面试题:环形链表的判断与定位 (qq.com)

图解:链式存储结构之循环链表(修订版) (qq.com)

五分钟学算法:动手写一个双向链表 (qq.com)

来来来,告诉你啥是跳跃链表【含代码】 (qq.com)

记一道字节跳动的算法面试题 (qq.com)

LeetCode 力扣官方题解 | 328. 奇偶链表 (qq.com)


Stack

面试中常考的堆、栈和队列如何理解与应用? (qq.com)

如何设计一个支持增量操作的栈 (qq.com)

如何轻松使用 C 语言实现一个栈?​ (qq.com)

与栈有关:3 分钟看懂如何判断括号的合法性 (qq.com)

一道 LeetCode 的多种解法,打消了我的自以为是! (qq.com)

LeetCode 84 :柱状图中最大矩形 (qq.com)

LeetCode 力扣官方题解 | 224.基本计算器 (qq.com)

LeetCode 力扣官方题解 | 227. 基本计算器 II (qq.com)

LeetCode 力扣官方题解 | 232. 用栈实现队列 (qq.com)

LeetCode 图解 | 232.使用栈实现队列 (qq.com)

图解「剑指Offer」之使用栈实现队列 (qq.com)

五分钟学算法小知识:用栈实现队列/用队列实现栈 (qq.com)

动画:什么是单调栈? (qq.com)

LeetCode 力扣官方题解 | 496. 下一个更大元素 I (qq.com)

LeetCode 739:每日温度 (qq.com)

LeetCode 力扣官方题解 | 1047. 删除字符串中的所有相邻重复项 (qq.com)


String

几道 BAT 算法面试中经常问的「字符串」问题 (qq.com)

字符串匹配算法详解 (qq.com) 

漫画:什么是字符串匹配算法? (qq.com)

漫画:什么是KMP算法? (qq.com)

动态规划之 KMP 算法详解(配代码版) (qq.com)

老司机开车,教会女朋友什么是「马拉车算法」 (qq.com)

动画:什么是 BF 算法 ? (qq.com)

动画:浅谈什么是 Sunday 算法 (qq.com)

动画:BM 算法中的坏字符规则与好后缀规则 (qq.com)

漫画:如何找到字符串中的最长回文子串? (qq.com)

题解 LeetCode 第 43 题 :字符串相乘 (qq.com)

LeetCode 图解 | 290 . 单词规律 (qq.com)

LeetCode 力扣官方题解 | 466. 统计重复个数 (qq.com)


Tree

不再惧怕!二叉树结构相关算法总结 | 原力计划 (qq.com)

腾讯面试官这样问我二叉树,我刚好都会 | 原力计划 (qq.com)

LeetCode 二叉树问题小总结 (qq.com)

把二叉树揉碎(一) (qq.com)

把二叉树揉碎(二) (qq.com)

深度剖析头条面试真题 | 二叉树那点事儿 (qq.com)

一文横扫二叉树的所有遍历方法 (qq.com)

动画:面试必刷之二叉树的子结构 (qq.com)

面试前准备:二叉树高频面试题和答案 (qq.com)

面试中常考的二叉树 (qq.com)

LeetCode 例题精讲 | 11 二叉树转化为链表:二叉树遍历中的相邻结点 (qq.com)

图解 | LeetCode #104 二叉树的最大深度 (qq.com)

LeetCode 105 :重建二叉树 (qq.com)

图解「剑指Offer」之用前序和中序遍历序列构建二叉树 (qq.com)

五分钟看懂一道中等难度的算法题 (qq.com)

LeetCode 力扣官方题解 | 543. 二叉树的直径 (qq.com)

LeetCode 图解 | 617.合并二叉树 (qq.com)

LeetCode 实战:「图解」二叉树中的最大路径和 (qq.com)

图解:什么是二叉排序树? (qq.com)

动画 | 什么是二分搜索树(附伪代码) (qq.com)

LeetCode 图解 | 1214.查找两颗二分搜索树之和 (qq.com)

动画 | 什么是2-3-4树? (qq.com)

字典树概念与题型解析 (qq.com)

LeetCode 题解 | 179. 最大树 (qq.com)


平衡二叉树

题解 | 110.平衡二叉树 (qq.com)

漫画:什么是平衡二叉树? (qq.com)

一文读懂平衡二叉树 | 技术头条 (qq.com)

详解一道字节跳动的二面题目,它太经典了! (qq.com)

面试官问我:什么是 “伸展树” ? (qq.com)


B树

硬核挑战——从零开始动手图解 B 树 (qq.com)

终于有篇看的懂的B树文章了! (qq.com)

图解:什么是 B+树?(汇总篇) (qq.com)

一点微小的改动,让你从B树理解到B+树 (qq.com)


动画 | 什么是二叉堆? (qq.com)

面试官问我:什么是树堆(Treap)? (qq.com)

五分钟学算法:什么是堆? (qq.com)

LeetCode 图解 | 215.数组中的第 K 个最大元素 (qq.com)


Trie树

动画Trie树 (qq.com)


线段树

动画详解难啃的线段树 (qq.com)

五分钟学算法:什么是线段树? (qq.com)

LeetCode 动画图解 | 218.天际线问题 (qq.com)

题解 | 1157. 子数组中占绝大多数的元素 (qq.com)


红黑树

动画 | 视频图解红黑树 (qq.com)

我画了 20 张图,给女朋友讲清楚红黑树 (qq.com)

漫画算法:5 分钟搞明白红黑树到底是什么? (qq.com)


树状数组

面试必考的算法与数据结构详解 (qq.com)

漫画:什么是树状数组? (qq.com)


并查集

算法动画秒懂并查集 (qq.com) 

什么是 “并查集” ? (qq.com)

客户端用不着的数据结构之并查集 (qq.com)

LeetCode图解 | 128.最长连续序列 (qq.com)

LeetCode 力扣官方题解 | 684. 冗余连接 (qq.com)

posted on 2016-06-11 10:24  浩然119  阅读(615)  评论(0编辑  收藏  举报