【知识整理】初赛复习

一、基础知识

简称

N O I P : 全 国 青 少 年 信 息 学 奥 林 匹 克 联 赛 ( 1995 ) NOIP:全国青少年信息学奥林匹克联赛(1995) NOIP:(1995)
N O I : 全 国 青 少 年 信 息 学 奥 林 匹 克 竞 赛 ( 1984 ) NOI:全国青少年信息学奥林匹克竞赛(1984) NOI:(1984)
C N C C : 中 国 计 算 机 大 会 CNCC:中国计算机大会 CNCC:
C T S C : 国 际 信 息 学 奥 林 匹 克 中 国 队 选 拔 赛 CTSC:国际信息学奥林匹克中国队选拔赛 CTSC:
C S P : 计 算 机 非 专 业 级 别 的 软 件 能 力 认 证 CSP:计算机非专业级别的软件能力认证 CSP
A P I O : 亚 洲 与 太 平 洋 地 区 信 息 学 奥 赛 ( 2007 ) APIO: 亚洲与太平洋地区信息学奥赛(2007) APIO:(2007)
5 G : 第 五 代 移 动 通 用 技 术 5G:第五代移动通用技术 5G:
图 灵 奖 由 美 国 计 算 机 协 会 ( A C M ) 于 1966 年 设 立 图灵奖由美国计算机协会(ACM)于1966年设立 ACM1966

蓝牙,wifi,GPRS,平流层气球通信,广带无线接入,GSM,无绳系统,蜂窝数字数据分组系统(CDPD), i–Mode,WAP,LAS-CDMA(大区域同步码分多址联接)属于无线通讯技术


网络模型:

OSI七层参考模型:应用层,表示层,会话层,传输层,网络层,链路层,物理层

TCP/IP四层参考模型:
应用层:
T e l e n t : 远 程 登 录 协 议 Telent:远程登录协议 Telent:
F T P : 文 件 传 输 协 议 FTP:文件传输协议 FTP:
S M T P : 简 单 邮 件 传 输 协 议 ( 发 邮 件 ) SMTP:简单邮件传输协议(发邮件) SMTP:()
p o p / p o p 3 : 收 邮 件 协 议 pop/pop3:收邮件协议 pop/pop3:
I A M P : 邮 件 访 问 协 议 IAMP:邮件访问协议 IAMP:访

传输层:
T C P : 传 输 控 制 协 议 TCP:传输控制协议 TCP:
U D P : 数 据 报 协 议 UDP:数据报协议 UDP:

网络层:
I P : 网 络 协 议 IP:网络协议 IP:
I G M P : 组 管 理 协 议 IGMP:组管理协议 IGMP
网络接口层

网络分类:

L A N : 局 域 网 LAN:局域网 LAN
M A N : 城 域 网 MAN:城域网 MAN:
W A N : 广 域 网 WAN:广域网 WAN:广

协议/缩写:

TCP:传输控制协议(Transmission Control Protocol)
IP:网络协议(Internet Protocol)
FTP:文件传输协议(File Transfer Protocol)
HTTP:超文本传输协议(Hyper Text Transfer Protocol)
SMTP:简单邮件传输协议(Simple Mail Transfer Protocol)
MIME:电子邮件扩展协议(Multipurpose Internet Mail Extensions)
pop/pop3:收邮件协议
IMAP:邮件访问协议(Internet Mail Access Protocol)
HTML:超文本标记语言
URL:统一资源定位器(Uniform Resource Locator)
WTO:世界贸易组织
OSI:开放系统互联
ISO:国际标准化组织
CAI:计算机辅助教学
CAD:计算机辅助设计
CAM:计算机辅助制造
CAT:计算机辅助测试
CAE:计算机辅助工程分析
CBE:计算机辅助教育


IP地址:

A:1.0.0.1~126.255.255.254
B:128.1.0.1~191.255.255.254
C:192.0.0.1~253.255.255.254
注:

  • 中间没有127是因为127是网卡自身地址
  • 同时地址最高只有255,不能超过255

IPv6地址

形如 X : X : X : X : X : X : X : X X:X:X:X:X:X:X:X X:X:X:X:X:X:X:X,每个X是16进制的数。
一般来说IPV6是严格的八位,但是如果地址中间有形如 0000 : 0000 : 0000 … … : 0000 0000:0000:0000……:0000 0000:0000:0000:0000的连续的0,可以用 : : :: ::代替
否则就需要有严格的八位

操作系统:

Windows:窗口式操作系统
DOS:磁盘操作系统
Solaris:UNIX的衍生版本
UNIX:网络操作系统
Netware
Mac OS


计算机语言:

