给广大码农分享福利:一个业界良心的github仓库,中文计算机资料_码农 库-程序员宅基地

技术标签: 开源  

我今天查资料时无意发现的,https://github.com/CyC2018/CS-Notes

这个仓库包含了下列几个维度的计算机学习资料:

深受国内程序员喜爱,已经有超过3万多star了。

1. 算法

(1) 剑指 Offer 题解:目录根据原书第二版进行编排,代码和原书有所不同,尽量比原书更简洁。

这里面包含了非常多的程序员找工作面试和笔试需要准备的知识点:

1. 前言

2. 实现 Singleton

3. 数组中重复的数字

4. 二维数组中的查找

5. 替换空格

6. 从尾到头打印链表

7. 重建二叉树

8. 二叉树的下一个结点

9. 用两个栈实现队列

10.1 斐波那契数列

10.2 跳台阶

10.3 矩形覆盖

10.4 变态跳台阶

11. 旋转数组的最小数字

12. 矩阵中的路径

13. 机器人的运动范围

14. 剪绳子

15. 二进制中 1 的个数

16. 数值的整数次方

17. 打印从 1 到最大的 n 位数

18.1 在 O(1) 时间内删除链表节点

18.2 删除链表中重复的结点

19. 正则表达式匹配

20. 表示数值的字符串

21. 调整数组顺序使奇数位于偶数前面

22. 链表中倒数第 K 个结点

23. 链表中环的入口结点

24. 反转链表

25. 合并两个排序的链表

26. 树的子结构

27. 二叉树的镜像

28 对称的二叉树

29. 顺时针打印矩阵

30. 包含 min 函数的栈

31. 栈的压入、弹出序列

32.1 从上往下打印二叉树

32.2 把二叉树打印成多行

32.3 按之字形顺序打印二叉树

33. 二叉搜索树的后序遍历序列

34. 二叉树中和为某一值的路径

35. 复杂链表的复制

36. 二叉搜索树与双向链表

37. 序列化二叉树

38. 字符串的排列

39. 数组中出现次数超过一半的数字

40. 最小的 K 个数

41.1 数据流中的中位数

41.2 字符流中第一个不重复的字符

42. 连续子数组的最大和

43. 从 1 到 n 整数中 1 出现的次数

44. 数字序列中的某一位数字

45. 把数组排成最小的数

46. 把数字翻译成字符串

47. 礼物的最大价值

48. 最长不含重复字符的子字符串

49. 丑数

50. 第一个只出现一次的字符位置

51. 数组中的逆序对

52. 两个链表的第一个公共结点

53. 数字在排序数组中出现的次数

54. 二叉查找树的第 K 个结点

55.1 二叉树的深度

55.2 平衡二叉树

56. 数组中只出现一次的数字

57.1 和为 S 的两个数字

57.2 和为 S 的连续正数序列

58.1 翻转单词顺序列

58.2 左旋转字符串

59. 滑动窗口的最大值

60. n 个骰子的点数

61. 扑克牌顺子

62. 圆圈中最后剩下的数

63. 股票的最大利润

64. 求 1+2+3+…+n

65. 不用加减乘除做加法

66. 构建乘积数组

67. 把字符串转换成整数

68. 树中两个节点的最低公共祖先

(2) Leetcode 题解

对题目做了一个大致分类,并对每种题型的解题思路做了总结。

作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?LeetCode收录了许多互联网公司的算法题目,被称为刷题神器。

这个Github仓库里有丰富的LeetCode题目解题思路分析和答案源代码,题目主要包含下列内容:

算法思想

双指针

排序

快速选择

堆排序

桶排序

荷兰国旗问题

贪心思想

二分查找

分治

搜索

BFS

DFS

Backtracking

动态规划

斐波那契数列

矩阵路径

数组区间

分割整数

最长递增子序列

最长公共子序列

0-1 背包

股票交易

字符串编辑

数学

素数

最大公约数

进制转换

阶乘

字符串加法减法

相遇问题

多数投票问题

其它

数据结构相关

链表

递归

层次遍历

前中后序遍历

BST

Trie

栈和队列

哈希表

字符串

数组与矩阵

二分图

拓扑排序

并查集

位运算

(3) 其他常用算法,包括排序、并查集、栈和队列、红黑树、散列表。

一、前言

二、算法分析

数学模型

注意事项

ThreeSum

倍率实验

三、排序

选择排序

冒泡排序

插入排序

希尔排序

归并排序

快速排序

堆排序

小结

四、并查集

Quick Find

Quick Union

加权 Quick Union

路径压缩的加权 Quick Union

比较

五、栈和队列

队列

六、符号表

初级实现

二叉查找树

2-3 查找树

红黑树

散列表

小结

七、其它

汉诺塔

