W
e
l
c
o
m
e
: )

初赛零散知识点

Linux 命令

directory 意为“目录”。

mkdir:即 make directory,新建文件(目录)

cp:即 copy,复制文件(目录)

mv:即 move,移动文件(目录)

rm:即 remove,删除文件(目录)

cd:即 change directory,更改文件(目录)

pwd:即 print working directory,输出(显示)当前所在文件(目录)

ls:即 list,查看文件(目录)

数码转换

D/B/O/H 分别是 十进制/二进制/八进制/十六进制。

(255)D=(11111111)B=(377)O

base64:先 A-Z,再a-z,最后是 0-9 以及 +/

ASCII 码:0 48,A 65,a 97,<=> 为 60/61/62,+-*/ 分别为 43/45/42/47。

区位码、国标码:表示汉字,(区位码)H+(2020)H=(国标码)H

原码:有符号二进制数,负数的最高为为 1,正数为 0

反码:正数不变,负数除符号位取反。

补码:反码 + [是否为负数]

负数以补码形式参与位运算!

运算符优先级:

第一级:后缀,即 () [] -> . 和自加减 ++ --

第二级:一元运算符,正负号(不是加减)+ -,逻辑非 !,按位取反 ~,取地址符号 &

第三级:四则运算 */% > +-

第四级:移位(左移右移)

第五级:大小关系符号 < <= > >= == !=

第六级:二元位运算 & > ^ > |

第七级:逻辑二元运算符 && > ||

第八级:三目运算符

第九级:赋值 = += -= *= &= |= ...

第十级:逗号 ,

奇怪的东西

TCP-IP 协议分别为 传输层 和 网络层协议

C 语言是面向过程编程语言。

面向对象编程语言有 C++、Jvav、C#、PHP、python、visual basic(VB)

文件大小

老生常谈

分辨率=位深/8

排序

以下用 O(f(n))O(g(n)) 来表示最优/最劣复杂度。

偷个

插入排序

遍历 i:[1,n]aij:(i,1](倒序)比较,若 ai<aj 则交换并 j,否则停止。

数组顺序时不会交换,倒序时会被卡满,因此复杂度为 O(n)O(n2),由于交换的两个位置严格小于,所以是稳定的。

希尔排序

每次选择一个增量 d,将下标序列分别为等差数列 [kd],[kd+1],[kd+k1] 中的元素分为 k 组,每组内部使用插入排序,期望复杂度比插入排序略优为 O(n1.32),但照样能卡满。

但是由于对下标进行了分组,导致某个 ai=aj,i<jj 可能会被换到 i 前面(此时 i,j 不同组)。

选择排序

遍历 i:[1,n],从 [i,n] 中找到最小值 aj,执行 swap(ai,aj),复杂度显然是 O(n2) 的。

为什么不稳定呢?因为我们把原来的 ai 换到后面去了,如 a=[2,2,1],第一个二就被我们丢到了后面。

堆排序

应该不会有人不知道吧?

冒泡排序

不会有人不会吧?

稳定性:由于我们是 i:[1,n],then j:[i,n] 并且是判 <,不会破坏稳定性。

快速排序

sort

分治 [l,r],选择一个基准 mid,将 <amid 的放 mid 前面,否则放后面,随后分治 sort 被 mid 切开的两个区间(不包含 mid)。

由于我们把 amid 的全丢到 mid 后面了,这样就破坏了稳定性。

归并排序

posted @   127_127_127  阅读(52)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示