自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 理解GRPC,实现简易RPC框架

在这学期即将结束之际,我想向**中科大的孟宁老师**表达我对您的敬意和感激之情。您的《网络程序设计》课程是我研究生阶段最喜欢的一门课程,也是我最受益匪浅的一门课程。您的课堂风格生动有趣,您用幽默的语言和形象的比喻,让我们轻松地理解了网络体系结构的原理和演变,以及互联网架构设计的方法和技巧。您不仅教给我们知识,更教给我们思维,让我们能够从庖丁解牛的角度,把握网络编程的重点和难点,掌握网络通信协议的精髓和细节。

2023-12-31 13:40:27 920

原创 Golang--string类型底层原理

Go语言不同于C语言在字符串末尾加\0,Go语言在字符串末尾加一个字节数:代表字符串包含多少字节。(因为字符串变量共享底层字符串内容,如果允许修改,影响不可预测)UTF-8编码:使用Unicode字符集 + 变长编码。Go语言会把直接赋值的字符串放到只读内存。

2023-12-28 22:49:19 377

原创 C++ 左值引用、右值引用、智能指针实例分析

当创建一个局部对象(例如在函数内部创建的对象)时,这个对象会在栈上分配内存。当离开创建该对象的作用域时,该对象会自动被销毁,占用的内存也会被自动回收。不需要(也不能)手动释放这个对象。当使用右值引用时,通常是在处理这种局部对象。例如,当从函数返回一个对象时,这个对象实际上是一个临时对象,它在函数返回后就会被销毁。但是,如果你使用右值引用,你可以将这个临时对象的所有权移动到另一个对象,从而避免了复制这个对象。因为这个对象是在栈上分配的,所以当它不再需要时,它会自动被销毁,不需要手动释放它。

2023-11-24 14:51:37 860

原创 Mit 6.824 lab2、lab3 设计框架和正确性分析

而一致性检查要求当前index之前的日志都=Leader的日志,所以两个节点index之前的日志也一定相同,都等于term下的Leader在index之前的日志。若Leader崩溃后又重连,或者落后的Candidate,由于需要多数当选,需要这条判定让过期的Leader和多余的Candidate为新的Candidate投票,的,当愈合后,多数分区的节点不会给少数分区的节点投票(少数分区的日志更旧),所以只有多数分区的节点才有可能获得超过半数的投票。相同的初始状态+相同的输入=相同的结束状态。

2023-11-20 23:02:02 108

原创 手推Liang_Barsky算法

2021-12-11 00:04:43 297

原创 手推Bresenham算法

2021-12-10 23:28:50 2002

原创 Liang-Barsky 裁剪算法

算法原理:分别计算原直线与四条边框延长线的四个交点,在中间的两个交点即为裁剪完成的两个点。p1-p2黑色直线为原直线;红色矩形为裁剪边框;绿色线为裁剪边框的延长线;紫色为原直线的延长线;ABCD分别为原直线与四条边框的延长线的交点;以求B点为例:B点横坐标已知,若求出BF的长度,则可以用p1坐标表示B点坐标;BF可用黄色三角形和小三角形 相似三角形求解;求出系数u,即可求出点坐标。#include<GL/glut.h>#include<math.h>#i

2021-10-08 17:58:36 1553

原创 跨网络发送的分步解析

** a------sw---------ROUTER---------c发送跨子网包 源ip:a_ip 目的ip: c_ip1、根据a的子网掩码计算a和c的子网,发现不同;2、应当发给默认网关,查arp表,表空,没法封装;3、发送一个arp包,送sw 源mac:a_mac 目的mac:FFFF源ip :a_ip 目的ip:默认网关_ip4、sw接收到arp包,学习到a的mac地址和端口号,更新自己的cam表;sw发现自己的cam表里面没有目的地址

2021-06-06 21:25:12 196

原创 关于子网掩码的理解