哈夫曼编码

参考资料

每个超链接点进去都有详细的源代码:

操作系统的知识点:

一、概述

基本特征

基本功能

系统调用

大内核和微内核

中断分类

二、进程管理

进程与线程

进程状态的切换

进程调度算法

进程同步

经典同步问题

进程通信

三、死锁

必要条件

处理方法

鸵鸟策略

死锁检测与死锁恢复

死锁预防

死锁避免

四、内存管理

虚拟内存

分页系统地址映射

页面置换算法

分段

段页式

分页与分段的比较

五、设备管理

磁盘结构

磁盘调度算法

六、链接

编译系统

静态链接

目标文件

动态链接

参考资料

请大家进入仓库后点超链接细看:

Linux作为非常重要的一种操作系统,在这个github里单独详细介绍:

一、常用操作以及概念

快捷键

求助

关机

PATH

sudo

包管理工具

发行版

VIM 三个模式

GNU

开源协议

二、磁盘

磁盘接口

磁盘的文件名

三、分区

分区表

开机检测程序

四、文件系统

分区与文件系统

组成

文件读取

磁盘碎片

block

inode

目录

日志

挂载

目录配置

五、文件

文件属性

文件与目录的基本操作

修改权限

文件默认权限

目录的权限

链接

获取文件内容

指令与文件搜索

六、压缩与打包

压缩文件名

压缩指令

打包

七、Bash

特性

变量操作

指令搜索顺序

数据流重定向

八、管道指令

提取指令

排序指令

双向输出重定向

字符转换指令

分区指令

九、正则表达式

grep

printf

awk

十、进程管理

查看进程

进程状态

SIGCHLD

wait()

waitpid()

孤儿进程

僵尸进程

计算机网络:

一、概述

网络的网络

ISP

主机之间的通信方式

电路交换与分组交换

时延

计算机网络体系结构

二、物理层

通信方式

带通调制

三、数据链路层

基本问题

信道分类

信道复用技术

CSMA/CD 协议

PPP 协议

MAC 地址

局域网

以太网

交换机

虚拟局域网

四、网络层

概述

IP 数据报格式

IP 地址编址方式

地址解析协议 ARP

网际控制报文协议 ICMP

虚拟专用网 VPN

网络地址转换 NAT

路由器的结构

路由器分组转发流程

路由选择协议

五、运输层

UDP 和 TCP 的特点

UDP 首部格式

TCP 首部格式

TCP 的三次握手

TCP 的四次挥手

TCP 可靠传输

TCP 滑动窗口

TCP 流量控制

TCP 拥塞控制

六、应用层

域名系统

文件传送协议

动态主机配置协议

远程登录协议

电子邮件协议

常用端口

Web 页面请求过程

HTTP协议:

一 、基础概念

URL

请求和响应报文

二、HTTP 方法

GET

HEAD

POST

PUT

PATCH

DELETE

OPTIONS

CONNECT

TRACE

三、HTTP 状态码

1XX 信息

2XX 成功

3XX 重定向

4XX 客户端错误

5XX 服务器错误

四、HTTP 首部

通用首部字段

请求首部字段

响应首部字段

实体首部字段

五、具体应用

连接管理

Cookie

缓存

内容协商

内容编码

范围请求

分块传输编码

多部分对象集合

虚拟主机

通信数据转发

六、HTTPs

加密

认证

完整性保护

HTTPs 的缺点

七、HTTP/2.0

HTTP/1.x 缺陷

二进制分帧层

服务端推送

首部压缩

八、HTTP/1.1 新特性

九、GET 和 POST 比较

作用

参数

安全

幂等性

可缓存

XMLHttpRequest

面向对象的设计模式

这可是BAT,TMD等互联网公司面试和笔试重点考核的知识点哦:

一、概述

二、创建型

1. 单例(Singleton)

2. 简单工厂(Simple Factory)

3. 工厂方法(Factory Method)

4. 抽象工厂(Abstract Factory)

5. 生成器(Builder)

6. 原型模式(Prototype)

三、行为型

1. 责任链(Chain Of Responsibility)

2. 命令(Command)

3. 解释器(Interpreter)

4. 迭代器(Iterator)

5. 中介者(Mediator)

6. 备忘录(Memento)

7. 观察者(Observer)

8. 状态(State)

9. 策略(Strategy)

10. 模板方法(Template Method)

11. 访问者(Visitor)

12. 空对象(Null)

四、结构型

1. 适配器(Adapter)

2. 桥接(Bridge)

3. 组合(Composite)

4. 装饰(Decorator)

5. 外观(Facade)

6. 享元(Flyweight)

7. 代理(Proxy)

数据库系统原理

应聘后台工程师的程序员们要多花点时间在数据库知识点上:

