1. 算法
【1】动态规划经典题目总结
2. 数据结构
2.1 数组和字符串
【1】【算法】删除一个数组中为0的元素
【2】牛客网在线编程专题《剑指offer-面试题34》丑数
【3】牛客网在线编程专题《剑指offer-面试题4》替换空格
【4】牛客网在线编程专题《剑指offer》(1)二维数组中的查找
2.2 链表
【1】牛客网在线编程专题《剑指offer-面试题37》两个链表的第一个公共结点
【2】【算法】如何判断链表有环
【3】牛客网在线编程专题《剑指offer-面试题17》合并两个排序的链表
【4】牛客网在线编程专题《剑指offer-面试题16》反转链表
【5】牛客网在线编程专题《剑指offer-面试题15》链表中倒数第k个节点
【7】【数据结构】线性链表的Java实现
【8】牛客网在线编程专题《剑指offer-面试题5》从尾到头打印链表
2.3 栈和队列
【1】牛客网在线编程专题《剑指offer-面试题7》用两个栈来实现队列
2.4 树
【1】牛客网在线编程专题《剑指offer-面试题58》二叉树的下一个结点
【2】牛客网在线编程专题《剑指offer-面试题39:题目二》判断是否是平衡二叉树
【3】牛客网在线编程专题《剑指offer-面试题39》二叉树的深度
【4】牛客网在线编程专题《剑指offer-面试题18》树的子结构
【5】牛客网在线编程专题《剑指offer-面试题6》重建二叉树
【6】【LeetCode】337. House Robber |||
2.5 查找
【1】牛客网在线编程专题《剑指offer-面试题38》数字在排序数组中出现的次数
【2】牛客网在线编程专题《剑指offer-面试题8》旋转数组的最小数字
【3】算法-在有序数组、无序数组中进行折半查找和二分法找无序数组中第k小(大)的数
2.6 排序
【1】【数据结构】归并排序
【2】牛客网在线编程专题《剑指offer-面试题36》数组中的逆序对
【4】堆排序之-小顶堆
【5】堆排序之-大顶堆
【6】排序算法-桶排序
【7】【LeetCode】347. Top K Frequent Elements
【8】牛客网在线编程专题《剑指offer》(29)最小的K个数
【9】【算法】在N个乱序数字中查找第K大的数字
2.7 总结
【1】【面试心得】算法和数据结构:查找和排序
3. 机器学习基础
3.1 监督学习模型
3.1.1 经典算法
【1】机器学习中【回归算法】详解
3.1.2 概率图模型
【1】贝叶斯分类器
3.2 非监督学习模型
【1】EM算法详解
【2】K-means算法优化(二分K-means算法)
【3】聚类算法之K-means算法
3.3 集成学习
3.4 降维算法
【1】主成分分析(PCA)原理详解
【2】机器学习中SVD总结
3.5 采样
3.6 强化学习
3.7 模型评价
【1】偏差(Bias)与方差(Variance)
【2】ROC曲线和AUC面积理解
【3】【错误率、精度、查准率、查全率和F1度量】详细介绍
4. 机器学习技巧和经验
【1】什么是过拟合、过拟合原因、如何防止?
【2】分类中解决类别不平衡问题
【3】最优化理论与方法-牛顿迭代法后续
【4】最优化理论与方法-牛顿迭代法
【5】机器学习中的L1和L2正则化项
5. 深度学习基础
5.1 卷积神经网络(CNNs)
【1】卷积神经网络(CNN)综述
【2】对Dilated Convolution理解
【3】卷积神经网络中感受野的详细介绍
5.2 循环神经网络(RNNs)
【1】循环神经网络(RNN)
【2】理解LSTM网络
5.3 生成式对抗网络(GANs)
6. 深度学习技巧和经验(经典论文)
【1】深度学习中的Batch Normalization
【2】深度学习中Dropout原理解析
【3】神经网络梯度消失和梯度爆炸及解决办法
【4】深度学习中的注意力机制
【5】深度学习中的DropConnect原理解析(未完成)
7. 计算机基础
8. 数学理论