信息学奥赛初赛天天练-77-NOIP2015普及组-基础题2-二进制、连通图、最小生成树、链表、二叉树、完全二叉树

NOIP 2015 普及组 基础题2

4 在计算机内部用来传送、存贮、加工处理的数据或指令都是以( )形式进行的

A 二进制码

B 八进制码

C 十进制码

D 智能拼音码

5 下列说法正确的是( )

A CPU 的主要任务是执行数据运算和程序控制

B 存储器具有记忆能力,其中信息任何时候都不会丢失

C 两个显示器屏幕尺寸相同,则它们的分辨率必定相同

D 个人用户只能使用 Wifi 的方式连接到 Internet

12 有6 个顶点的连通图的最小生成树,其边数为( )

A 6

B 5

C 7

D 4

13 链表不具备的特点是( )

A 可随机访问任何一个元素

B 插入、删除操作不需要移动元素

C 无需事物估计存储空间大小

D 所需存储空间与存储元素个数成正比

17 如果根的高度为 1,具有 61 个结点的完全二叉树的高度为( )

A 5

B 6

C 7

D 8

2 相关知识点

1) 二进制

二进制(Binary)是一种计数系统,它只使用两个数字:0和1。它是计算机科学中最基本的数制,因为计算机内部的所有信息都是以二进制形式存储和处理的

在二进制系统中,每一位的权重是2的幂次方

最右边的位(最低位)的权重是2^0 = 1

从右向左数第二位的权重是2^1 = 2

从右向左数第三位的权重是2^2 = 4

以此类推

二进制数的表示方法是从右向左,每一位的数字乘以其对应的权重,然后将所有的结果相加。例如,二进制数1101转换为十进制数的计算过程如下

1 * 2^3 + 1 * 2^2 + 0 * 2^1 + 1 * 2^0 = 8 + 4 + 0 + 1 = 13

2) 连通图

连通性

如果任意两点间存在路径,此图具有连通性

连通图

连通图是指在一个无向图中,任意两个顶点之间都存在一条路径,使得它们相互可达

3) 最小生成树

最小生成树(Minimum Spanning Tree,简称MST,在一个连通的无向图,最小生成树是指包含图中所有顶点的一棵树,且该树的所有边的权重之和最小

如下连通图,边对应数字为边权

对应的最小生成树如下

4) 链表

是一种常见的数据结构,它是由一系列节点(Node)组成,每个节点包含两部分:数据域和指针域。数据域用于存储数据,指针域用于存储下一个节点的地址。链表的第一个节点称为头节点(Head),最后一个节点称为尾节点(Tail),尾节点的指针域指向空(NULL)

链表占用空间大小,和链表的长度有关,没增加一个节点,增加一个数据节点和一个指针节点,存储空间和链表长度成正比

链表的插入删除,只需要改变指针的指向,不需要移动元素

随机存取

随机存取(直接存取,Random Access)指的是当存储器中的数据被读取或写入时,所需要的时间与该数据所在的物理地址无关

顺序存取

顺序存取 (Sequential Access)是一种按记录的逻辑顺序进行读、写操作的存取方法,所需要的时间与该数据所在的物理地址有关。

顺序存取表现为:在存取第N个数据时,必须先访问前(N-1)个数据

#include<bits/stdc++.h>
using namespace std;
/*
  随机存取、顺序存取 
*/ 
int a[10]={0,1,2,3,4,5,6,7,8,9}; 
int main(){
	cout<<a[9]<<endl;//随机读取下标为9的元素 输出 9  

	for(int i=0;i<10;i++){//顺序存储 逐一读取 
		cout<<a[i]<<" ";		
	}
	return 0;
}

数组可以随机以及顺序存取,而链表只能顺序存取

5 二叉树

每个结点至多拥有两棵子树(即二叉树中不存在度大于2的结点),并且,二叉树的子树有左右之分,其次序不能任意颠倒

例如下面是一棵二叉树

完全二叉树

除了最下层,其他每层都饱满,去除最后一层是一棵满二叉树,最下层的结点都集中在该层最左边的若干位置上