一、事务

概念

ACID

AUTOCOMMIT

二、并发一致性问题

丢失修改

读脏数据

不可重复读

幻影读

三、封锁

封锁粒度

封锁类型

封锁协议

MySQL 隐式与显示锁定

四、隔离级别

未提交读(READ UNCOMMITTED)

提交读(READ COMMITTED)

可重复读(REPEATABLE READ)

可串行化(SERIALIZABLE)

五、多版本并发控制

版本号

隐藏的列

Undo 日志

实现过程

快照读与当前读

六、Next-Key Locks

Record Locks

Gap Locks

Next-Key Locks

七、关系数据库设计理论

函数依赖

异常

范式

八、ER 图

实体的三种联系

表示出现多次的关系

联系的多向性

表示子类

Java基础

Java 基础

不会涉及很多基本语法介绍,主要是一些实现原理以及关键特性。

Java 容器

源码分析:ArrayList、Vector、CopyOnWriteArrayList、LinkedList、HashMap、ConcurrentHashMap、LinkedHashMap、WeekHashMap。

Java 并发

线程使用方式、两种互斥同步方法、线程协作、JUC、线程安全、内存模型、锁优化。

Java 虚拟机

运行时数据区域、垃圾收集、类加载。

Java I/O

NIO 的原理以及实例。

系统设计

系统设计基础

性能、伸缩性、扩展性、可用性、安全性

分布式

分布式锁、分布式事务、CAP、BASE、Paxos、Raft

集群

负载均衡、Session 管理

攻击技术

XSS、CSRF、SQL 注入、DDoS

缓存

缓存特征、缓存位置、缓存问题、数据分布、一致性哈希、LRU、CDN

消息队列

消息处理模型、使用场景、可靠性

其他工具

工具

Git

一些 Git 的使用和概念。

Docker

Docker 基本原理。

正则表达式

正则表达式基本语法。

构建工具

构建工具的基本概念、主流构建工具介绍。

编码实践

重构

参考 重构 改善既有代码的设计。

代码可读性

参考 编写可读代码的艺术。

代码风格规范

Google 开源项目的代码风格规范。

最后,这个仓库的主人叫郑永川,如果大家从该仓库受益,记得去他主页上点个赞。谢谢。

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/i042416/article/details/83056917

智能推荐

分布式光纤传感器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告_预计2026年中国分布式传感器市场规模有多大-程序员宅基地

文章浏览阅读3.2k次。本文研究全球与中国市场分布式光纤传感器的发展现状及未来发展趋势,分别从生产和消费的角度分析分布式光纤传感器的主要生产地区、主要消费地区以及主要的生产商。重点分析全球与中国市场的主要厂商产品特点、产品规格、不同规格产品的价格、产量、产值及全球和中国市场主要生产商的市场份额。主要生产商包括:FISO TechnologiesBrugg KabelSensor HighwayOmnisensAFL GlobalQinetiQ GroupLockheed MartinOSENSA Innovati_预计2026年中国分布式传感器市场规模有多大

07_08 常用组合逻辑电路结构——为IC设计的延时估计铺垫_基4布斯算法代码-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏12次。常用组合逻辑电路结构——为IC设计的延时估计铺垫学习目的:估计模块间的delay,确保写的代码的timing 综合能给到多少HZ,以满足需求!_基4布斯算法代码

OpenAI Manager助手(基于SpringBoot和Vue)_chatgpt网页版-程序员宅基地

文章浏览阅读3.3k次,点赞3次,收藏5次。OpenAI Manager助手(基于SpringBoot和Vue)_chatgpt网页版

关于美国计算机奥赛USACO,你想知道的都在这_usaco可以多次提交吗-程序员宅基地

文章浏览阅读2.2k次。USACO自1992年举办,到目前为止已经举办了27届,目的是为了帮助美国信息学国家队选拔IOI的队员,目前逐渐发展为全球热门的线上赛事,成为美国大学申请条件下,含金量相当高的官方竞赛。USACO的比赛成绩可以助力计算机专业留学,越来越多的学生进入了康奈尔,麻省理工,普林斯顿,哈佛和耶鲁等大学,这些同学的共同点是他们都参加了美国计算机科学竞赛(USACO),并且取得过非常好的成绩。适合参赛人群USACO适合国内在读学生有意向申请美国大学的或者想锻炼自己编程能力的同学,高三学生也可以参加12月的第_usaco可以多次提交吗

MySQL存储过程和自定义函数_mysql自定义函数和存储过程-程序员宅基地

