下周六就是CSP-J/S第一轮认证了,今天小编盘点了一下往年NOIP初赛知识点,给各位学员参考巩固一下知识点...
分两类:面向对象和面向过程。 高级语言需要编译运行,常数较大,运行速度慢。而低级语言常数极小,运行速度快。此外,高级语言更容易移植。 汇编 C++,Java,EIFFEL,Simula 67等。 C,Fortran语言。 递归是指一种通过重复将问题分解为同类的子问题而解决问题的方法。递归式方法可以被用于解决很多的计算机科学问题。简单来讲,就是“自身调用自身”(在函数中)。 1、P类问题:如果一个问题能找到一个在多项式时间内解决它的算法,那么这个问题就是P问题。 2、NP类问题:注意:NP问题不是非P类问题,而是在多项式时间内验证一个解的问题。或者,我们可以将其理解为在多项式时间内猜出一个解的问题。 3、NPC类问题:定义如下:如果一个问题是NP问题,而且所有的NP问题都可以约化到它。那么它就是NPC类问题。再来介绍一下关于约化的定义:如果一个问题A可以约化为问题B,含义就是这个问题A可以用问题B的解法来解决。 先上张大图: 硬件:
CPU(中央处理器)=运算器+控制器+寄存器 存储器=内存储器+外存储器 BIOS是英文'Basic Input Output System'的缩略语,直译过来后中文名称就是'基本输入输出系统'。其实,它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序。其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。 随机存储器RAM的“随机”指“随时访问” 所以,我们记下来以下知识点: 断电后可以保存数据:硬盘,ROM 断电后不可以保存数据:显存(显卡内存),RAM,CPU 计算机的存储单位有以下几种: 𝑇𝐵/𝐺𝐵/𝑀𝐵/𝐾𝐵/𝐵 他们之间的进位关系为1024(这应该是常识) 特殊地,1𝐵=8(𝑏𝑖𝑡),这里的𝑏𝑖𝑡是二进制下的一位内存。 将十进制转换成𝑁进制,只需把十进制数每次除𝑁求余数,然后把余数逆序写出来。 看不懂就看图: 这是二进制的图,其他进制就类比推一下就可以了。 简单说就是:按位转,第𝑖位的数字乘以要转换的进制的𝑛−1次幂即可。 还是上图: 这里考虑用十进制做中转,先把𝐴进制转十进制,再把十进制转𝐵进制。 十进制转任意进制的小数不进行除法运算,而进行乘法运算后取整,取整后从前向后排列。 任意进制转十进制的小数只需要乘上负指数,最后算出来即可。 𝐻(𝐻𝑒𝑥𝑎𝑑𝑒𝑐𝑖𝑚𝑎𝑙)——16进制 𝐷(𝐷𝑒𝑐𝑖𝑚𝑎𝑙)——10进制 𝑂(𝑂𝑐𝑡𝑜𝑛𝑎𝑟𝑦)——8进制 𝐵(𝐵𝑖𝑛𝑎𝑟𝑦)——2进制 二进制是计算机进行计算所使用的工具,自然也是非常常考的要点。二进制的相关知识有许多,甚至算法中的位运算也是二进制的相关内容,但为了过第一轮初赛,我们只介绍一些理论知识。关于位运算的相关知识请有兴趣的同学自己学习。 顾名思义,原码就是十进制数直接转换成二进制之后直接形成的二进制编码。 正数的补码是本身,负数的补码是其反码加一。 顾名思义:正数的反码是本身,负数的反码是其除符号位之外的所有位按位取反的结果。 附:ASCII码 ASCII码的正规名称是:美国信息交换标准代码,是基于拉丁字母的一套电脑编码系统。是最通用的信息交换标准。一共定义了128个字符。 这里不赋ASCII码的转换表。只给出几种比较常用的转换: 字符0→48 大写字母A→65 小写字母a→97 空格→32 换行→13 逻辑运算一共有三种,每种都有两种写法: 逻辑非:!或 ┐ 逻辑与:&& 或 ∧ 逻辑或:|| 或 ∨ 逻辑运算的优先级 非>与>或 位运算+逻辑运算的优先级 逻辑非(!,┐)=按位反(~)>位移运算(<<,>>)>不等号(>=,<=)>等号(==,!=)>按位与(&)>按位异或(^)>按位或(|)>逻辑与(&&,∧)>逻辑或(||,∨) 逻辑表达式 由逻辑运算复合而成,只有两种结果:𝑡𝑟𝑢𝑒和𝑓𝑎𝑙𝑠𝑒,C/C++中,返回的值以0表示假,以1表示真。 条件表达式 条件表达式的基本形式如下: <表达式1>?<表达式2>:<表达式3> 其表达意义是:如果表达式1成立,则执行表达式2,否则执行表达式3。其实也等价于𝑖𝑓−𝑒𝑙𝑠𝑒条件语句。例如下: 注意:如果条件表达式有多个进行复合,那么在执行的时候需要从由往左依次判断最后得出一个结果。即:右结合性。 比如: <表达式1>?<表达式2>:<表达式3>?<表达式4>:<表达式5> 那么,在执行的时候是从3开始判断是否为真,然后执行某一个表达式,依次向上回溯。
𝑛×(𝑛−1) 2
我们用一张图来理解一下这几种遍历方式。 这张图的先序遍历:1245367 中序遍历:4251637 后序遍历:4526731
先序遍历+中序遍历=一棵确定的二叉树 后序遍历+中序遍历=一棵确定的二叉树 先序遍历+后序遍历=啥也不是
图例如下:
图例如下:
1、对于一棵满二叉树来讲,它的叶子节点为𝑛,则节点总数为2×𝑛−1。此结论可逆。 2、对于一棵满二叉树来讲,它的层数(深度)为𝑘,则它的节点总数为2𝑘−1。此结论可逆。 想象一个桶,你从上面往里扔砖,然后你想把某一块砖拿出来,你需要先拿出来你后扔进去的砖。这就是栈。栈的基本原则是:后进先出。 图示: 想象你在排队买票,这个队伍中的人都非常有素质,都自觉排队而且不会提前离开队伍。这样就只能从队首买完票再离开,从队尾进入队伍。队列的基本原则是:先进先出。 图示: 链表分两种:单向链表和双向链表。
公式:𝑛为元素个数,𝑀为最终答案(以𝑀𝐵为单位) PS:一般来讲,比赛中所给的256𝑀𝐵内存可以开6×107个𝑖𝑛𝑡类型的变量。另外,大数组必须开全局变量。如果扔在主函数里极容易爆栈。
|
|