高级语言:

  • 编译:
    P a s c a l ; F o r t r a n ( 第 一 个 面 向 科 学 计 算 的 高 级 语 言 ) ; C o b o l ; C ; C + + Pascal;Fortran(第一个面向科学计算的高级语言);Cobol;C;C++ Pascal;Fortran();Cobol;C;C++
    其中 P a s c a l , C , C + + Pascal,C,C++ Pascal,C,C++是能书写编译程序的高级程序设计语言
    纯面向对象语言: S m a l l t a l k , E I E F E L Smalltalk,EIEFEL Smalltalk,EIEFEL
    混合型面向对象语言: C + + , O b j e c t i v e − C , V i s u a l   B / C C++,Objective-C,Visual\ B/C C++,ObjectiveC,Visual B/C
    编译方式将高级语言源程序编译成目标程序(能被识别的二进制码)最后变成可执行程序
    同一段高级程序不同的编译器会翻译不同的可执行程序

面向对象程序设计具有继承性,封装性,多态性等特点。
面向过程: P a s c a l , C , F o r t r a n , C o b o l Pascal,C,Fortran,Cobol Pascal,C,Fortran,Cobol
面向对象: C + + , J a v a , O b j e c t i v e − C , E I E F E L C++,Java,Objective-C,EIEFEL C++,Java,ObjectiveC,EIEFEL

  • 解释:
    高级语言源程序通过解释变成可执行程序
    B a s i c , P H P Basic,PHP Basic,PHP以解释为主

汇编语言:
汇编源程序通过翻译变成目标程序再变成可执行程序


计算机系统的基本结构

计算机硬件由运算器,控制器,存储器,输入设备,输出设备五部分组成

CPU:(运算单元,逻辑单元,存储单元)

运算器进行算术运算和逻辑运算
控制器是计算器的指挥系统
CPU主要性能指标是主频和字长
CPU能够直接识别并执行机器语言

  • 主频:时钟频率,决定着计算机的运算速度,每秒处理的指令条数
  • 字长:同时能处理的二进制位数的个数

寄存器是CPU的组成部分
字长4位:4004
字长16位:8086
字长32位:80386
字长64位:Pentium

存储器:

