自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 计算机网络(六) 应用层

(Domain Name System,DNS)是因特网使用的命名系统,用来把便于人们记忆的具有特定含义的主机名(如www.cskaoyan.com)转换为便于机器处理的IP地址。POP3 采用的是“拉”(Pull)的通信方式,当用户读取邮件时,用户代理向邮件服务器发出请求,“拉”取用户邮箱中的邮件。FTP采用客户/服务器的工作方式,它使用TCP可靠的传输服务。RCPT命令的作用是,先弄清接收方系统是否已做好接收邮件的准备,然后才发送邮件,以便不至于发送了很长的邮件后才知道地址错误,进而避免浪费通信资源。

2024-04-09 08:00:00 711

原创 计算机网络(四) 网络层

目的主机在对片进行重组时,使用片偏移字段来确定片应放在原始 IP数据报的哪个位置。

2024-04-05 08:00:00 683

原创 计算机网络(五) 传输层

从通信和信息处理的角度看,传输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。传输层位于网络层之上,它为运行在不同主机上的进程之间提供了逻辑通信,而网络层提供主机之间的逻辑通信。显然,即使网络层协议不可靠(网络层协议使分组丢失、混乱或重复),传输层同样能为应用程序提供可靠的服务。传输层的寻址与端口1.端口的作用端口能够让应用层的各种应用进程将其数据通过端口向下交付给传输层,以及让传输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程。

2024-04-05 01:17:55 690

原创 计算机网络(三)数据链路层

若每个站点在发送前都先监听一下共用信道,发现信道空闲后再发送,则就会大大降低冲突的可能,从而提高信道的利用率,载波监听多路访问(Carrier Sense Multiple Access,CSMA)协议依据的正是这一思想。最简单的网桥只有两个端口,复杂的网桥可有多个端口。发送方窗口内的序列号代表了那些已经被发送,但是还没有被确认的帧,或者是那些可以被发送的帧。①采用无连接的工作方式,不对发送的数据帧编号,也不要求接收方发送确认,即以太网尽最大努力交付数据,提供的是不可靠服务,对于差错的纠正则由高层完成;

2024-04-03 08:00:00 977

原创 操作系统OS Chapter2

注意,进程空间一般都是独立的,进程运行期间一般不能访问其他进程的空间,想让两个进程共享空间,必须通过特殊的系统调用实现,而进程内的线程是自然共享进程空间的。要让计算结果是正确的,一定要让加法进程发生在乘法进程之后,但实际上操作系统具有异步性,若不加以制约,加法进程发生在乘法进程之前是绝对有可能的,因此要制定一定的机制去约束加法进程,让它在乘法进程完成之后才发生,而这种机制就是本节要讨论的内容。在一个系统中,通常存在着许多进程的PCB,有的处于就绪态,有的处于阻塞态,而且阻塞的原因各不相同。

2024-04-01 08:00:00 1560

原创 操作系统OS Chapter1

硬件自检后,BIOS 开始读取 Boot Sequence(通过 CMOS里保存的启动顺序,或者通过与用户交互的方式),把控制权交给启动顺序排在第一位的存储设备,然后CPU 将该存储设备引导扇区的内容加载到内存中。异步是指在多道环境下,允许多个程序并发执行,但由于资源有限,进程的进行不是一贯道底的,而是走走停停的,以不可预知的速度向前推进,这就是进程的异步性。2)非特权指令,是指允许用户直接使用的指令,它不能直接访问系统中的软硬件资源,仅限于访问用户的地址空间,这也是为了防止用户程序对系统造成破坏。

2024-03-30 08:00:00 996

原创 计算机网络(二)物理层

双绞线的价格便宜,是最常用的传输介质之一,在局域网和传统电话网中普遍使用。每个小数据块都要加上源地址、目的地址和分组编号等信息,从而构成分组,因此使得传送的信息量增大了5%~10%,一定程度上降低了通信效率,增加了处理的时间,使控制复杂,时延增加。该编码的特点是,在每个码元的中间出现电平跳变,位中间的跳变既作为时钟信号(可用于同步),又作为数据信号,但它所占的频带宽度是原始频带宽度的两倍。由于外导体屏蔽层的作用,同轴电缆具有良好的抗干扰特性,被广泛用于传输较高速率的数据,其传输距离更远,但价格较双绞线贵。