文章浏览阅读394次。1.1 存储程序1.2 创建存储过程1.3 创建自定义函数1.3.1 示例1.4 自定义函数和存储过程的区别1.5 变量的使用1.6 定义条件和处理程序1.6.1 定义条件1.6.1.1 示例1.6.2 定义处理程序1.6.2.1 示例1.7 光标的使用1.7.1 声明光标1.7.2 打开光标1.7.3 使用光标1.7.4 关闭光标1.8 流程控制的使用1.8.1 IF语句1.8.2 CASE语句1.8.3 LOOP语句1.8.4 LEAVE语句1.8.5 ITERATE语句1.8.6 REPEAT语句。_mysql自定义函数和存储过程

半导体基础知识与PN结_本征半导体电流为0-程序员宅基地

文章浏览阅读188次。半导体二极管——集成电路最小组成单元。_本征半导体电流为0

随便推点

【Unity3d Shader】水面和岩浆效果_unity 岩浆shader-程序员宅基地

文章浏览阅读2.8k次,点赞3次,收藏18次。游戏水面特效实现方式太多。咱们这边介绍的是一最简单的UV动画(无顶点位移),整个mesh由4个顶点构成。实现了水面效果(左图),不动代码稍微修改下参数和贴图可以实现岩浆效果(右图)。有要思路是1,uv按时间去做正弦波移动2,在1的基础上加个凹凸图混合uv3,在1、2的基础上加个水流方向4,加上对雾效的支持,如没必要请自行删除雾效代码(把包含fog的几行代码删除)S..._unity 岩浆shader

广义线性模型——Logistic回归模型(1)_广义线性回归模型-程序员宅基地

文章浏览阅读5k次。广义线性模型是线性模型的扩展,它通过连接函数建立响应变量的数学期望值与线性组合的预测变量之间的关系。广义线性模型拟合的形式为:其中g(μY)是条件均值的函数(称为连接函数)。另外,你可放松Y为正态分布的假设,改为Y 服从指数分布族中的一种分布即可。设定好连接函数和概率分布后,便可以通过最大似然估计的多次迭代推导出各参数值。在大部分情况下,线性模型就可以通过一系列连续型或类别型预测变量来预测正态分布的响应变量的工作。但是,有时候我们要进行非正态因变量的分析,例如:(1)类别型.._广义线性回归模型

HTML+CSS大作业 环境网页设计与实现(垃圾分类) web前端开发技术 web课程设计 网页规划与设计_垃圾分类网页设计目标怎么写-程序员宅基地

文章浏览阅读69次。环境保护、 保护地球、 校园环保、垃圾分类、绿色家园、等网站的设计与制作。 总结了一些学生网页制作的经验:一般的网页需要融入以下知识点:div+css布局、浮动、定位、高级css、表格、表单及验证、js轮播图、音频 视频 Flash的应用、ul li、下拉导航栏、鼠标划过效果等知识点,网页的风格主题也很全面:如爱好、风景、校园、美食、动漫、游戏、咖啡、音乐、家乡、电影、名人、商城以及个人主页等主题,学生、新手可参考下方页面的布局和设计和HTML源码(有用点赞△) 一套A+的网_垃圾分类网页设计目标怎么写

C# .Net 发布后,把dll全部放在一个文件夹中,让软件目录更整洁_.net dll 全局目录-程序员宅基地

文章浏览阅读614次,点赞7次,收藏11次。之前找到一个修改 exe 中 DLL地址 的方法, 不太好使,虽然能正确启动, 但无法改变 exe 的工作目录,这就影响了.Net 中很多获取 exe 执行目录来拼接的地址 ( 相对路径 ),比如 wwwroot 和 代码中相对目录还有一些复制到目录的普通文件 等等,它们的地址都会指向原来 exe 的目录, 而不是自定义的 “lib” 目录,根本原因就是没有修改 exe 的工作目录这次来搞一个启动程序,把 .net 的所有东西都放在一个文件夹,在文件夹同级的目录制作一个 exe._.net dll 全局目录

BRIEF特征点描述算法_breif description calculation 特征点-程序员宅基地

文章浏览阅读1.5k次。本文为转载,原博客地址:http://blog.csdn.net/hujingshuang/article/details/46910259简介 BRIEF是2010年的一篇名为《BRIEF:Binary Robust Independent Elementary Features》的文章中提出,BRIEF是对已检测到的特征点进行描述,它是一种二进制编码的描述子,摈弃了利用区域灰度..._breif description calculation 特征点

房屋租赁管理系统的设计和实现,SpringBoot计算机毕业设计论文_基于spring boot的房屋租赁系统论文-程序员宅基地

文章浏览阅读4.1k次,点赞21次,收藏79次。本文是《基于SpringBoot的房屋租赁管理系统》的配套原创说明文档,可以给应届毕业生提供格式撰写参考,也可以给开发类似系统的朋友们提供功能业务设计思路。_基于spring boot的房屋租赁系统论文