第八周学习总结
本周学习总结如下:
一 .文件与硬盘 I/O
1.1 机械硬盘
1.2 固态硬盘
- B+树 
- LSM 树 
- 文件控制块 
- Linux Inode 文件控制块 
- RAID 独立硬盘冗余阵列 
- 分布式文件系统 HDFS 
二、 数据结构与算法
- 时间复杂度与空间复杂度 
- NP 问题 
- 数组 
- 链表 
- 链表中增删数据要比数组性能好的多 
- Hash 表 
- Hash 冲突 
- 栈 
- 线程调用栈 
- 队列 
- 用队列搜索好友中关系最近的有钱人 
- 用队列搜索最短路径 
- 树 
- 二叉排序树 
- 不平衡的二叉排序树 
- 平衡二叉(排序)树 
- 旋转二叉树恢复平衡 
- 红黑(排序)树 
- 红黑树 VS 平衡二叉树 
- 跳表 
三、 常用算法
- 穷举算法 
- 递归算法 
- 贪心算法 
- 动态规划 
- 递归算法(快速排序算法) 
- 贪心算法 
- 改进贪心算法 - 迪杰斯特拉算法(最快路径) 
- 动态规划算法解决背包问题 
- 遗传算法解决背包问题 
- 基因编码与染色体 
- 适应函数与控制参数 
- 选择算法 
- 交叉遗传 
- 遗传算法得到的不是最优解 
三、网络通信协议
- Web 请求的一次网络通信历程 
- OSI 七层模型和 TCP/IP 四层模型 
- 网络数据包格式 
- 物理层 
- 链路层 
- 数据链路层负载均衡 
- 网络层 
- IP 负载均衡 
- 传输层(TCP 协议) 
- 应用层 HTTP 协议 
- HTTP 请求的 7 种方法 
- HTTP 响应的 5 种状态 
- HTTP 协议版本 
四、非阻塞网络 I/O
- 计算机之间如何进行网络请求 
1.1 服务器 - 客户端
1.2 多线程服务器-客户端
1.3 线程池服务器
1.4 BIO Blocking I/O 阻塞 I/O
1.5 Socket 接收数据,系统内核的处理过程
1.6 非阻塞 I/O( Non-Blocking I/O )
1.7 Java NIO (New I/O)
1.8 系统 I/O 复用方式:select,poll,epoll
1.9 Select(poll) 管理下的 read 过程
2.0 epoll 管理下的 read 过程
2.1 无活动连接时,Selector.select 方法被阻塞
总结: 常用算法应该花时间去掌握,对理解计算机的其他代码很有帮助。












 
    
评论