2024-03-28 08:00:00 946

原创 计算机网络(一)体系结构

计算机网络是一个将众多分散的、自治的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。

2024-03-26 08:00:00 1934

原创 C++11

1998年是C++标准委员会成立的第一年,本来计划以后每5年视实际需要更新一次标准,C++国际标准委员会在研究C++ 03的下一个版本的时候,一开始计划是2007年发布,所以最初这个标准叫C++ 07。但是到06年的时候,官方觉得2007年肯定完不成C++ 07,而且官方觉得2008年可能也完不成。最后干脆叫C++ 0x。x的意思是不知道到底能在07还是08还是09年完成。结果2010年的时候也没完成,最后在2011年终于完成了C++标准。所以最终定名为C++11。

2022-11-30 08:00:00 605 4

原创 哈希(Hash)

开散列法又叫链地址法(开链法),首先对关键码集合用散列函数计算散列地址,具有相同地址的关键码归于同一子集合,每一个子集合称为一个桶,各个桶中的元素通过一个单链表链接起来,各链表的头结点存储在哈希表中。比如:在布隆过滤器中查找"alibaba"时,假设3个哈希函数计算的哈希值为:1、3、7,刚好和其他元素的比特位重叠,此时布隆过滤器告诉该元素存在,但实该元素是不存在的。注意:布隆过滤器如果说某个元素不存在时,该元素一定不存在,如果该元素存在时,该元素可能存在,因为有些哈希函数存在一定的误判。

2022-11-27 11:09:21 5180 1

原创 Linux:进程(二)

今天我们继续学习进程相关知识。以上就是今天要讲的内容啦。

2022-11-24 08:00:00 984

原创 Linux:进程(一)

前面我们学习了gdb的一些基础命令,今天来看看进程这个概念。以上就是今天要讲的内容啦。

2022-11-21 08:00:00 651 6

原创 Linux调试工具:gdb的使用

GDB,是The GNU Project Debugger 的缩写,是 Linux 下功能全面的调试工具。GDB支持断点、单步执行、打印变量、观察变量、查看寄存器、查看堆栈等调试手段。以上就是gdb的一些基础命令啦。

2022-11-13 08:00:00 910 31

原创 AVL树简介

前面我们学习了二叉搜索树,二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序二叉搜索树将退化为单支树,查找元素相当于在顺序表中搜索元素,效率低下。因此,两位俄罗斯的数学家Adelson-Velskii和Landis在1962年发明了AVL树来解决这个问题。//该节点的左孩子 AVLTreeNode < K , V > * _right;//该节点的右孩子 AVLTreeNode < K , V > * _parent;//该节点的父亲 pair < K , V > _kv;int _bf。

2022-11-03 08:15:00 703 15

原创 二叉搜索树

二叉搜索树.

2022-11-01 08:00:00 367 23

原创 C++:多态

多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。比如Student继承了Person。Person对象买票全价,Student对象买票半价。那么在继承中要构成多态还有两个条件必须通过基类的指针或者引用调用虚函数被调用的函数必须是虚函数,且派生类必须对基类的虚函数进行重写在虚函数的后面写上 =0 ,则这个函数为纯虚函数。包含纯虚函数的类叫做抽象类(也叫接口类),抽象类不能实例化出对象。派生类继承后也不能实例化出对象,只有重写纯虚函数,派生类才能实例化出对象。

2022-10-29 10:23:23 749 5

原创 C++:继承

本文介绍C++中的继承。继承机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继承是类设计层次的复用。简单来说,如果我们现在有两个类,利用继承,就可以通过复用其中一个类的代码,为另一个类增加新的功能。下列代码段中,student继承了person的_name、_age成员变量。

2022-10-26 08:00:00 418 7

原创 趣学算法:分治算法

