分数规划
存储速度等
寄存器>Cache>RAM>ROM>U盘
编程语言
面向过程: C,Basic,Pascal,Fortran
面向对象: 第一个Simula67,第二个Smalltalk,Visual Basic,C++,Java,Object Pascal,Python,Golang,EIFFEL
编译型语言:C/C++,Pascal/Object Pascal,Fortran
解释型语言: Java/JavaScript,Python,ASP,PHP,VBScript,Perl,Ruby,Matlab,Basic。
第一个IDE(集成开发环境):SmallTalk
第一个面向科学计算:Fortran
第一个支持动态类型:Smalltalk
第一个面向对象:Simula67
各种常识
数据库软件:Oracle、ACCESS
操作系统:Solaris。它被认为是UNIX操作系统的衍生版本之一。
中国的第一枚高性能通用CPU芯片是龙芯1号。
Intel 的首颗 64 位处理器是Pentium。
sybase: 美国Sybase公司研制的一种关系型数据库系统,是一种典型的UNIX或WindowsNT平台上客户机/服务器环境下的大型数据库系统。
foxpro: Visual FoxPro原名FoxBase,最初是由美国Fox Software公司于1988年推出的数据库产品,在DOS上运行,与xBase系列兼容。
symbian:2008年12月2日,塞班公司被诺基亚收购。2011年12月21日,诺基亚官方宣布放弃塞班(Symbian)品牌。塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统。
杂项
- 字节(B)是电脑中表示信息含义的最小单位,也是基本存储单位;位(bit)是计算机中数据的最小单位。
- 组成计算机指令的两部分是操作码和地址码(或操作码和操作数)
- 硬盘的存储容量=磁头数×磁道(柱面)数×每道扇区数×每道扇区字节数。
- 根据汉字国际GB2312-80的规定,一个汉字的内码码长为 16bit 。
- 计算机中字符a的ASCII码值是01100001B,那么字符c的ASCII码值是 01100011-B(二进制) 、143-O (八进制)、63-H (十六进制)、97-D(十进制)。
- 计算机中的数有浮点与定点数两种,其中用浮点数表示的数,通常由阶码与尾数这两部分组成。
- windows删除大文件的时候是直接删除而不是放入回收站。
- 与用高级语言编写的数据处理系统相比,用关系数据库编写的系统更容易消除冗余数据。
- 因对半导体的研究和发现了晶体管效应,肖克利(William Shockley)、巴丁(John Bardeen)和布拉顿(Walter Brattain)在1956年被授予诺贝尔物理学奖。
各种协议
物理层:以太网 · 调制解调器 · 电力线通信(PLC) · SONET/SDH · G.709 · 光导纤维 · 同轴电缆 · 双绞线等
数据链路层:Wi-Fi(IEEE 802.11) · WiMAX(IEEE 802.16) ·ATM · DTM · 令牌环 · 以太网 ·FDDI · 帧中继 · GPRS · EVDO ·HSPA · HDLC · PPP · L2TP ·PPTP · ISDN·STP · CSMA/CD等
网络层协议:IP (IPv4 · IPv6) · ICMP· ICMPv6·IGMP ·IS-IS · IPsec · ARP · RARP · RIP等
传输层协议:TCP · UDP · TLS · DCCP · SCTP · RSVP · OSPF 等
应用层协议:DHCP ·DNS · FTP · Gopher · HTTP· IMAP4 · IRC · NNTP · XMPP ·POP3 · SIP · SMTP ·SNMP · SSH ·TELNET · RPC · RTCP · RTP ·RTSP· SDP · SOAP · GTP · STUN · NTP· SSDP · BGP 等
Telnet协议用于远程登录。
SMTP发送,POP接收。
UDP 协议是 不可靠 的无连接协议,使用UDP协议的应用程序要承担可靠性方面的全部工作。
IP地址
简而言之就是:IP地址 = 网络号+主机号
A类ip地址: 0-127,其中0代表任何地址,127为回环测试地址,因此,A类ip地址的实际范围是1-126。默认子网掩码为255.0.0.0。
B类ip地址:128-191,其中128.0.0.0和191.255.0.0为保留ip,实际范围是128.1.0.0--191.254.0.0。默认子网掩码为255.255.0.0。
C类ip地址:192-223,其中192.0.0.0和223.255.255.0为保留ip,实际范围是192.0.1.0--223.255.254.0。默认子网掩码为255.255.255.0。
D类ip地址:224-239,(224.0.0.0到239.255.255.255)用于多点广播。
E类ip地址:240-255,(240.0.0.0到255.255.255.254)255.255.255.255用于广播地址。
127.0.0.1 等效于localhost或本机IP。 一般用于测试使用。例如:ping 127.0.0.1来测试本机TCP/IP是否正常。http://127.0.0.1:8080 等效 http://localhost:8080
每一个字节都为0的地址(0.0.0.0)对应当前主机。
IP地址中的每一个字节都为1的IP地址(255.255.255.255)是当前子网的广播地址。
IP地址中凡是以11110开头的E类IP的地址,都保留用于将来和实验使用。
网络号的第一个8位不能全为0。
IP地址不能以127为开头,该类地址中数字127.0.0.1~127.255.255.254用于回路测试。
计算机网络
世界上第一个计算机网络,并在计算机网络发展过程中,对计算机网络的形成与发展影响最大的是ARPA NET。
LAN/MAN/WAN 对应 局域网/城域网/广域网。
计算机网络通信的一个显著特点是间歇性、突发性。
主定理
各种排序
任意交换次数:n-置换环个数
相邻交换次数:逆序对个数
各种最短路
算法名称 | 时间复杂度 | 能否处理负边权 | 能否处理负权回路 |
---|---|---|---|
Floyd | (O(n^3)) | 能 | 否 |
Dijkstra | (O(n^2))或(O((n+m) log m)) | 否 | 否 |
Bellman-ford | (O(nm)) | 能 | 能 |
spfa | 最坏(O(nm)) | 能 | 能 |
需要注意的是,以 点为源点跑 Bellman-Ford 算法时,如果没有给出存在负环的结果,只能说明从 点出发不能抵达一个负环,而不能说明图上不存在负环。
因此如果需要判断整个图上是否存在负环,最严谨的做法是建立一个超级源点,向图上每个节点连一条权值为 0 的边,然后以超级源点为起点执行 Bellman-Ford 算法。
树转二叉树
图
当且仅当一个图不含奇环,它是二分图。
欧拉路径,每条边恰好被经过一次。要求:若是无向图,则这个图的度数为奇数的点的个数必须是0或2,且该图是连通图;若是有向图,则要么所有点的入度和出度相等,要么有且只有两个点的入度分别比出度大1和少1,且该图是连通图。
回路,回到起点。无向图存在欧拉回路,当且仅当该图所有顶点度数都为偶数,且该图是连通图。有向图存在欧拉回路,所有顶点的入度等于出度且该图是连通图。
哈密尔顿路径,每个顶点经过一次。回到起点。n个顶点的完全图有 ((n-1)!/2) 个哈密尔顿回路。
数学
卡特兰数 (frac {{2n} choose n} {n+1})
第二类斯特林数 (S(n, k)) (n) 个不同元素划分成 (k) 个相同盒子。(S(n,k)=k*S(n-1,k)+S(n-1,k-1),S(n,1)=1(nge 1),S(n,n)=1)
(n) 个相同元素划分成 (k) 个相同盒子 (f(n,k)=f(n-1,k)+f(n,k-n)) 当前取零和对于之前某种全部+1
错排 (f_n=(n-1)*(f_{n-1}+f_{n-2}))
运算符优先级
优先级 | 符号 | 名称 |
---|---|---|
2 | ! ~ |
逻辑非,逐位非 |
5 | */% |
乘除余 |
6 | +- |
加减 |
7 | << >> |
逐位左移和右移 |
9 | < > <= >= |
关系运算符 |
10 | == != |
相等性运算符 |
11 | & |
逐位与 |
12 | ^ |
逐位异或 |
13 | | |
逐位或 |
14 | && |
逻辑与 |
15 | || |
逻辑或 |
P、NP
P、NP、NPC、NP-H、Non-NP
P类问题:能在多项式时间内解决的问题;
NP问题:能在多项式内验证一个解的问题;
NPC问题(NP-complete):所有NP问题都可以归约为NPC问题;
NP-H问题(NP-hard):所有NP问题能在多项式时间内归约到的问题。
Non-NP问题:多项式时间内不能验证一个解的问题。
贝叶斯定理
贝叶斯定理可以通过条件概率推导。
A和B是两个事件,条件概率指某个事件发生后另外一个事件发生的概率。
用数学符号表示,P(A|B)指事件B发生的条件下,事件A发生的概率。反之,P(B|A)指事件A发生的条件下,事件B发生的概率。
下图黄色区域是A和B两个事件同时为真的概率,
它既等于
事件A发生的概率乘以事件A发生后事件B发生的条件概率,
也等于
事件B发生的概率乘以事件B发生后事件A发生的条件概率。
P(A)*P(B|A) = P(B)*P(A|B)
由上可以推导出:
P(A|B) = P(A)*P(B|A)/P(B)
这个计算事件B发生后事件A发生概率的公式就是大名鼎鼎的贝叶斯公式。