首先要说明的是:不是某个IP的网络号和主机号决定子网掩码是什么,而是子网掩码决定了某个IP地址的网络号与主机号是什么,IP地址是要搭配子网掩码使用的。 先举个例子,市面上的两个厂家都生产电子秤,每个厂家都坚称他们的秤最准,那你是怎么知道他们的秤到底准不准? 很简单,你去找一个 1KG 的国际千克原器,各放到他们的秤上测量,如果秤的测量值是1KG,那这把秤就是准的,子网掩码的作用就相当于这个大家公认的国际千克原器,是我们测量两个IP是否属于同一个网段的一个工具(应该说是让你知道某个IP地...

2021-06-03 19:36:21 229 1

原创 图中最短路径的三种求法

//Floyd算法傻子也能看懂的弗洛伊德算法//dijkstra算法基本事实:由于小根堆的存在,每次到达某顶点x时,dis[x]一定是最小的值,也就是此时x一定在从起点s—x的最短路径上;此处的到达指的是出队时的x,而遍历邻接顶点得到的dis[v[i]]暂时还不一定是最小,后续还可能会对它更新;求最短路径即为对于当前路径长度的单调递增;每次都到达的点一定是比之前距离刚刚增加一点点的那个点,所以随着我们不断维护这个距离的单调递增,一旦找到了终点,最短距离就找到了。变形:此时到达的x一定

2021-04-14 21:08:50 2149

转载 计算机网络数据链路层作业

3、一个数据流中出现了这样的数据段:A B ESC C ESC FALG FLAG D,假设采用本章介绍的字节填充法,试问填充之后的输出是什么?答:A B ESC ESC C ESC ESC ESC FLAG ESC FLAG D8、为了提供比单个奇偶位的可靠性,一种检错编码方案如下:用一个奇偶位来检查所有奇数序号的位,用另一个奇偶位来检查所有偶数序号的位。试问这种编码方案的海明距离是多少?答:如同单个奇偶位,任何一位的错误将导致一个奇偶位校检码出错,所以海明距离为2。22、使用协议5在一条3000

2021-04-13 12:21:48 1725

原创 2020-9-t1(最小堆的实现)

问题描述某市设有 个核酸检测点,编号从 到 ,其中 号检测点的位置可以表示为一个平面整数坐标。为方便预约核酸检测,请根据市民所在位置 ,查询距其最近的三个检测点。多个检测点距离相同时,编号较小的视为更近。输入格式输入共 行。第一行包含用空格分隔的三个整数 、 和 ,表示检测点总数和市民所在位置。第二行到第 行依次输入 个检测点的坐标。第 行()包含用空格分隔的两个整数和,表示 号检测点所在位置。输出格式输出共三行,按距离从近到远,依次输出距离该市民最近的三个检测点编号。

2021-04-06 21:56:39 89

转载 lower_bound和upper_bound的常见用法

lower_bound( )和upper_bound( )都是利用二分查找的方法在一个排好序的数组中进行查找的。在从小到大的排序数组中,lower_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于或等于num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。upper_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于num的数字,找到

2021-03-24 20:09:44 346

原创 动态规划和DFS回溯算法的应用方向

动态规划一般提问的形式是:最优解是多少,是否可以,有多少种具体的方案。不涉及具体解。所以如果一个题目问:请你列出解决这个问题的所有解,很多时候是用回溯算法,回溯算法是一种基于深度优先遍历的方法,思想依然是遍历得到所有的解。回溯算法的复杂度很高。动态规划和回溯算法的相同点是:解决一个问题有多个步骤,每一个步骤有多种选择。问最优解是多少,用动态规划,也可以用回溯算法,但是复杂度很高,很多时候会超时。问全部具体解,用回溯算法。用动态规划解决的问题一般需要满足最优子结构、重复子问题、无后效性。最优子结构和无

2021-03-13 22:13:44 154

原创 stoi、reverse、to_string函数的用法

**stoi**用法stoi(字符串,起始位置,n进制(默认10进制)),将 n 进制的字符串转化为十进制举例:stoi(str, 0, 2); //将字符串 str 从 0 位置之后的数字的 2 进制数,转换为十进制**力扣第7题int reverse(int x) { string s = to_string(abs(x)); reverse(s.begin(), s.end()); long long ans = 0; int n = s.length(); for (in

2021-03-13 19:48:28 362

原创 最长递增子序列

最长递增子序列问题给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。示例 1:输入:nums = [10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。方法一:动态规划思路与算法f[i]=max (f[j]+1) ...

2021-03-07 18:57:02 51

原创 虚拟存储器的访存过程

①访问虚地址读取虚页号 → 访问基址寄存器读取页表起始地址 → 拼接起始地址和虚页号得到页表地址 → 依据页表地址访问对应的页表项 → 根据装入位判断是否命中②命中 → 对应的实页号 + 页内地址 = 实地址 → 执行Cache的映射操作③未命中 → 利用 I/O 系统将页调入主存 → 执行第②步•Cache未命中,与TLB、Page是否命中无关•Cache命中,Page必然命中,TLB不一定命中•TLB命中,Page必然命中•Page命中,TLB不一定命中•Page不命中,Cache不命中

2020-12-27 21:54:48 1167

数字逻辑实验报告模板.docx

数字逻辑实验报告模板.docx

2021-04-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除