3 思路分析

4 在计算机内部用来传送、存贮、加工处理的数据或指令都是以( A )形式进行的

A 二进制码

B 八进制码

C 十进制码

D 智能拼音码

分析

计算机内部使用二进制码是因为它具有简单的逻辑电路实现,只有0和1两个状态,易于实现电子开关

5 下列说法正确的是( A )

A CPU 的主要任务是执行数据运算和程序控制

B 存储器具有记忆能力,其中信息任何时候都不会丢失

C 两个显示器屏幕尺寸相同,则它们的分辨率必定相同

D 个人用户只能使用 Wifi 的方式连接到 Internet

分析

A CPU(中央处理器)是计算机的核心部件,负责执行程序指令和处理数据。它的主要任务确实是执行数据运算和程序控制 正确
B 存储器确实具有记忆能力,但并非所有存储器中的信息任何时候都不会丢失。例如,RAM(随机存取存储器)在断电后会丢失其中的信息 错误
C 屏幕尺寸指的是显示器对角线的长度,而分辨率指的是屏幕上像素的数量。两个显示器即使屏幕尺寸相同,它们的分辨率也可能不同 错误
D 个人用户可以通过多种方式连接到Internet,包括但不限于Wi-Fi、有线网络(如以太网)、移动数据网络 错误
所以选A

12 有6 个顶点的连通图的最小生成树,其边数为( B )

A 6

B 5

C 7

D 4

分析

一个有n个顶点的树恰好有n-1条边
最小生成树是一个树结构,有n-1条边,具体为6-1=5条边
且这5条边的权值之和最小

13 链表不具备的特点是( A )

A 可随机访问任何一个元素

B 插入、删除操作不需要移动元素

C 无需事先估计存储空间大小

D 所需存储空间与存储元素个数成正比

分析

链表插入和删除只需要变更指针,不需要移动元素
链表按节点指针链接,不需要像数组提前预估内存空间,占用空间随着节点增加长度相应正比例增加
链表只能顺序访问,不能随机访问

17 如果根的高度为 1,具有 61 个结点的完全二叉树的高度为( B )

A 5

B 6

C 7

D 8

分析

完全二叉树,除最好一层外,其他层都是满的,第6层不满
高度为1 满二叉树 节点和为1 - 2^1-1=0
高度为2 满二叉树 节点和为3 - 2^2-1=3
高度为3 满二叉树 节点和为7 - 2^3-1=7
高度为4 满二叉树 节点和为15 - 2^4-1=15
高度为5 满二叉树 节点和为31 - 2^5-1=31
高度为6 满二叉树 节点和为63 - 2^6-1=63
61个节点在31~63之间,所以高度为6,前5层都是满的,第6层不满
相关推荐
九圣残炎23 分钟前
【从零开始的LeetCode-算法】1456. 定长子串中元音的最大数目
java·算法·leetcode
lulu_gh_yu29 分钟前
数据结构之排序补充
c语言·开发语言·数据结构·c++·学习·算法·排序算法
丫头,冲鸭!!!1 小时前
B树(B-Tree)和B+树(B+ Tree)
笔记·算法
Re.不晚1 小时前
Java入门15——抽象类
java·开发语言·学习·算法·intellij-idea
为什么这亚子2 小时前
九、Go语言快速入门之map
运维·开发语言·后端·算法·云原生·golang·云计算
2 小时前
开源竞争-数据驱动成长-11/05-大专生的思考
人工智能·笔记·学习·算法·机器学习
~yY…s<#>2 小时前
【刷题17】最小栈、栈的压入弹出、逆波兰表达式
c语言·数据结构·c++·算法·leetcode
幸运超级加倍~3 小时前
软件设计师-上午题-16 算法(4-5分)
笔记·算法
yannan201903133 小时前
【算法】(Python)动态规划
python·算法·动态规划
埃菲尔铁塔_CV算法3 小时前
人工智能图像算法:开启视觉新时代的钥匙
人工智能·算法