初赛

初赛

对于初赛,虽然其内容往往很简单,而且内容很菜,但是如果过不去初赛,那么再牛的人都只是徒劳,今天,让我们一起整理一下初赛的内容吧!
另外,POLICE大人保佑我顺顺溜溜的过初赛

计算机

1.1946年,美国诞生了世界第一台计算机ENIAC,占地170平方米 ,质量30吨
2.电子元件的排序,电子管,晶体管,集成电路,超大规模集成电路
3.计算机的基本结构是冯诺依曼提出的
4.计算机可以分为巨型机、大型机、中型机、小型机、微型机、工作站
5.计算机存储器是用字长编制的
6.B KB MB GB TB PB他们之间的进率是1024
7.存储有,CPU-内存储器-外存储器三个之间互相构成
8.内存储器分为RAM、ROM、Cache三种,分别为随机存储、只读存储、高速缓冲
9.外存储器就是优盘、软盘、硬盘等,是用来辅助的,可有 可无
10.CPU的处理速度用主时钟频率表示
11.对于不同的语言,机器语言-汇编语言-高级语言
12.计算机中的字符编码采用ASCLL编码
13.国际的GB2312-80采集一级汉字按拼音,二级汉字按偏旁部首,是按16×16个点表示
14.原码就是二进制;反码就是正数是本身,负数就是除了第一位及那个其他位取反;补码就是正数是本身反码加1
15.局域网LAN,城域网MAN,广域网WAN

进制

十进制转任何进制n(二八十六)整数不断短除n,然后余数倒序输出;小数的话不断地乘以n,整数部分正序输出,两个都是直至到1为止
任何进制n转十进制(二八十六)用每一位乘上n的次方,从右往左0依次开始,最后相加

算法

算法是对问题求解一种描述方法,一指令优先序列,算法是解决问题的操作步骤
算法有很多性质,但是这些性质在初赛中往往没有什么用,了解就行了
1.有穷性:算法在一定的时间限制下完成
2.确定性:每个算法都有固定的用法,不允许有歧义
3.输入输出:输入可以忽略,没有输出的算法是没有意义的
4.可行性:算法必须遵循特定限制下都得解题规则

复杂度

复杂度,确定一个算法优劣情况,影响算法的效率,一个算法的评价通常用时间复杂度(TC)和空间复杂度(SC)来分析
时间复杂度,是指算法的计算工作量和基本的运算次数常用O表示
空间复杂度,是指一个算法的所需要的内存空间,空间分为:输入数据所占的存储空间,程序本身的空间,算法执行所需的存储空间

基础算法

1.高精度,分为加减乘除四个基本运算,有的时候还会冒出来取余等运算,其实基本的思路就是利用字符串数组来解决,输入的时候按照字符串输入,然后按位存到数组里面,再每一位每一位的操作即可
2.枚举,就是将有限可能的集合将元素一一列举出来,再根据限制条件筛选出正解
3.排序
插入、冒泡、选择O(n2)
其他线性排序O(nlogn)
线性排序O(n)
插入、冒泡、归并以及线性排序都是稳定的
选择、希尔、快速、堆是不稳定的
线性、归并空间为O(n),其他的排序空间为O(1)
当n较小的时候用选择排序,空间允许用桶,n较大用快速或者归并
4.递推,是一种重要的数学方法,也是数值计算的一个重要算法,递推算法的思路就是:在求解问题中,已知条件和所求问题之间存在某种关系,然后根据这关系,逐步求解问题
5.递归,函数或者过程自己调用自己
6.搜索,很多问题,根据某种关系的计算法则来求解,回溯,是用来控制搜索算法的,它的思想就是:为了求问题的解,先选择某种可能情况进行探索,一旦发现选择是错误的,及时的退回去 重新选择,如此反反复复,直至找到答案
7.贪心,在问题求解的时候,总是做出眼前 看来最好的选择,不从整体考虑,只考虑局部
它是一种思想,没有固定的框架,是一种策略
8.分治,分而治之,将大规模转化成小规模的问题,通过小的问题来推导出整体问题,如果分解的时候分成两个,就叫做二分
9.广搜,用限制规则依次搜索每一层,直至找到答案

逻辑运算

逻辑运算计算逻辑,有三个种类
1.非!将结果取反
2.与&,两边都是真结果才为真
3.或|,两边有一个是真结果才为真
4.异或^,相同为0不同为1
在二进制的位运算中,缺位用0代表,垂直对应两位
当然在逻辑中,不会有二进制的01操作,只会存在真与假的操作
在一些逻辑中,ʌ表示&&,v表示||,┐表示!
在集合中又会有并运算交运算和差运算
这些集合的运算在高中数学这篇文章中提到了,这里就不在提了