首先将待排序元素分解为两个规模大致相等的子序列,如果仍不易解决,则继续分解子序列,直到子序列只有一个元素。由于只有一个元素的序列本身有序,因此可对这些有序的子序列进行合并,最终得到完整的有序序列。某大型娱乐节目在玩猜数字游戏:主持人在女嘉宾的手心写一个10以内的整数,让女嘉宾的老公猜主持人写的数字是几,每猜一次,女嘉宾只能提示大了或者小了,并且只有三次机会。的,可以使用二分搜索策略,如果猜的数x比中间元素大,则缩小范围1~n为n*1/2 ~ n,这样一下子减小了一半的数据量,太爽了!我们取部分进行分析。

2022-10-20 16:11:00 830 26

原创 趣学算法:贪心算法

,他的喊声刚落,洞门立刻打开了,他小心翼翼地走了进去,一下子惊呆了,洞中堆满了财务,还有多的无法计数的金银财宝,有的散堆在地上,有的盛在皮袋中。为了让乡亲们开开眼界,见识一下这些宝物,他想一种宝物只拿一个,如果太重就用锤子凿开,但毛驴的运载能力是有限的,怎么才能用驴子运走最大价值的财宝分给乡亲们呢?如果选择价值最大的宝物,但重量非常大,也是不行的,因为运载能力是有限的;而每次选择单位重量价值最大的宝物,也就是说每次选择性价比(价值/重量)最高的宝物,如果可以达到运载重量m,那么一定能使得价值最大。

2022-10-17 16:48:12 3544 11

原创 C++函数/类模板

