TCP 的三次握手和四次挥手
TCP 创建过程和链接折除过程是由 TCP/IP 协议栈自动创建的,对于理解 TCP 底层运作机制,相当有帮助。
怎么才能写出无 Bug 的代码
想必每一个码农都有一个追求,那就是很轻松地写出没有 Bug 的代码。
Python常用魔法函数
这篇博客整理了一下常用的 Python 魔法函数
Python中进制转换与位操作
Python实现二叉树重建
通常树有如下几种遍历方式:
- 前序遍历:先访问根结点,再访问左子结点,最后访问右子结点。
- 中序遍历:先访问左子结点,再访问根结点,最后访问右子结点。
- 后序遍历:先访问左子结点,再访问右子结点,最后访问根结点。
- 层序遍历:即广度优先遍历,先访问一级节点,后是二级节点…
Python实现二叉树及其遍历
Mac 终端 PS1 变量配置
默认的终端提示符像这样zhangsan@zhangsandeMacBook-Pro ~$,又长又俗,丑到爆,所以我们有必要配置一下终端的命令提示符,顿时就会感觉清爽了很多!
先来看一下效果图
Python散列表
散列表
散列表是一种数据的集合,其中的每个数据都通过某种特定的方式进行存储以方面日后的查找。基于它的搜索算法的时间复杂度为O(1)。散列表的每一个位置叫做槽,能够存放一个数据项,并以从0开始递增的整数命名。例如, 第一个槽记为0,下一个记为1,再下一个记为2,并以此类推。在初始条件下,散列表中是没有任何数据的,即每个槽都是空的。某个数据项与在散列表中存储它的槽之间的映射叫做散列函数。一般地,我们把槽被占据的比例叫做负载因子,两个甚至多个数据需要存储在同一个槽中,这种情况被称为冲突。