IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 初赛 -> 正文阅读

[数据结构与算法]初赛

初赛

对于初赛,虽然其内容往往很简单,而且内容很菜,但是如果过不去初赛,那么再牛的人都只是徒劳,今天,让我们一起整理一下初赛的内容吧!
另外,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

表达式有三个种类,根据中缀转成前缀后缀,则需要把中缀转化成二叉树,前缀后缀转中缀则需要从左从右用栈来扫描即可

图是一种复杂的非线性结构,在多个领域都有用处,非常的厉害
图G通常由两个集合组成,一个点集V,一个边集E
点用边连起来的叫做图,它是一种数据结构
图的一些概念在我的图论这篇文章有详细的介绍,这里只做一些补充吧
回路:起点终点相同的路径叫做回路,又名环
完全图:一个n阶的完全无向图含有n*(n-1)/2条边,有向图含有n*(n-1)条边
图的存储方法在我的另外一篇博客中介绍的详细,分为邻接矩阵和邻接表两种方法
对于一笔画两个问题非常的难理解,如果一个图存在一笔画的路径叫做欧拉路,如果是一条回路叫做欧拉回路
1.欧拉路的条件:图连通并且只有2个奇点
2.欧拉回路的条件:图连通并且有0奇点

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-08-24 15:48:54  更:2021-08-24 15:49:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/29 8:03:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计