template < class T1 , class T2 , . . . , class Tn > class 类模板名 {// 类内成员定义 };

2022-10-10 16:46:55 708 10

原创 C/C++内存管理

C/C++内存管理简介

2022-09-28 08:30:00 145 9

原创 类和对象(下)

文章目录1. 再谈构造函数1.1初始化列表1.2 explicit关键字2. static成员2.1 概念2.2 特性3. 友元3.1友元函数3.2友元类4. 内部类总结1. 再谈构造函数1.1初始化列表初始化列表:以一个冒号开始,接着是一个以逗号分隔的数据成员列表,每个"成员变量"后面跟一个放在括号中的初始值或表达式。class Date{public: Date(int year, int month, int day) : _year(year) , _month(month)

2022-09-17 07:33:30 219 10

原创 类与对象(中)

类和对象(中)

2022-09-16 08:30:00 934 8

原创 类和对象(上)

/ 类体:由成员函数和成员变量组成 };class为定义类的关键字,classname为类名。{ }中为类的主体,类中的元素称为类的成员:类中的数据称为类的属性或者成员变量;类中的函数称为类的方法或者成员函数。1.定义时成员函数声明和定义都放在类中。2.定义时成员函数声明和定义分离,声明放在.h文件中,定义放在.cpp文件中。以上就是今天的内容辣。

2022-09-15 08:10:46 832 9

原创 C++入门(二)

引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。//类型& 引用变量名(对象名) = 引用实体 int a = 108;//这句是说,b是a的别名,二者共用同一块内存空间 int c = 100;b = c;//这里把c的值赋给b,b就是a,相当于把c的值赋值给a return 0;}...

2022-08-09 09:00:00 219 5

原创 C++入门(一)

定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。//1. 普通的命名空间 namespace N1 // N1为命名空间的名称 {// 命名空间中的内容,既可以定义变量,也可以定义函数 int a;} } //2. 命名空间可以嵌套 namespace N2 {int a;int b;int c;int d;} } } //3. 同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中。} }......

2022-08-07 08:44:55 534 33

原创 详解八大排序

八大排序都在这里了!

2022-08-01 08:30:00 387 44

原创 Linux权限管理

例如随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。

2022-07-23 07:54:44 826 36

原创 二叉树浅见

文章目录前言一、树的概念及结构1.树的概念2.树的相关概念3.树的表示二、二叉树概念及结构1.概念2.一些特殊的二叉树3.一些简单的题三、二叉树顺序结构及实现1.二叉树的顺序结构2.堆的概念及结构3.堆的实现四、二叉树链式结构及实现总结前言我们先学习什么是“树”,然后学习二叉树的相关内容。一、树的概念及结构1.树的概念树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。有一

2022-07-19 14:55:42 354 2

原创 栈和队列OvO

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代.

2022-05-20 07:25:42 264 36

原创 带头双向循环链表

文章目录前言:mushroom:一、带头双向循环链表:sunflower:二、双向循环链表的基本操作:cherry_blossom:1.定义结构体变量2.创造结点3.初始化4.打印5.尾插6.头插7.尾删8.头删8.在pos之前插入9.删除pos位置的结点前言🍄  前面我们已经学习了单链表的基本操作,🎵今天我们来学习带头双向循环链表及其基本操作。🎵一、带头双向循环链表🌻带头:带哨兵位的头结点,这个头不存储数据。双向:除了有一个指向下一个结点的指针,还带有一个指向前一个结点的指针。循环:首尾

2022-05-13 08:34:38 295 33

原创 leedcode.21合并两个有序链表

系列文章目录初识单链表leedcode.203移除链表元素文章目录系列文章目录方法一:递归方法二:归并,取小的尾插将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例 1:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2: 输入:l1 = [ ], l2 = [ ]输出:[ ]示例 3: 输入:l1 = [ ], l2 = [0]输出:[0]提示:两个链表的节

2022-05-06 09:21:19 460 47

原创 leedcode.203移除链表元素

系列文章目录初识单链表文章目录系列文章目录方法一:该我删的我就删:tangerine:方法二:不该删的我留下:peach:给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。示例 1:输入:head = [1,2,6,3,4,5,6], val = 6输出:[1,2,3,4,5]示例 2:输入:head = [], val = 1输出:[]示例 3:输入:head = [7,7,7,

2022-04-29 09:51:05 1199 56

原创 初识单链表

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言:mushroom:一、单链表的定义:sunflower:二、单链表的基本操作:cherry_blossom:1.定义结构体变量2.创造结点3.打印4.尾插5.头插6.尾删7.头删8.查找前言🍄  前面我们已经学习了顺序表的基本操作,顺序表可以实现下标的随机访问,在物理上内存连续,这是其优点,相应的,顺序表也有很多缺点:扩容频繁、空间浪费、随机位置插入数据效率低……🎵今天我们来学习单链表及其基本操作。🎵一、单链表的.

2022-04-25 12:45:54 952 13

原创 顺序表的基本操作

今天我们来学习顺序表的基本操作。😋😋😋文章目录前言一、初始化顺序表二、打印顺序表三、销毁空间四、检查容量空间,满了扩容五、尾插六、尾删七、头插八、头删九、某个位置插入十、某个位置删除十一、查找十二、修改前言顺序表,全名顺序存储结构,是线性表的一种。顺序表存储数据时,会提前申请一整块足够大小的物理空间,然后将数据依次存储起来,存储时做到数据元素之间不留一丝缝隙。emm,这不就是数组吗❔没错👍,顺序表就是计算机内存中以数组的形式保存的线性表。一、初始化顺序表void SLInit(SL*.

2022-04-22 09:54:28 902 33

原创 时间复杂度和空间复杂度OvO

时间复杂度和空间复杂度

2022-04-20 10:12:05 563 42

原创 一网打尽:指针和数组

指针和数组详解,都在这里了!!!

2022-04-18 07:40:12 2712 72

原创 妖怪,你可认得这32个关键字?

C语言关键字,都在这里了!!!

2022-04-14 07:14:34 2673 67

原创 位运算:【leedcode:只出现一次的数字】

文章目录136. 只出现一次的数字137. 只出现一次的数字 II260. 只出现一次的数字 III136. 只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4通过位运算,我们知道:思路:基于异或的性质,我们可以直接将全部元素异或。这样的话

2022-04-11 11:56:14 666 47

原创 C语言:预处理

C语言的预处理

2022-04-10 13:09:13 1579 39

空空如也

空空如也

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

TA关注的人

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