寄存器>Cache>主存(内存)>辅存
RAM:随机存储器(会丢失)
ROM:只读存储器(检查计算机系统的配置并提供最基本的输入/输出(I/O)设备

总线结构:

数据总线:传送数据信息。双向。
地址总线:传送地址信息。单向。宽度决定可以访问的存储器的大小。如20条地址总线可以控制 2 20 B = 1 M B 2^{20}B=1MB 220B=1MB存储空间
控制总线:传送控制信号


进制转换:

太麻烦了,不想写了。


原码,反码,补码,阶码

正数的原码,反码,补码相同。符号位为’0’
负数的反码为原码除符号位取反,符号位为’1’
负数的补码为负数的反码加1
0的原码和反码不唯一,但补码唯一
[ + 0 ] 原 = 000 … … 0 , [ − 0 ] 原 = 100 … … 0 [+0]_原=000……0,[-0]_原=100……0 [+0]=0000,[0]=1000
[ + 0 ] 反 = 000 … … 0 [+0]_反=000……0 [+0]=0000, [ − 0 ] 反 = 111 … … 0 [-0]_反=111……0 [0]=1110
[ + 0 ] 补 = [ − 0 ] 补 = 000 … … 0 [+0]_补=[-0]_补=000……0 [+0]=[0]=0000

阶码:

在机器中表示一个浮点数时需要给出指数,这个指数用整数形式表示,这个整数叫做阶码,阶码指明了小数点在数据中的位置。
计算机中的数值信息分为整数和实数(浮点数)。实数之所以能够表示很大或者很小的数,是由于使用了阶码


排序:

稳定:插入排序,冒泡排序,二叉树排序,归并排序
不稳定:选择排序,希尔排序,快速排序,堆排序

复杂度分析:
插入排序:最优 O ( n ) O(n) O(n),最坏 O ( n 2 ) O(n^2) O(n2)
冒泡排序: O ( n 2 ) O(n^2) O(n2)
快速排序:平均 O ( n l o g n ) O(nlogn) O(nlogn),最坏 O ( n 2 ) O(n^2) O(n2)->前提是有序
归并排序:复杂度 O ( n l o g n ) O(nlogn) O(nlogn)

用快速排序求第k大值的复杂度为 O ( n ) O(n) O(n)

希尔排序

先确定步长 d d d
每隔d个步长选取一个数。
这样就把一组数分成 d d d组。
对每一组进行插入排序。
然后重复上述过程
复杂度 O ( n ( 1.3 — 2 ) ) O(n^{(1.3—2)}) O(n(1.32))


后缀名

视频后缀名: m p 4 , w m v , a v i , m o v , m p 3 , a s f , m p e g mp4,wmv,avi,mov,mp3,asf,mpeg mp4,wmv,avi,mov,mp3,asfmpeg
图像后缀名: g i f , j p g , j p e g , b m p , p n g gif,jpg,jpeg,bmp,png gif,jpg,jpeg,bmp,png

三基色:红,绿,蓝


前后中缀表达式

前缀表达式求值:
在这里插入图片描述
后缀表达式从右至左。

中缀表达式转化前、后缀表达式:
找出式子中运算级最小的运算符,即为根。符号左右分成左右子树,重复以上操作,这样我们得到了一棵二叉树。
前缀、后缀的转换只需要把二叉树进行前序(根左右)遍历和后序遍历(左右根)遍历即可。

中缀表达式对应的后缀表达式不唯一。
一棵树对应的后缀表达式唯一。
后缀表达式对应的树不唯一。


有关图

无向图的度数和为偶数。
欧拉回路的条件是全偶0奇
欧拉路的条件是有且只有2个奇点
图一般用邻接矩阵存储
可以用邻接表,邻接矩阵等存储

有关树:

定义: n n n个点, n − 1 n-1 n1条边的联通图
性质1:第k(第一层开始算)层有 2 k − 1 2^{k-1} 2k1个节点。深度为k共 2 k − 1 2^k-1 2k1个节点
性质2: n 0 = n 2 + 1 n_0=n_2+1 n0=n2+1,度数为0的节点数为度数为2的节点数+1
性质3:有n个节点的完全二叉树深度为 ⌊ l o g 2 n ⌋ + 1 ⌊log2n⌋+1 log2n+1
性质4:如果完全二叉树中有 2 ∗ n − 1 2*n-1 2n1个节点则叶节点有n个

树转二叉树:遵循左儿子,右兄弟。
草,断电没保存,不想写了


数学相关

排列:

P ( n , m ) = n ! ( n − m ) ! P(n,m)=\frac{n!}{(n-m)!} P(n,m)=(nm)!n!
圆排列:n个人排成一圈: P ( n , n ) n = ( n − 1 ) ! \frac{P(n,n)}{n}=(n-1)! nP(n,n)=(n1)!

重复排列:
k种不一样的球,每种 a 1 , a 2 , … … a k , n = a 1 + … … + a k a_1,a_2,……a_k,n=a_1+……+a_k a1,a2,ak,n=a1++ak
方案数= n ! a 1 ! ∗ a 2 ! ∗ … … ∗ a k ! \frac{n!}{a_1!*a_2!*……*a_k!} a1!a2!ak!n!

不相邻排列:n种选k个,使两数两两不相邻的方案数为 C n − k + 1 k C_{n-k+1}^k Cnk+1k

组合

C n m = n ! ( n − m ) ! ∗ m ! C_n^m=\frac{n!}{(n-m)!*m!} Cnm=(nm)!m!n!
性质1: C n m = C n n − m C_n^m=C_n^{n-m} Cnm=Cnnm
性质2: C n m = C n m − 1 + C n − 1 m − 1 C_n^m=C_n^{m-1}+C_{n-1}^{m-1} Cnm=Cnm1+Cn1m1

重复组合:
n种不一样的球,每种球无限,取 k k k个球的方案数为 C n + k − 1 k C_{n+k-1}^k Cn+k1k

Stirling数:

将n个数分成m部分,每个部分至少有1个数,不同的划分方案为 S ( n , m ) S(n,m) S(n,m),有:
S ( n , 1 ) = 1 S(n,1)=1 S(n,1)=1, S ( n , 0 ) = 0 S(n,0)=0 S(n,0)=0 S ( n , n ) = 1 S(n,n)=1 S(n,n)=1
S ( n , m ) = m ∗ S ( n − 1 , m ) + S ( n − 1 , m − 1 ) S(n,m)=m*S(n-1,m)+S(n-1,m-1) S(n,m)=mS(n1,m)+S(n1,m1)

  • Stiring的变式:
    n n n 个不同的球,放入 m m m 个不同的盒子,不为空: S n , m × m ! S_{n,m}\times m! Sn,m×m!
    n n n 个不同的球,放入 m m m 个相同的盒子,盒子可以为空: ∑ i = 1 m S ( n , i ) \sum_{i=1}^{m} S(n,i) i=1mS(n,i)
    n n n 个不同的球,放入 m m m 个不同的盒子,盒子可以为空: ∑ i = 1 m S ( n , i ) × i ! \sum_{i=1}^{m} S(n,i)\times i! i=1mS(n,i)×i!

错位排列:

n本书,放在n个书架上,要求书的编号与书架的编号不一样,有多少放置方案:
d ( 1 ) = 1 d(1)=1 d(1)=1, d ( 2 ) = 1 d(2)=1 d(2)=1, d ( n ) = ( n − 1 ) ∗ [ d ( n − 1 ) + d ( n − 2 ) ] d(n)=(n-1)*[d(n-1)+d(n-2)] d(n)=(n1)[d(n1)+d(n2)]
0 , 1 , 2 , 9 , 44 , 265 0,1,2,9,44,265 0,1,2,9,44,265

卡特兰数:

C 2 n n / ( n + 1 ) C_{2n}^n/(n+1) C2nn/(n+1)
卡特兰数适用的场合:
1、通过连接顶点而将n + 2 边的凸多边形分成三角形的方法个数
2、n个数入栈的出栈序列
3、圆上2n个点,点对相连使得线段不相邻的方案数
4、n个括号匹配组成的合法括号匹配对的数量
5、n个点构成多少种不同的二叉树

等差数列: a 1 , a 1 + k … … a 1 + ( n − 1 ) ∗ k a_1,a_1+k……a_1+(n-1)*k a1,a1+ka1+(n1)k

首项是 a 1 a_1 a1,末项 a n a_n an,公差是 k k k,项数是 n n n,和是 s u m sum sum:
a n a_n an a 1 + ( n − 1 ) ∗ k a_1+(n-1)*k a1+(n1)k,首项+(项数-1)*公差
n n n ( a n − a 1 ) / k + 1 (a_n-a_1)/k+1 (ana1)/k+1,(末项-首项)/公差+1
s u m sum sum ( a n + a 1 ) ∗ n / 2 , (a_n+a_1)*n/2, (an+a1)n/2,,(首项+末项)*项数/2

等比数列: a 1 , a 1 ∗ k … … , a 1 ∗ k n − 1 a_1,a_1*k……,a_1*k^{n-1} a1,a1k,a1kn1

求和: a 1 ∗ ( k n − 1 ) k − 1 \frac{a_1*(k^n-1)}{k-1} k1a1(kn1)


P,NP,NPC,NPH

草,写完了之后断电没保存。。不想在写了。
这篇博客挺好
在这里插入图片描述


主定理

草,写完之后没保存。。不想再写了。


计算机病毒

人为制造的非法程序,是病毒程序
特性:隐蔽性,潜伏性,传播性,激发性,破坏性,危害性


算法

算法是解决问题的操作步骤
具有有穷性,确定性,输入,输出,可行性五个特征
注意:不具有正确性


计算公式:蔡勒公式

在这里插入图片描述

在这里插入图片描述


Linux 删除文件命令

在这里插入图片描述


一些小语法

如果在 s w i c h swich swich中运行 c o n t i n u e continue continue,那么他会重新到swich的开头在做一遍。
i + = a − − i+=a-- i+=a,先运行 i + = a i+=a i+=a在运行 a − − a-- a


大数据5V特点

V o l u m e ( 大 量 的 ) Volume(大量的) Volume()
V a r i e t y ( 多 样 的 ) Variety(多样的) Variety()
V a l u e ( 价 值 密 度 低 ) Value(价值密度低) Value()
V e l o c i t y ( 增 长 速 度 快 ) Velocity(增长速度快) Velocity()
V e r a c i t y ( 准 确 性 ) Veracity(准确性) Veracity()


数论相关

eratosthenes筛法

复杂度 O ( n l o g l o g n ) O(nloglogn) O(nloglogn)

线性筛法

复杂度 O ( n ) O(n) O(n)
其中中间有一个 i % p r [ j ] = = 0 i\%pr[j]==0 i%pr[j]==0的时间优化。但是去掉并不影响正确性

费马小定理

p p p是质数,则对于任意整数 a a a,有 a p ≡ a ( m o d   p ) a^p≡a(mod\ p) apa(mod p)

欧拉定理

a , p a,p a,p互质,则 a φ ( n ) ≡ 1 ( m o d   n ) a^{φ(n)}≡1(mod\ n) aφ(n)1(mod n)

欧拉定理推论

若正整数 a , n a,n a,n互质,则对于任意正整数 b b b,有 a b ≡ a b   m o d   φ ( n ) ( m o d   n ) a^b≡a^{b\ mod\ φ(n)}(mod\ n) abab mod φ(n)(mod n)

扩展欧几里得

用来求解形如 a x + b y ≡ g c d ( a , b ) ax+by≡gcd(a,b) ax+bygcd(a,b)的整数解

int exgcd(int a,int b,int &x,int &y){
    if (b == 0) {x = 1 , y = 0;return a;}
    int d = exgcd(b,a%b,x,y);
    int z = x;
    x = y; y = z-y*(a/b);
    return d;
}
矩阵乘法

矩阵 a ∗ b = c a*b=c ab=c
其中 c [ i ] [ j ] 有 a 矩 阵 的 第 i 行 和 b 矩 阵 的 第 j 列 相 乘 得 来 c[i][j]有a矩阵的第i行和b矩阵的第j列相乘得来 c[i][j]aibj

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值