第八周学习总结
本周学习总结如下:
一 .文件与硬盘 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 方法被阻塞
总结: 常用算法应该花时间去掌握,对理解计算机的其他代码很有帮助。
评论