自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 进程间通信

进程间通信的方式有管道、命名管道、信号、消息队列、共享内存、信号量、socket共7种。 一、管道(使用最简单) int pipe(fd[2]); fd[0]->r, fd[1]->r 1.管道是半双工的,双方需要通信时,需要建立两个管道。 2.管道的实质是一个内核缓冲区,进程以先进先出的方式从缓冲区存取数据。 3.该内核缓冲区可以看做是一个循环队列。缓冲区里的数据只能被读一次,读过之后就不复存在。 4.当管道为空时,读阻塞,当管道为满时,写阻塞。 5.只能用于有血缘关系的进程间通信。 二、有名

2020-08-28 16:52:51 115

原创 一个案例深入理解复制构造函数和赋值运算符重载函数的调用时机

一.复制构造函数 1.用于将一个对象复制到新创建的对象中,注意初始化一词。也就是说,它用于初始化过程中,而不是常规的赋值中。 2.每当程序生成了对象副本时,编译器都将使用复制构造函数。具体的说,当函数按值传递对象或函数返回对象时,都将调用复制构造函数。 一个案例,源自《C++ Primer Plus》第12章课后习题的第2题。 当实例中打印copy时说明调用了复制构造函数,打印‘=’时说明调用了赋值运算符重载函数。 #include <iostream> using namespace std;

2020-07-21 16:03:50 218

原创 二叉搜索树

二叉搜索树中最复杂的操作:删除一个节点 1.删除二叉搜索树中的最小节点:一直向左子树遍历,直到遍历到某个节点的左子树为空时,说明该节点就是整个二叉搜索树的最小节点。如果该节点还有右子树,直接把右子树放到应被删除的节点上就可以了。 2.删除二叉搜索树中的最大节点:一直向右子树遍历,直到遍历到某个节点的右子树为空时,说明该节点就是整个二叉搜索树的最大节点。如果该节点还有左子树,直接把左子树放到应被删除的节点上就可以了。 3.如果要删除的节点只有一个孩子,或左子树或右子树,那么操作都是简单的,和上面类似。 4.删

2020-07-18 20:59:24 121

原创 关于堆

实现一个最大堆数据结构 template<typename Item> class MaxHeap { private: Item* data; int count; int capacity; void shiftUp(int k) { while (k > 1 && data[k / 2] < data[k]) { swap(data[k / 2], data[k]); k /= 2; } } void shiftDown(i

2020-07-18 13:56:46 100

原创 各种排序算法的总结

总结各种常见的排序算法,参考leetcode912题 一、简单排序算法 1.选择排序 任何情况下都要遍历n²次,效率低下。 vector<int> sortArray(vector<int>& nums) { //选择排序 selectionSort(nums,nums.size()); return nums; } void selectionSort(vector<int>& nums,

2020-07-17 22:51:42 191

原创 计网知识点总结(应用层)

学习总结,参考《TCP/IP详解:卷一》和乾颐堂明教教主计网课程。 应用层 问题 0:DNS 的概念,用途,DNS 查询的实现算法  概念 o 域名解析,www.xxx.com 转换成 ip,能够使用户更方便的访问互联网,而不 用去记住能够被机器直接读取的 ip 地址 o DNS 协议运行在 UDP 协议之上,使用端口号 53  主机解析域名的顺序 o 浏览器缓存 o 找本机的 hosts 文件 o 路由缓存 o 找 DNS 服务器(本地域名、顶级域名、根域名)  迭代查询、递归查询 问题 1:ht

2020-07-14 18:52:09 245

原创 计网知识点总结(传输层)

学习总结,参考《TCP/IP详解:卷一》和乾颐堂明教教主计网课程。 传输层 UDP 协议 问题 1:UDP 和 TCP 的简单介绍。 UDP 是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个 UDP 数 据报,并组装成一份待发送的 IP 数据报。 TCP 是面向流字符,应用程序产生的全体数据与真正发送的单个 IP 数据报可能没什么联系。 问题 2:UDP 报头字段和含义? 源端口号(2) 目地端口号(2) UDP 长度:是 UDP 的报文总长度,是多于的。 IP 总长度减去首部长度就是

2020-07-13 22:35:38 335

原创 计网知识点总结(网络层)

学习总结,参考《TCP/IP详解:卷一》和乾颐堂明教教主计网课程。 网络层 IP 协议 问题 1:如何理解 IP 的不可靠和无连接。 不可靠:指的是不能保证数据报能成功地到达目的地。 发生错误时候,丢弃该数据包,发送 ICMP 消息给信源端。 可靠性由上层提供。 无连接:IP 不维护关于后续数据报的状态信息。 体现在,IP 数据可以不按顺序发送和接收。A 发送连续的数据报,到达 B 不一定是连续的, 来回路由选择可能不一样,路线也不一样,到达先后顺序也不一样。 问题 2:IP 报文的格式和各个字段的含义。

2020-07-12 22:27:08 533

原创 计网知识点总结(分层和数据链路层)

学习总结,参考《TCP/IP详解:卷一》和乾颐堂明教教主计网课程。 分层的概念 问题 1:OSI 有哪几层,会画出来,知道主要几层的各自作用 应用层(数据):确定进程之间通信的性质以满足用户需要以及提供网络与用户应用 表示层(数据):主要解决拥护信息的语法表示问题,如加密解密 会话层(数据):提供包括访问验证和会话管理在内的建立和维护应用之间通信的机 制,如服务器验证用户登录便是由会话层完成的 传输层(段):实现网络不同主机上用户进程之间的数据通信,可靠 与不可靠的传输,传输层的错误检测,流量控制等 网络

2020-07-12 11:26:48 702

空空如也

空空如也

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

TA关注的人

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