课堂知识点总结

初赛知识点总结

1.计算机常识:

IPv4:32位(2^32-1),IPv6:128位(2^128-1);

C语言不属于面向对象程序设计语言;

ROM:只读存储器,断电信息不会丢失;

RAM:内存,断电信息会丢失。

2.原码反码补码:

正数的原码反码补码一样;

负数的反码是原码(除符号位)各位字符做取反运算;

负数的补码等于反码加一;

零的原码反码有两种,但补码只有一种;

3.算法常识:

(1) 算法的特征: 有穷性,可行性,确定性

(2) 排序算法:

稳定:冒泡排序,插入排序,归并排序,基数排序

不稳定:选择排序,希尔排序,快速排序,堆排序

插入排序:最好 O(n) 最坏 O(n^2)

选择排序:最好 O(n^2) 最坏 O(n^2)

基数排序:最好 O(nk) 最坏 O(nk)

冒泡排序:最好 O(n log n) 最坏 O(n^2)

快速排序:最好 O(n log n) 最坏 O(n^2)

归并排序:最好 O(n log n) 最坏 O(n log n)

希尔排序:最好 O(n log^2 n) 最坏 O(n log^2 n)

(3) 其他算法:

分治算法: 将一个问题拆分成多个子问题进行处理,再将答案进行合并,从而提高效率,加快速度;

贪心算法: 首先,找到可选子问题,求出最优解,达到局部最优,再将其合并,从而获得全局最优;

动态规划: 通过把原问题分解为相对简单的子问题的方式求解复杂问题(背包问题,区间DP,线性DP等);

4.哈夫曼编码:

构造一棵哈夫曼树,算法步骤如下:

初始化 :由给定的个权值构造棵只有一个根节点的二叉树,得到一个二叉树集合。

选取与合并 :从二叉树集合中选取根节点权值 最小的两棵 二叉树分别作为左右子树构造一棵新的二叉树,这棵新二叉树的根节点的权值为其左,右子树根结点的权值和。

删除与加入 :从中删除作为左,右子树的两棵二叉树,并将新建立的二叉树加入到中。

重复2,3步,当集合中只剩下一棵二叉树时,这棵二叉树就是哈夫曼树。

哈夫曼编码**,**其构造步骤如下:

设需要编码的字符集为:d1,d2,…dn,他们在字符串中出现的频率为:w1,w2,…wn。

以d1,d2,…dn作为叶结点,w1,w2,…wn作为叶结点的权值,构造一棵哈夫曼树。

规定哈夫曼编码树的左分支代表0,右分支代表1,则从根结点到每个叶结点所经过的路径组成的0.1,序列即为该叶结点对应字符的编码。

5.数据结构:

栈(stack): 先进后出

队列(queue): 先进先出

双向队列(deque): 栈与队列的结合体

集合(set): 自动排序,并去重

映射(map): 自动排序,不去重

动态数组(vector): 从下标0开始储存数据

树(tree):

根结点: 树最顶端的结点被称为根结点。

叶子结点: 度为0的结点被称为叶子结点

父结点: 度大于0的结点被称为父结点。

子结点 :除根结点以外的所有结点都是子结点

兄弟结点: 同一个父亲的多个子结点互为兄弟。

树的高度: 从根结点到各个叶子结点的最长距离。

树的宽度: 树每一层的结点数量的最大值。

二叉树: 所有结点的度均为0,1,2

完全二叉树: 只有最下面两层结点的度数小于2,且最下面一层的结点都集中在该层最左边的连续位置上。

满二叉树: 所有叶结点的深度均相同,且所有非叶结点的子结点数量均为2的二叉树称为满二叉树。

图(graph):

有向图: 相邻的结点之间的边是单向的;

强连通图: 各个结点之间能够互相到达;

强连通子图: 有向图中包含的较小的强连通图;

强连通分量: 有向图中包含的强连通图的数量;

有向图的入度: 通向这个结点的结点数量;

有向图的出度: 这个结点通向的结点数量;

无向图: 相邻的结点之间的边是双向的;

无向图的度: 与这个结点相连的结点数量;

连通图: 各个结点之间是互相连接的;

连通子图: 无向图中包含的较小的连通图;

连通分量: 无向图中包含的连通图的数量;

5. 格雷码:

构造格雷码:

1.翻转最低位得到下一个格雷码;

2.把最右边的1的左边的位翻转得到下一个格雷码;

3.交替按照上述策略生成2^k-1次,可得到k位的格雷码序列。

6. 运算符优先级:

++( 后自增)

–( 后自减)

()( 括号)

++( 前自增)

–( 前自减)

+( 正号)

- 负号

!( 逻辑取反)

~( 按位取反)

*( 乘法)

/( 除法)

%( 取余)

<( 小于)

<=( 小于等于)

>( 大于)

>=( 大于等于)

==( 等于)

!=( 不等于)

&( 按位与)

^( 按位异或)

|( 按位或)

&&( 逻辑与)

||( 逻辑或)

?:( 条件运算符)

=( 各种赋值运算)

9 个赞

膜拜大佬

2 个赞

+1

2 个赞

orz
膜拜

1 个赞

膜拜

1 个赞

膜拜大佬

1 个赞

总结的非常好,已赞

1 个赞

膜拜orz

1 个赞

帅!