甲乙小朋友的房子

甲乙小朋友很笨,但甲乙小朋友不会放弃

0%

本站简介

这里主要是我自己学习笔记。主要有以下几类:

算法与数据结构

为了方便,在本站统称为算法(事实上还是很有必要搞清算法和数据结构的关系)。算法分类传送门:主要围绕Leetcode中的各种题型整理的。

二刷目录:算法-题目集锦

每篇文章之下都是相关概念及相关题。总结起来有以下专题:

数组与数模块

动态规划

链表模块

  • 算法-链表 。链表的基本原理和操作非常重要,比如增、删、反转、合并、找中点等等。涉及到的技巧不多,大概就是dummy Node和快慢指针,个人觉得其终极原则就是链表这个数据结构的形式,以及这个形式造成了哪些优缺点。
  • 算法-栈 。一般来说栈可以用数组和链表实现。但链表实现的栈更容易扩充一些。本文记录了一些栈的常见题型。

树模块

  • 算法-二叉树与分治 。树上面的很多东西与链表很相似,它们都不能访问它前一个节点(父节点)。而树的前中后遍历体现了DFS的思想,层序遍历体现了BFS的思想,这两个都是树的搜索问题。当然在二叉树里,还有一个分治的思想,将大问题分解为不相干的子问题,这一点非常重要。
  • 算法-堆 。堆,也就是优先队列,我的理解,它是树个结构,始终维护树顶为极值。
  • 算法-Trie树 。 用树状结构表示很多个单词,以此加速单词的搜索。我想采用此结构的原因在于单词中的字母只有26个,数分支较少。如果是中文的话恐怕情况就不那么乐观了。(但这仅仅是个人猜测,待验证)
  • 算法-线段树 。介绍了线段树的概念和一道经典题目
  • 算法-B树 简单介绍了B树的原理
  • 算法-红黑树 简单介绍了红黑树的原理

图模块

  • 算法-DFS 。深度优先遍历看似简单,但事实上写起程序来还是有点棘手的。因为每道题的边界条件不同,细节之处就不同了。
  • 算法-回溯法 。 回溯法是一种选优搜索法,一般与DFS联合使用。经典的八皇后问题非常好地诠释了回溯法。
  • 算法-并查集 。 并查集非常适用于解决动态连通性的问题。如果图是静态的,其实DFS更快一些。
  • 算法-图 。树其实是一种有强约束的图。而图里算法非常多,截止现在这篇文章涉及到的只有拓扑排序。
  • 算法-单源最短路径问题 。早期的文章。
  • 算法-最小生成树算法 。这篇文章写得比较早了。简单地描述了最小生成树算法。

散列表

系统设计

系统设计这里坑比较大。

搜索引擎设计

系统设计课程

语言

网络

分布式存储

机器学习、深度学习

机器学习基础

基础的模型主要了解了两个方面,一个是线性模型,一个是树模型。而树模型又阐述了Bagging和Boosting两种思想。

线性模型

集成学习

竞赛

O2O优惠券预测

腾讯社交广告CVR转化率预估

其它实践相关

===========================================================

路漫漫其悠远兮,吾将上下而求索。

===========================================================