- 博客(80)
- 收藏
- 关注
原创 数据结构——链表题目
文章目录JZ25 合并两个排序的链表NC22 合并两个有序的数组NC3 链表中环的入口节点JZ25 合并两个排序的链表链接 简单题题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。输入:{1,3,5},{2,4,6}返回值:{1,2,3,4,5,6}解题思路有递归和非递归两种思路思路一:递归/*struct ListNode { int val; struct ListNode *next; ListNode(int.
2023-12-05 13:53:39
101
原创 第六章 应用层
目录第六章 应用层DHCP协议1.概述2.DHCP的作用3.DHCP中继代理DNS电子邮件HTTP协议在浏览器中输入url回车之后会发生什么http概述http连接方式1.非持久连接:close2.持久连接:keep-Alivehttp报文格式1.请求报文2.响应报文在服务器上存放用户的信息——Cookie代理服务器HTTP与HTTPS的区别第六章 应用层DHCP协议1.概述我们都知道,如果给主机人工配置信息可能会导致错误并且十分麻烦,我们可以将这个工作交给一个软件来做。如果我们想要获取IP地址等信
2021-12-29 20:45:17
47
原创 计算机网络
文章目录第一章 概述1.网络,互联网,因特网,ISP,RPC2.交换方式3.计算机网络分类4.计算机网络的性能5.计算机网络体系结构6.计算机各层的主要工作7.一些题目第二章 物理层1.基本概念2.数据通信原理第三章 数据链路层1.基本概念2.解决的三个问题(1)封装成帧 :(2)差错校验(3)可靠传输3.可靠传输的实现协议(1)停止等待协议(2)回退N帧协议(3)选择重传协议4.点对点协议PPP5.媒体接入控制6.关于局域网和以太网✔7.MAC地址8.ARP地址解析协议9.集线器和交换机10.以太网交换机
2021-12-29 20:41:45
40
原创 第五章 运输层
目录第五章 运输层1.什么是端口?2.分用和复用3.TCP粘包及解决方案4.假如TCP客户端发生故障怎么办?5.两次握手可以吗?6.TIME_WAIT的意义TCP概述TCP报文结构TCP连接的建立与释放三次握手1.三次握手的过程2.TCP连接三次握手可以是两次吗?3.三次握手的抓包发送数据的抓包四次挥手1.四次挥手的过程2. 为什么客户端最后还要等待2MSL?3.四次挥手的抓包状态转移图三次握手期间可能会收到什么样的攻击?SYN洪泛攻击TCP可靠性传输应答确认超时重传快速重传乱序重排流量控制TCP拥塞控制拥
2021-12-28 19:29:41
58
原创 第四章 网络层
目录第四章 网络层1.网络层的概述2.网络层提供的两种服务(1)面向连接的虚电路服务(2) 无连接的数据报服务两者的比较如下:3.IPv4地址编址方法(1) 分类的IPv4地址(2)划分子网的IPv4地址(3)无分类编址CIDR的IPv4地址(构造超网)4.IPv4地址的应用规划(1) 使用定长的子网掩码(2) 使用非定长的子网掩码(3)小结5.IP数据报的发送与转发过程6.静态路由配置(1)概念(2)默认路由条目7.静态路由配置产生的错误情况(1) 配置错误(2)聚合不存在的网络(3)网络故障8.路由选择
2021-12-28 19:28:12
49
原创 第三章 数据链路层
目录第三章 数据链路层1.基本概念2.解决的三个问题(1)封装成帧 :(2)差错校验(3)可靠传输3.可靠传输的实现协议(1)停止等待协议(2)回退N帧协议(3)选择重传协议4.点对点协议PPP5.媒体接入控制6.关于局域网和以太网✔7.MAC地址8.ARP地址解析协议9.集线器和交换机10.以太网交换机的自学习11.为什么主机上有ARP高速缓存表,交换机上还需要帧交换表?里面都是MAC地址。12.为什么使用VLAN?13.VLAN的实现机制第三章 数据链路层1.基本概念主要作用就是把网络层发送的
2021-12-28 19:26:02
38
原创 第二章 物理层
第二章 物理层第二章 物理层1.基本概念2.数据通信原理第二章 物理层1.基本概念 作用物理层主要解决的就是使用何种信号来传输比特流的问题。我们知道,现在各种传输介质,他们都有不同的传输比特流的方法,物理层做的就是选择使用哪一种,从而为数据链路层提供透明的服务。也就是数据链路层不用关心使用何种信号进行传输。 任务物理层的主要任务就是确定传输媒体接口的一些特性机械特性:接线器的形状,尺寸。电气特性:电压范围功能特性过程特性2.数据通信原理 数据通信系统数据通信系统
2021-12-28 19:23:53
88
原创 第一章 概述
第一章 概述第一章 概述1.网络,互联网,因特网,ISP,RPC2.交换方式3.计算机网络分类4.计算机网络的性能5.计算机网络体系结构6.计算机各层的主要工作7.一些题目第一章 概述1.网络,互联网,因特网,ISP,RPC网络:由不同的结点和链路组成。互联网:不同的网络组成一个更大的网络,也就是网络的网络。因特网:全球最大的一个互联网,Internet。ISP:Internet service provider(因特网服务提供商,国内就是移动电信联通三大运营商)RFC:Request Fo
2021-12-28 19:19:20
75
原创 ubuntu20.04 如何生成core文件
目录1. 查看是否打开了coredump2.设置core文件存储路径在网上找到一些答案,总结如下:1. 查看是否打开了coredumpulimit -c //未设置之前0可以使用下面命令修改ulimit -c 1024ulimit -c unlimited //大小不受限但是这个只是针对当前这个连接,如果想要永久修改可以修改配置文件:vim /etc/profile,然后添加上面的命令ulimit - c unlimited.然后执行source /etc/profile或者
2021-12-13 16:48:31
8806
5
原创 高性能服务器程序框架
目录阻塞IO和非阻塞IO同步IO和异步IOreactor模型proactor模型服务器主要有以下模块阻塞IO和非阻塞IO阻塞和非阻塞可以应用于所有的文件描述符,而不仅仅是socket,阻塞的文件描述符称为阻塞IO,非阻塞的文件描述符称为非阻塞IO。阻塞IO:阻塞IO执行的系统调用可能因为没有执行完成而被操作系统挂起,直到等待的事件发生为止。只有得到返回值才会继续向下执行,否则将一直阻塞。比如read函数,如果接收缓冲区为空(读事件未发生),将一直阻塞。非阻塞IO:针对非阻塞IO的系统调用总是立即
2021-12-07 17:13:00
27
原创 在vscode刷LeetCode的题的配置过程
配置过程1.下载nodejs2.扩展商店安装LeetCode3.配置4.重启vscode1.下载nodejs2.扩展商店安装LeetCode3.配置4.重启vscode重启vscode并且登录LeetCode。
2021-12-04 15:14:36
120
原创 操作系统第三章——物理内存管理
目录1.计算机体系结构2.内存分层体系内存分层体系内存管理目标内存管理方法3.地址空间4.连续内存分配内存碎片问题分区的动态分配碎片整理方法第三章的主要内容是 : 操作系统的物理内存管理1.计算机体系结构CPU内存I/O2.内存分层体系内存分层体系运行内存(主存) / 磁盘(虚拟内存). 主存是在运行程序时所需要保存的数据空间,而磁盘是用于持久化数据保存的数据空间.CPU可以访问的内存包括两大类 : 寄存器 / cache(L1缓存 / L2缓存)层次微处理器(CPU访问)|
2021-10-12 22:56:57
28
原创 操作系统第一、二 章
目录操作系统的启动操作系统与设备和程序的交互操作系统的启动DISK:存放osBIOS:基本的IO处理系统BootLoader:加载os最初,os是存放在Disk中的;BIOS(basic io system)是用来检测各种外设(如屏幕,键盘等)的装置。Bootloader是用来加载os中的,使os从硬盘加载到内存,使CPU可以执行操作系统。BIOS功能:自检(通电之后检查各种设备是否可以正常运行,包括显卡等设备)、将BootLoader加载到内存。BootLoader一般放在硬盘的第一个扇
2021-10-12 10:08:55
34
原创 Git的简单使用
目录1.git的常用操作2.git的基本概念2.1git分区(四个工作区)2.2工作流程2.3文件的四种状态git命令1.创建一个目录2.初始化仓库3.git add filename4. git commit -m '版本描述信息'5.git status 查看仓库状态6.git log 查看提交的历史记录7.git reflog 查看对仓库的操作日志8.git reset --hard HEAD^ 回退版本1.git的常用操作1.安装 sudo apt install git2.查看Git的版本
2021-10-05 17:08:02
369
原创 如何提升对github的访问速度
目录大纲找到github的ip地址修改本地配置文件刷新本地dns缓存参考找到github的ip地址进入这个网站 https://www.ipaddress.com/;进入下面三个页面分别查询ip地址 每个电脑都不一样啊修改本地配置文件进入 C:\Windows\System32\drivers\etc\host刷新本地dns缓存win + R cmd打开命令行程序输入ipconfig/flushdns显示已经成功刷新DNS解析缓存参考参考...
2021-09-18 15:33:53
28
原创 MySQL索引
文章目录索引不同数据结构的磁盘io次数索引详解hash索引的缺点1.为什么InnoDB使用B+树来实现索引而不用B树?2.InnoDB为什么不用hash索引?3.聚簇索引和非聚簇索引4.联合索引的最左匹配原则索引不同数据结构的磁盘io次数索引详解hash索引的缺点1.为什么InnoDB使用B+树来实现索引而不用B树?用 B+ 树不用 B 树考虑的是① IO 对性能的影响,B 树的每个节点都存储数据,而 B+ 树只有叶子节点才存储数据,所以查找相同数据量的情况下,B 树的高度更高,IO 更频.
2021-09-08 16:03:52
102
原创 二叉树刷题
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录NC15二叉树的层序遍历NC15二叉树的层序遍历链接class Solution {public: vector<vector<int> > levelOrder(TreeNode* root) { TreeNode* ptr = root; vector<vector<int>> ans; if(ptr == null
2021-08-27 22:27:28
27
原创 丑数及其相关的题目
文章目录什么是丑数JZ49 丑数(mid)什么是丑数丑数丑数 就是只包含质因数 2、3 或 5 的正整数。把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但7、14不是,因为它们包含质因子7。习惯上我们把1当做是第一个丑数。前20个丑数为:1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, 18, 20, 24, 25, 27, 30, 32, 36。class Solution {public: bool is.
2021-08-13 22:14:44
297
原创 数据结构——数组题目
文章目录LeetCode448 找到所有数组中消失的数字LeetCode48 旋转图像LeetCode769 最多能完成排序的块LeetCode448 找到所有数组中消失的数字链接题目表述标记法:解法思路因为是[1,n]范围内找没有出现的数,因为给定的数组中有n个数,那么我们可以知道在nums中的数可定有重复的所以,我们将nums中的数所对应的位置的数变成负数,重复的数据这样处理(如果已经为负数,我们就不做处理)这样之后,我们就可以知道正数得位置就是数组中所缺少的数。代码展示c.
2021-08-13 18:27:13
213
原创 双指针法及题目
文章目录LeetCode15 三数之和LeetCode15 三数之和笔者就在这里着重说一下自己对于双指针这块的核心代码的理解://这是双指针的写法while(head<tail){ if(sum<0) head++; if(sum>0) tail--; if(sum==0) //...}//这是普通写法for(int i=0;i<m;i++) for(int j=0;j<n;j+.
2021-08-13 16:01:09
100
原创 数据库语言——TCL语言
文章目录事务事务一、含义事务:一条或多条sql语句组成一个执行单位,一组sql语句要么都执行要么都不执行二、特点(ACID)A 原子性:一个事务是不可再分割的整体,要么都执行要么都不执行C 一致性:一个事务可以使数据从一个一致状态切换到另外一个一致的状态I 隔离性:一个事务不受其他事务的干扰,多个事务互相隔离的D 持久性:一个事务一旦提交了,则永久的持久化到本地三、事务的使用步骤 ★了解:隐式(自动)事务:没有明显的开启和结束,本身就是一条事务可以自动提交,比如insert、upd.
2021-07-26 23:46:47
320
原创 数据库定义语言——DDL语言
文章目录库的管理1.创建库2.修改库3.删除库表的管理一、创建表 ★二、修改表三、删除表四、复制表库的管理1.创建库create database 【if not exists】 库名【 character set 字符集名】;2.修改库很少使用alter database 库名 character set 字符集名;3.删除库drop database 【if exists】 库名;表的管理一、创建表 ★create table 【if not exists】 表名( 字.
2021-07-20 23:39:53
306
原创 数据库操作语言——DML语言
文章目录一、插入语句 -- insert1. 语法一(经典)2. 语法二3.两种方式的比较二、修改语句 -- update1. 修改单表记录2.修改多表记录三、删除语句 -- delete1.语法一一、插入语句 – insert1. 语法一(经典)insert into 表名(列名,...)values(值1,...)示例:INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)VALUE(13,'yangmi',.
2021-07-18 17:14:09
173
原创 数据库查询语言——DQL语言
文章目录1.基础查询2.条件查询3.排序查询1.基础查询 select 要查询的内容 【from 表名】1、查询单个字段 select 字段名 from 表名;2、查询多个字段 select 字段名,字段名 from 表名;3、查询所有字段 select * from 表名4、查询常量 select 常量值;注意:字符型和日期型的常量值必须用单引号引起来,数值型不需要5、查询函数 select 函数名(实参列表);6、查询表达式 select 100/1234;7.
2021-07-12 22:32:35
210
原创 MySQL的基本使用
文章目录常用工具mysql常用命令常用工具登录命令:mysql -u user -p passward其实我们运行的是mysql命令行工具,因为MySQL是一个客户机-服务器的数据库管理软件,因此为了使用MySQL,必须要有一个客户机。MySQL工具有好多种,下面这种是mysql命令行工具:MySQL还有其他的工具,可以进行图形化处理。mysql命令行工具使用注意点:命令输入在mysql>之后;命令使用 ; 或 \g 结束,也就是仅仅按enter键不执行命令;使用qu.
2021-07-06 13:23:23
111
转载 Linux高性能服务器程序框架(2)
点击查看:高性能服务器程序框架(1) 四、两种高效的事件处理模式 服务器程序通常需要处理三类事件:I/O事件、信号、定时事件。 同步I/O模型通常用于实现Reactor模式。 异步I/O模型则用于实现Proactor模式。 1. Reactor模式: Reactor是这样一种模式, 它要求主线程(I/O 处理单元) 只负责监听文件描述上是否有事件发生,有的话就立即将该事件通知工作线程(逻辑单元)。 除此之外,主线程不做任何...
2021-07-03 20:19:47
150
转载 Linux高性能服务器程序框架(1)
首先,按照服务器程序的一般原理,将服务器解构为如下三个主要模块: I/O处理单元——介绍I/O处理单元的四种I/O模型和两种高效事件处理模式。逻辑单元——介绍两种高效并发模式,以及高效的逻辑处理方式(有限状态机)。存储单元——不做讨论。 一、 服务器模型 1. C/S模型: TCP/IP协议在设计和实现上并没有客户端和服务器的概念,在通信过程中所有机器都是对等的。但由于资源(视频、新闻、软件等)都被数据提供者所垄断,所以几乎所有的...
2021-07-03 19:01:51
283
原创 同步IO、异步IO、阻塞IO、非阻塞IO之间的联系与区别
文章目录POSIXIO模型阻塞IO模型非阻塞IO模型IO复用模型信号驱动IO模型总结POSIXPOSIX(可移植操作系统接口)把同步IO操作定义为导致进程阻塞直到IO完成的操作,反之则是异步IO按POSIX的描述似乎把同步和阻塞划等号,异步和非阻塞划等号,但是为什么有的人说同步IO不等于阻塞IO呢?先来说说几种常见的IO模型吧。IO模型这里统一使用Linux下的系统调用recv作为例子,它用于从套接字上接收一个消息,因为是一个系统调用,所以调用时会从用户进程空间切换到内核空间运行一段时间再切.
2021-07-03 18:56:54
1022
原创 计算机网络——网络层02
文章目录IP数据报的发送与转发过程静态路由配置静态路由配置产生的错误情况1. 配置错误2.聚合不存在的网络3.网络故障IP数据报的发送与转发过程IP数据包在从源计算机发送到网络上后,根据上述两种不同情况,被传递到目的计算机时也有两种方式:直接交付和间接交付。①直接交付:IP数据包被直接交付时不需要经过路由器。因为在运行TCP/IP协议的以太网中,入网的计算机TCP/IP协议族的ARP协议软件,会帮助查询到本物理网络中其他计算机的MAC地址,使IP数据包可以直接从源计算机传递到目的计算机。②.
2021-07-03 15:23:22
2476
原创 计算机网络——网络层01
文章目录网络层提供的两种服务网络层提供的两种服务互联网的先驱们采用的是无连接的数据报服务IP地址编制方法共经历了三个阶段:分类的IP地址,子网划分,无分类编制(构成超网)分类的IP地址A类B类C类特殊的ip地址子网的划分...
2021-07-03 10:49:08
198
原创 应用层协议——HTTP
文章目录在浏览器中输入url回车之后会发生什么http概述http连接方式1.非持久连接:close2.持久连接:keep-Alivehttp报文格式1.请求报文2.响应报文在服务器上存放用户的信息——Cookie代理服务器在浏览器中输入url回车之后会发生什么域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到html代码 --> 浏览器解析html代码,并请求html代码中的资源(如js、css、图.
2021-06-29 16:28:24
614
1
原创 在浏览器中输入url回车之后会发生什么
文章目录发生了什么?URL是什么1.概述2.格式发生了什么?当输入一个网址,例如www.baidu.com之后会发生以下事件: 域名解析 –> 发起TCP的3次握手 –> 建立TCP连接后发起http请求 –> 服务器响应http请求,浏览器得到html代码 –>浏览器解析html代码,并请求html代码中的资源(如js、css、图片等) –> 浏览器对页面进行渲染呈现给用户URL是什么1.概述统一资源定位符,为了方便的访问在世界范围内的文档,万维网(www).
2021-06-29 12:05:05
157
原创 C++ ——虚继承时的构造函数
在虚继承中,虚基类是由最终的派生类初始化的,换句话说,最终派生类的构造函数必须要调用虚基类的构造函数。对最终的派生类来说,虚基类是间接基类,而不是直接基类。这跟普通继承不同,在普通继承中,派生类构造函数中只能调用直接基类的构造函数,不能调用间接基类的。下面我们以菱形继承为例来演示构造函数的调用:#include <iostream>using namespace std;//虚基类Aclass A{public: A(int a);protected: int .
2021-06-28 15:54:07
608
转载 C++ 继承和多态
文章目录 1、继承的本质和原理、虚函数的原理2、多态与纯虚函数3、理解虚基类、虚继承、菱形继承4、c++语言级别提供的四种类型转换方式 1.继承的本质和原理 2.派生类的构造过程 3.重载、覆盖、隐藏 4.静态绑定和动态绑定 5.多态 vfptr...
2021-06-28 15:28:14
63
原创 运输层协议——UDP、UDP与TCP的区别
文章目录UDP协议概述UDP报头UDP与TCP的对比UDP协议概述UDP是User Datagram Protocol(用户数据报协议)的简称。UDP提供无连接,不可靠的数据报服务。UDP 继承了 IP 包的特性,不保证不丢失,不保证按顺序到达。UDP报头UDP功能比较简单,相应的报头结构也比较简单。仅仅提供源端口号和目的端口号来实现复用和分用。UDP与TCP的对比1. tcp面向连接,udp无连接udp只要指明目的端口号和源端口号就可以向目的端口号发送数据了。而tcp必须要先建立连接.
2021-06-27 20:39:43
423
1
原创 八大排序算法
文章目录前言冒泡排序选择排序直接插入排序1.排序思想2.代码描述3.总结希尔排序 -- 增量排序1.排序思想前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考冒泡排序选择排序直接插入排序1.排序思想 假如是这一组数据 83 15 35 1 33 8 77 21 34 97 31 2 9; 首先把数据分成两个部分,前面的数.
2021-06-23 10:53:32
183
原创 运输层协议---TCP协议总结
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录TCP概述TCP报文结构TCP连接的建立与释放TCP可靠性传输TCP流量控制TCP拥塞控制一、pandas是什么?二、使用步骤1.引入库2.读入数据总结TCP概述TCP协议是一种面向连接,可靠的,基于字节流服务的传输层的通信协议。TCP报文结构TCP连接的建立与释放TCP可靠性传输TCP流量控制TCP拥塞控制提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多
2021-06-22 21:30:19
400
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人