栈是一个只能在某一端插入和删除的特殊线性表
先进来的压在底下,然后一件一件往上堆起来,堆起来和取出来这两个操作都在顶部进行,底部不动
进栈称作PUSH,退栈称作POP,栈顶叫做TOP
进栈出栈只需要将top指针加一减一
栈又分为上溢和下溢两个错误,下溢的意思就是下面溢出,是指当栈为空的时候还要出栈,那么就出错误了;上溢的意思就是上面溢出,是指栈已经满了,还要入栈,也是一种错误
在日后的做题中,上溢是一种致命的错误
栈在历年的初赛中经常出现,要牢实掌握

队列

队列是在一端进行插入,另一端进行删除的特殊线性表,就像排队买东西一样,越往前的人越早离开队伍,后来的人越晚离开队伍
我们经常把队列删除操作叫做出队,插入操作叫做入队
然后用head表示队头的指针,用tail表示队尾的指针,让元素出队则需要将head++,让元素入队则需要将tail–
对于循环队列,则是为了省空间时间开创了一个首尾相接的环状的东西
计算元素个数的公式(tail-head+n)%n

前面我们了解的东西叫做线性数据结构 ,他们的每一个元素都是前驱和后继的(除了第一个元素和最后一个元素),也就是像一条线一样,线性数据结构的应用很广泛,但是有的时候用线性并不能表示,比如家谱和机构表,都是非线性的数据结构,树就是一种非线性的数据结构
树是由n个元素 组成的有限集合,而且有一个特定的节点,除了根节点之外,其他的根节点,其他的节点 能分成m个互不相交的有限集合,每一个集合又是一棵树
一个节点的儿子的个数叫做这个点的度,度为0的节点叫做叶节点,度不为0的节点叫做分支节点;在树中各个节点的最大值叫做树的度
看具体题目的要求,定义的根节点的层次,然后子节点的层次依次增一,一棵树的最深层次叫做深度
森林是指互不相交的树的集合
对于树的遍历,则有前序遍历,中序遍历,后序遍历三种情况,这三个的区别在于根的位置
关于树,有一大堆公式,必须灵活掌握这些公式
二叉树的各种公式(重点重点重点):
1.二叉树的第i层有2i-1个节点
2.深度为k的二叉树至多有2k-1
3.如果叶子节点有n0个,度为2的节点数为n2,那么满足n0=n2+1
4.n=n1+2n2+1(n1表示1度节点的个数,依次类推)
5.n=2n0-1
6.n个节点的二叉树的深度为floor(log2,n)+1,floor表示向下取整
7.一个节点编号为i,他的左儿子为2i,右儿子为2i+1

表达式有三个种类,根据中缀转成前缀后缀,则需要把中缀转化成二叉树,前缀后缀转中缀则需要从左从右用栈来扫描即可
树的类型在不确定的情况,一定要注意曼哈顿 、链、满这三种BT
在满二叉树中可以大摇大摆的套公式,但是完全二叉树具有恶心的性质,要谨慎
还有一定要注意在树中的根节点的深度,如果是1就正常,如果是0需要注意一些边界情况

图是一种复杂的非线性结构,在多个领域都有用处,非常的厉害
图并没有太多的公式需要计算,但是关于图的概念非常的多还有就是dfs和bfs需要熟练掌握
图G通常由两个集合组成,一个点集V,一个边集E
点用边连起来的叫做图,它是一种数据结构
图的一些概念在我的图论这篇文章有详细的介绍,这里只做一些补充吧
回路:起点终点相同的路径叫做回路,又名环
完全图:一个n阶的完全无向图含有n*(n-1)/2条边,有向图含有n*(n-1)条边
图的存储方法在我的另外一篇博客中介绍的详细,分为邻接矩阵和邻接表两种方法
对于一笔画两个问题非常的难理解,如果一个图存在一笔画的路径叫做欧拉路,如果是一条回路叫做欧拉回路
1.欧拉路的条件:图连通并且只有2个奇点,然后从奇点入手
2.欧拉回路的条件:图连通并且有0奇点
通过每个点一次的是哈密尔顿图,每个边一次的是欧拉图
拓扑排序的图也有很多的考点,不能为环,入度为0点不一定在入度不为0前面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值