【数据结构】——数据结构概论习题

news/2024/10/22 11:09:39/

目录

  • 题1
  • 题2
  • 题3
  • 题4
  • 题5
  • 题6
  • 题7
  • 题8
  • 题9
  • 题10

题1

1、下列程序段的时间复杂度是()。
A、O(nlog2n)
B、O(n2)
C、O(n)
D、O(log2n)

count=0;
for(k=1;k<=n;k*=2)for(j=1;j<=n;j++)count++;

解析:(A)
由for循环决定,假设最外层m次循b环结束,则有2m+k=n,可得:m=log2n,
另外,内层for循环n次,所以该程序段的时间复杂度:
O(n)=n×log2n=nlog2n。

题2

2、下列程序段的时间复杂度是()。
A、O(logn)
B、O(n1/2)
C、O(n)
D、O(n2)

x=0;
while(n>=(x+1)*(x+1))x=x+1;

解析:(B)
执行k次while循环,每循环一次,x加1,最终x=k,
故n≥k2,得O(n1/2)。

题3

3 、下列程序段的时间复杂度是()。
A、O(nlog3n)
B、O(log3n)
C、O(n2)
D、O(n3)

i=1;
while(i<=n)i=i*3;

解析:(B)
循环次数由i3=n,可得O(log3n)。

题4

4 、下列程序段的时间复杂度是()。
A、O(log2n)
B、O(n)
C、O(n2)
D、O(nlog2n)

int fact(int n){if(n<=1)return 1;return n*fact(n-1)
}

解析:(B)
由于是n次阶乘,即O(n),一共执行n次递归调用fact()函数,所以即为O(n)。

题5

5、每个存储结点只含有一个数据元素,存储结点存放在连续的存储空间,另外有一组指明结点存储位置的表,这种存储方式是()。
A、顺序
B、链式
C、索引
D、散列

解析:(C)
顺序存储由存储单元的邻接关系体现;链式存储不要求逻辑上相邻的元素物理位置上也相邻,通过指示元素存储地址的指针来体现元素之间的逻辑关系;索引存储在存储数据元素的同时还需要建立附加的索引表,其中的索引项的形式为关键字和地址;散列存储是根据数据元素的关键字直接计算其存储地址,也称为哈希存储(Hash)。

题6

6、链式存储的存储结构所占存储空间()。
A、分两部分,一部分存放结点的值,另一部分存放表示结点间关系的指针
B、只有一部分,存放结点的值
C、只有一部分,存放表示结点间关系的指针
D、分两部分,一部分存放结点的值,另一部分存放结点所占单元素

解析:(A)

题7

7、(多选)以下属于逻辑结构的是()。
A、顺序表
B、哈希表
C、有序表
D、单链表
E、栈

解析:(C、E)
有序表是关键字有序的线性表,它是线性结构,可以顺序存储和链式存储,故属于逻辑结构。栈也属于线性结构(逻辑结构),在存储结构中既可以使用顺序存储,也可以使用链式存储。

题8

8、二维数组A[m][n]以行为主顺序存储,每个元素占用l个存储单位。元素A[0][0]的存储地址是b,则元素A[i][j](0≤i≤m-1,0≤j≤n-1)的存储地址是()。
A、b + ( i * n + j ) * l
B、b + i * j * l
C、b + ( i + j ) * l
D、b + ( ( i - 1 ) * n + ( j - 1 ) ) * l

解析:(A)
元素A[i][j]的前面一共有i行元素,每行元素有n个,A[i][j]为本行的第j+1个元素,j个元素位于其前面,所以共有i * n + j个元素,每个元素占用l个存储单位,乘以l,另外加上元素A[0][0]的存储地址,即元素A[i][j]的存储地址是b + ( i * n + j ) * l。

题9

9、下列数据结构中,()是非线性数据结构。
A、树
B、图
C、字符串
D、队列
E、栈

解析:(AB)
逻辑结构分为线性结构和非线性结构,如下:
线性结构是一对一的关系,有线性表、栈、队列、串等;非线性结构是多对多的关系,有二维数组(多维数组)、广义表、树、图等。

题10

10、(判断)在给定的逻辑结构及其存储表示上可以定义不同的运算集合,从而可以得到不同的数据结构。

解析:(×)
例如栈和队列的逻辑结构都是相同的(线性结构,都是操作受限制的线性表),存储结构也相同(顺序和链式),但由于其运算集合不同,从而成为不同的数据结构。


http://www.ppmy.cn/news/189290.html

相关文章

Postman的使用——设置全局参数,参数的传递,从登录接口的响应body中提取数据更新全局参数,从响应cookie中提取数据更新全局变量

Postman的使用——设置全局参数&#xff0c;引用全局参数&#xff0c;参数的传递&#xff0c;从登录接口的响应body中提取数据更新全局参数&#xff0c;从响应cookie中提取数据更新全局变量 一、设置全局参数二、引用全局参数三、从登录接口的响应body中提取数据更新全局参数四…

基于flask的web应用开发——访问漂亮的html页面以及页面跳转

目录 0. 前言1. html基本知识2. 编写html文本3. 在Flask中设置访问html4. 实现点击跳转 0. 前言 本节学习如何在flask应用程序下让用户访问你提前制作好的html页面 操作系统&#xff1a;Windows10 专业版 开发环境&#xff1a;Pycahrm Comunity 2022.3 Python解释器版本&am…

还在担心期末挂科吗? 期末必备复习资料-----“树“的概念

&#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;推荐专栏: &#x1f354;&#x1f35f;&#x1f32f;C语言进阶 &#x1f511;个人信条: &#x1f335;知行合一 &#x1f349;本篇简介:>:记录期末复习 数据结构中有关树的一些知识 金句分享: ✨我将…

文件共享方式

文件共享方式 Linux 与 Linux 之间 NFS 协议 Windows 与 Windows之间 目录共享方式 Linux 与 Windows之间 Liunx搭建上samba共享linux CentOS 6.3下Samba服务器的安装与配置 mount.cifs linux 访问windows共享文件夹的方法 FTP Linux上搭建FTP站点 Windows上搭建FTP站…

企业多人共享文档工具用哪一个团队协作软件?

企业销售部都面临一个共同的问题&#xff1a;客户。很多企业客户资源是共享的&#xff0c;但究竟成员能与哪个客户签单要看各自的业务能力。为了共享客户资源&#xff0c;很多企业采用的方法是将客户的信息整理在文档中并打印出来&#xff0c;人手一份。 每签约成功一个客户&a…

数字金融共享开发工具

随着数字经济上升为国家战略&#xff0c;金融科技推动金融业数字化转型持续深入发展&#xff0c;数字金融已经成为当前主流&#xff0c;推动金融业高质量发展。为有效推动金融业数字化转型&#xff0c;金融就重视数字化转型战略规划的指定&#xff0c;实施组织架构优化&#xf…

[Visual Studio] “共享组件、工具和SDK“路径修改方法

Visual Studio杂项 1.安装1.1."共享组件、工具和SDK"路径修改(Shared路径) 1.安装 1.1."共享组件、工具和SDK"路径修改(Shared路径) Q: “安装了VsStudio后,如果自己修改了Shared路径&#xff0c;当卸载旧版本&#xff0c;需要安装新版本时发现&#xff…

如何实现文档协作共享?

在企业中&#xff0c;避免不了的是团队成员之间的共享协作&#xff0c;时常会发生一个文档需要多个部门成员共同编辑的情况&#xff0c;在这个过程中&#xff0c;文件的反复发送不仅效率低下还无法保证文档数据的安全性。因此一个能够提供多人协作编辑文档、随时可以发起团队内…