摘要: 判断一个二叉树是否左右对称(递归)很简单但是下笔太慢了 func Minlist(r1 *TreeNode,r2 *TreeNode) bool{ if r1 == nil && r2 == nil{ return true } if (r1 == nil && r2 != nil)||(r2 == 阅读全文
posted @ 2021-03-12 14:57 爱晒太阳的懒猫。。 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 二叉搜索树的特点 二叉搜索树的构建 验证二叉搜索树:中序遍历为一个有序数组98,501,530,700 二叉搜索树的增加/删除701 增加节点: func gender (root *TreeNode)*TreeNode{ if root == nil{ root = new(TreeNode) r 阅读全文
posted @ 2021-03-12 14:42 爱晒太阳的懒猫。。 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 可靠传输:能够有序的都到达接受方 TCP使用滑动窗口 学习三个机制:超时重传/快速重传/选择确认/累计确认 先了解背景 超时重传很简单 超时重传的时间设置是个难点:简单来说时依据多个往返时间确认平均往返时间,超时重传设置比平均往返时间要长一点,记住超时时间时动态设置不断变化的 以后有必要的时候来了解 阅读全文
posted @ 2021-03-08 16:27 爱晒太阳的懒猫。。 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 学习拥塞控制最重要的就是理解慢启动与拥塞避免 学习慢启动,拥塞避免机制/快速恢复机制 1.怎么判断发生了网络拥塞? 拥塞时,路由器的队列排满了,来的分组都会丢失,判断依据分组丢失 判断分组丢失:1.当超时重传启动,2.快速重传机制启动(多次确认) 快速重传说明接收方还能接受到其他的,网络拥塞还不算太 阅读全文
posted @ 2021-03-08 15:26 爱晒太阳的懒猫。。 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 最小花费爬楼梯 数组的每个下标作为一个阶梯,第 i 个阶梯对应着一个非负数的体力花费值 cost[i](下标从 0 开始)。每当你爬上一个阶梯你都要花费对应的体力值,一旦支付了相应的体力值,你就可以选择向上爬一个阶梯或者爬两个阶梯。请你找出达到楼层顶部的最低花费。在开始时,你可以选择从下标为 0 或 阅读全文
posted @ 2021-03-07 17:27 爱晒太阳的懒猫。。 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 早期的计算机内存使用: 直接使用物理地址,如果多个程序都放入内存中会引发很多问题: 1.进程之间地址不隔离,容易互相修改,引发安全问题 2. 内存效率太低,因为进程是随机分配地址,所以零散的空间不能合并起来利用 3.程序运行地址不确定 分段 为了解决地址隔离以及地址不确定的问题 分段 中间层,也就是 阅读全文
posted @ 2021-03-07 16:55 爱晒太阳的懒猫。。 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 首先得了解协程与系统线程的对比: 1.系统线程再切换时开销太大,再内核态 2.线程创建,内存会开辟一个栈,这个栈会大很多,而且初始化之后就不能变化,而协程的栈可自动伸缩 grouptine属于两级线程调度模型:既有内核态也有用户态 grouptine是基于系统线程基础实现的多对多的关系,一个系统线程 阅读全文
posted @ 2021-03-07 16:04 爱晒太阳的懒猫。。 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 1.Mutex 2.channel 3.WaitGroup 1.使用锁的方式 1 package main 2 3 import ( 4 "fmt" 5 "sync" 6 "time" 7 ) 8 9 var share_cnt uint64 = 0 10 11 var lck sync.Mutex 阅读全文
posted @ 2021-03-06 23:27 爱晒太阳的懒猫。。 阅读(360) 评论(0) 推荐(0) 编辑
摘要: pipe管道(亲族),FIFO管道(不相干的进程) 管道是用于进程之间通信的方式,管道在操作系统中就是文件 发送进程会把管道给写满,之后接受进程才会接受 等管道空了,之后发送进程才能够再次发送数据 管道属于半双工通信:可以双向,但是某一时刻只能单向传输 管道是缓冲区且开在内核区? fork()会调用 阅读全文
posted @ 2021-03-06 20:00 爱晒太阳的懒猫。。 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 1.ACDI的特性,脏读,不可重复读,幻读 1.原子性,一致性(),隔离性(不同用户的事务之间当然要隔离),持久性(数据的修改是永久性,不能丢失) 2.脏读:事务A读取了事务B只修改未提交的数据,不可重复读:事务A多次查询,此时事务B修改了数据库,导致A数据变化,幻读:不可重复读的修改变成了增加数据 阅读全文
posted @ 2021-03-02 23:50 爱晒太阳的懒猫。。 阅读(43) 评论(0) 推荐(0) 编辑