写点什么

第八周学习总结

用户头像
Binary
关注
发布于: 2021 年 01 月 17 日

本周学习总结如下:

一 .文件与硬盘 I/O

1.1 机械硬盘

1.2 固态硬盘

  1. B+树

  2. LSM 树

  3. 文件控制块

  4. Linux Inode 文件控制块

  5. RAID 独立硬盘冗余阵列

  6. 分布式文件系统 HDFS

二、 数据结构与算法

  1. 时间复杂度与空间复杂度

  2. NP 问题

  3. 数组

  4. 链表

  5. 链表中增删数据要比数组性能好的多

  6. Hash 表

  7. Hash 冲突

  8. 线程调用栈

  9. 队列

  10. 用队列搜索好友中关系最近的有钱人

  11. 用队列搜索最短路径

  12. 二叉排序树

  13. 不平衡的二叉排序树

  14. 平衡二叉(排序)树

  15. 旋转二叉树恢复平衡

  16. 红黑(排序)树

  17. 红黑树 VS 平衡二叉树

  18. 跳表

三、 常用算法

  1. 穷举算法

  2. 递归算法

  3. 贪心算法

  4. 动态规划

  5. 递归算法(快速排序算法)

  6. 贪心算法

  7. 改进贪心算法 - 迪杰斯特拉算法(最快路径)

  8. 动态规划算法解决背包问题

  9. 遗传算法解决背包问题

  10. 基因编码与染色体

  11. 适应函数与控制参数

  12. 选择算法

  13. 交叉遗传

  14. 遗传算法得到的不是最优解

三、网络通信协议

  1. Web 请求的一次网络通信历程

  2. OSI 七层模型和 TCP/IP 四层模型

  3. 网络数据包格式

  4. 物理层

  5. 链路层

  6. 数据链路层负载均衡

  7. 网络层

  8. IP 负载均衡

  9. 传输层(TCP 协议)

  10. 应用层 HTTP 协议

  11. HTTP 请求的 7 种方法

  12. HTTP 响应的 5 种状态

  13. HTTP 协议版本

四、非阻塞网络 I/O

  1. 计算机之间如何进行网络请求

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 方法被阻塞


总结: 常用算法应该花时间去掌握,对理解计算机的其他代码很有帮助。

用户头像

Binary

关注

还未添加个人签名 2018.04.27 加入

还未添加个人简介

评论

发布
暂无评论
第八周学习总结