笔记
李sy同学
尝试用HelloWorld改变世界
展开
-
计算机网络—数据交换方式
网络层的主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是数据报。主要功能:路由选择与分组转发(最佳路径)。异构网络互联。拥塞控制:若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。解决方法:开环控制(静)、闭环控制(动)。一、数据交换方式1.电路交换优点:1. 通信时延小。2. 有序传输。3. 没有冲突。4. 实时性强。缺点:1. 建立连接时间长。2. 线路独占使线路使用效率低。3. 灵活性差。4. 无差错控原创 2021-11-29 10:13:47 · 1301 阅读 · 0 评论 -
计算机网络—数据链路层
一、数据链路层的基本概念数据链路层最基本的服务是将源自计算机网络层的数据可靠的传输到相邻节点的目标计算机的网络层(通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报)。结点:主机、路由器。链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有限链路和无线链路。数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。帧:链路层的协议数据单元,封装网络层数据报。二、数据链路层的功能概述数据链路层在物理层提供原创 2021-10-21 15:50:49 · 2908 阅读 · 0 评论 -
KMP算法的实现
这个算法想了一天才理解,加上写代码改bug花费了很长时间呜呜呜KMP算法要比串的模式匹配算法时间复杂度要低,效率更高,时间复杂度为:O(n+m),n为主串长度,m为模式串长度。实现代码:#include<iostream>using namespace std;//求next数组,next数组记录最长公共前后缀的长度void GetNext(string s, int* next) { int i = -1, j = 0; //i表示前缀最后一个字符 j表示后缀最后一个字符原创 2021-08-17 12:41:50 · 201 阅读 · 0 评论 -
2021-04-23
#include<iostream>using namespace std;#include"Identity.h"#include<fstream>#include<string>#include"globalFile.h"#include"student.h"#include"teacher.h"#include"manager.h"//进入学生子菜单界面void studentMenu(Identity * &student){ w原创 2021-04-23 22:43:53 · 97 阅读 · 0 评论 -
直接插入排序法(随机生成5000个整数进行排序)
#include<bits/stdc++.h>using namespace std;void InsertSort(vector<int>&v,int n){ int j; for(int i=2;i<=n;i++) { if(v[i]<v[i-1]) { v[0]=v[i]; v[i]=v[i-1]; for(j=i-2;v[j]>=v[0];j--) { v[j+1]=v[j];原创 2020-12-07 20:24:20 · 770 阅读 · 0 评论 -
口罩发放(2020天梯赛)
为了抗击来势汹汹的 COVID19 新型冠状病毒,全国各地均启动了各项措施控制疫情发展,其中一个重要的环节是口罩的发放。某市出于给市民发放口罩的需要,推出了一款小程序让市民填写信息,方便工作的开展。小程序收集了各种信息,包括市民的姓名、身份证、身体情况、提交时间等,但因为数据量太大,需要根据一定规则进行筛选和处理,请你编写程序,按照给定规则输出口罩的寄送名单。输入格式:输入第一行是两个正整数 D 和 P(1≤D,P≤30),表示有 D 天的数据,市民两次获得口罩的时间至少需要间隔 P 天。接下来 D原创 2020-12-04 20:11:45 · 2910 阅读 · 0 评论 -
八皇后 Checker Challenge(dfs)
题目描述一个如下的 6×6 的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。上面的布局可以用序列 2 4 6 1 3 5 来描述,第 ii 个数字表示在第 ii 行的相应位置有一个棋子,如下:行号 1 2 3 4 5 6列号 2 4 6 1 3 5这只是棋子放置的一个解。请编一个程序找出所有棋子放置的解。并把它们以上面的序列方法输出,解按字典顺序排列。请输出前 3 个解。最后一行是解的总个数。输入格式一行一个正原创 2020-11-25 19:43:06 · 122 阅读 · 0 评论 -
前序建立并前序遍历二叉树
#include<bits/stdc++.h>using namespace std;typedef char ElemType; typedef struct BiTnode{ char data; BiTnode *lchild,*rchild;}BiTnode,*BiTree;void CreatBiTree(BiTree *T){ char c; cin>>c; if(c==' ') { *T=NULL; } else { *T=原创 2020-11-16 22:39:14 · 113 阅读 · 0 评论 -
装箱问题(模拟)
假设有N项物品,大小分别为s1 、s2 、…、si 、…、sN ,其中si 为满足1≤si ≤100的整数。要把这些物品装入到容量为100的一批箱子(序号1-N)中。装箱方法是:对每项物品, 顺序扫描箱子,把该物品放入足以能够容下它的第一个箱子中。请写一个程序模拟这种装箱过程,并输出每个物品所在的箱子序号,以及放置全部物品所需的箱子数目。输入格式:输入第一行给出物品个数N(≤1000);第二行给出N个正整数si (1≤si原创 2020-11-07 15:31:48 · 842 阅读 · 0 评论 -
层次遍历二叉树(队列解决)
#include<bits/stdc++.h>using namespace std;struct Treenode{ int data; Treenode *lchild; Treenode *rchild; };void PrintTree(Treenode *tmp) // 按层次遍历二叉树的函数 { queue<Treenode*>q; q.push(tmp); while(!q.empty()) { Tre原创 2020-11-08 19:01:28 · 238 阅读 · 1 评论 -
sort函数的用法
c++中sort函数的用法c++中的sort函数是标椎库中自带的一种排序方法,它包含在头文件#include中,使用sort函数排序可以大大提高程序的效率,比冒泡排序法和选择排序法简单又高效。在一些竞赛中可以使用sort函数减少程序运行时间,防止数据过多而超时。、sort的模板为 sort(a,a+n,cmp),其中第一个参数是数组的首地址,第二个参数是数组的结束地址,第三个参数是比较函数。当没有比较函数cmp时,sort(a,a+n)默认从小到大排序。代码如下:...原创 2020-09-22 18:19:41 · 225 阅读 · 0 评论