数据结构
是一个个解决问题的“模型”
数组和链表
通过下表直接定位数据 特别适合快速随机访问
循环 迭代 二分查找 斐波那契数列
适用稠密的数列
稀疏的话 改用链表来处理
C C++ 当中使用指针来实现的 java是对象引用来实现的
哈希表
链地址哈希表
哈希冲突的解决
栈 堆(求top K)
深度优先搜索 先进后出
队列
广度优先搜索 先进先出 消息队列等比较常用
内连接
外连接
基础算法
分治思想 mapreduce的数据切分 如何确定请求被分配到哪台机器上?这就引入了负载均衡算法
轮询和源地址哈希算法
回溯
八皇后和0-1背包问题