[数据结构]串、数组 C++编程作业

1 . 关于串的叙述,正确的是( )。

A.串是含有一个或多个字符的有穷序列

B.空串是只含有空格字符的串

C.空串是含有零个字符或含有空格字符的串

D.串是含有零个或多个字符的有穷序列

 解析

串是一种特殊的线性表,其元素为单个字符,长度可以为0。

2 . 下面关于串的叙述中,正确的是( )。

A.串是一种特殊的线性表

B.串中元素只能是字母

C.空串就是空白串

D.串的长度必须大于零

 解析

串是一种特殊的线性表,其元素为单个字符,长度可以为0。

3 . 关于串的的叙述,不正确的是( )。

A.串是字符的有限序列

B.空串是由空格构成的串

C.替换是串的一种重要运算

D.串既可以采用顺序存储,也可以采用链式存储

 解析

空串中不含任何字符,包括空格。

4 . 两个字符串相等的条件是( )。

A.串的长度相等

B.含有相同的字符集

C.都是非空串

D.串的长度相等且对应的字符相同

5 . 串的长度是指( )。

A.串中所含不同字母的个数

B.串中所含字符的个数

C.串中所含不同字符的个数

D.串中所含非空格字符的个数

6 . 串是一种特殊的线性表,其特殊性体现在 ( )。

A.可以顺序存储

B.数据元素是单个字符

C.可以链接存储

D.数据元素可以是多个字符

 解析

串中每个元素是单个字符。

7 . 若串str=“Software”,其子串的数目是( )。

A.8

B.9

C.36

D.37

 解析

该串中所有字符不相同,长度为0的子串1个,长度为1的子串8个,长度为2的子串7个,…,长度为7的子串2个,长度为8的子串1个,总计子串数=1+8+7+…+2+1=1+8×9/2=37。

8 . 若串s为一个长度为n的串,其中各字符不相同,则s中真子串的数目是( )。

A.n(n-1)/2

B.n(n+1)/2

C.n(n+1)/2+1

D.n(n-1)/2+1

 回答错误

解析

该串中所有字符不相同,长度为1的子串n个,长度为2的子串n-1个,…,长度为n-1的子串2个,长度为0的子串1个,总计真子串数=n+(n-1)+…+2+1=n(n+1)/2。

9 . 串采用结点大小为1的链表作为其存储结构,是指 ( )。

A.链表的长度为1

B.链表中只存放一个字符

C.链表中每个结点的数据域中只存放一个字符

D.以上都不对

 解析

链串结点大小指每个结点存放的字符个数。

10 . .对于一个链串s,查找第一个元素值为x的算法的时间复杂度为 ( )。

A.O(1)

B.O(n)

C.O(n2)

D.以上都不对

 解析

在链串查找第一个元素值为x的算法的时间复杂度为O(n)。

11 . 下面关于串的的叙述中,哪一个是不正确的?( )

A.串是字符的有限序列

B.空串是由空格构成的串

C.模式匹配是串的一种重要运算

D.串既可以采用顺序存储,也可以采用链式存储

12 . 若串S1=‘ABCDEFG’, S2=‘9898’ ,S3=‘###’,S4=‘012345’,执行 concat(replace(S1,substr(S1,length(S2),length(S3)),S3),substr(S4,index(S2,‘8’),length(S2))) 其结果为( )

A.ABC###G0123

B.ABCD###2345

C.ABC###G2345

D.ABC###2345

E.ABC###G1234

F.ABCD###1234

G.ABC###01234

13 . 设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为( )

A.求子串

B.联接

C.匹配

D.求串长

14 . 若串S=’software’,其子串的数目是( )。

A.8

B.37

C.36

D.9

15 . 设S为一个长度为n的字符串,其中的字符各不相同,则S中的互异的非平凡子串(非空且不同于S本身)的个数为( )。

A.2n-1

B.n2

C.(n2/2)+(n/2)

D.(n2/2)+(n/2)-1

E.(n2/2)-(n/2)-1

F.其他情况

16 . 串的长度是指( )

A.串中所含不同字母的个数

B.串中所含字符的个数

C.串中所含不同字符的个数

D.串中所含非空格字符的个数

17 . 设模式t=”abcabc”,则该模式的next值为( )。

A.{-1,0,0,1,2,3}

B.{-1,0,0,0,1,2}

C.{-1,0,0,1,1,2}

D.{-1,0,0,0,2,3}

 解析

j=0,next[0]=-1

j=1,next[1]=0

j=2:

k=1,t0≠t1,故next[2]=0

j=3:

k=1,t0≠t2

k=2,t0t1≠t1t2,故next[3]=0

j=4:

k=1: t0=t3

k=2: t0t1≠t2t3

k=3: t0t1t2≠t1t2t3,故next[4]=1

j=5:

k=1: t0≠t4

k=2: t0t1=t3t4

k=3: t0t1t2≠t2t3t4

k=4: t0t1t2t3≠t1t2t3t4,故next[5]=2

18 . 将数组称为随机存取结构是因为( )。

A.数组元素是随机的

B.对数组任一元素的存取时间是相等的

C.随时可以对数组进行访问

D.数组的存储结构是不定的

19 . 数组A中,每个元素的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A[8][5]的起始地址为( )。

A.SA+141

B.SA+180

C.SA+222

D.SA+225

20 . 多维数组之所以有行优先顺序和列优先顺序两种存储方式,原因是( )。

A.数组的元素在行和列两个关系中

B.数组的元素必须从左到右顺序排列

C.数组的元素之间存在顺序关系

D.数组是多维结构,内存是一维结构

21 . 下面说法中,不正确的是( )。

A.对称矩阵只需存储包括主对角线在内的上(或下)三角的元素即可

B.对角矩阵只需存放非零元素即可

C.稀疏矩阵中值为零的元素较多,因此可以采用三元组表方法存储

D.稀疏矩阵中大量值为零的元素分布有规律,因此可以采用三元组表方法存储

22 . 下面( )不属于特殊矩阵。

A.对角矩阵

B.三角矩阵

C.稀疏矩阵

D.对称矩阵

23 . 对特殊矩阵采用压缩存储的目的主要是为了( )。

A.表达变得简单

B.对矩阵元素的存取变得简单

C.去掉矩阵中的多余元素

D.减少不必要的存储空间

24 . 稀疏矩阵的常见压缩存储方法有( )两种。

A.二维数组和三维数组

B.三元组和散列表

C.三元组和十字链表

D.散列表和十字链表

25 . 一个非空广义表的表头( )。

A.不可能是子表

B.只能是子表

C.只能是原子

D.可以是原子或子表

26 . 关于广义表,下列说法不正确的是( )。

A.广义表的表尾总是一个广义表

B.广义表的表头总是一个广义表

C.广义表难以用顺序存储结构表示

D.广义表可以是一个多层次的结构

27 . 广义表G=(a, b, (c, d, (e, f)),G) 的长度是( )。

A.8

B.4

C.7

D.3

28 . 设广义表L=((a, b, c)),则L的长度和深度分别是( )。

A.1和1

B.1和3

C.1和2

D.2和3

29 . 以下论断正确的是( )。

A.""是空串," "空格串

B."BEIJING"是"BEI JING"的子串

C."something"<"Something"

D."BIT"="BITE"

30 . 某串的长度小于一个常数,则采用( )存储方式最节省空间。

A.链式

B.顺序

C.堆结构

D.无法确定

31 . 若串S="SOFTWARE",其子串的数目最多是( )。

A.35

B.36

C.37

D.38

32 . 已知二维数组A[6][10],每个数组元素占4个存储单元,若按行优先顺序存放,数组元素a[3][5]的存储地址是1000,则a[0][0]的存储地址是( )。

A.872

B.860

C.868

D.864

33 . 广义表是线性表的推广,它们之间的区别在于( )。

A.能否使用子表

B.能否使用原子项

C.是否能为空

D.表的长度

34 . 下列广义表属于线性表的是( )。

A.E=(a, E)

B.E=(a, b, c)

C.E=(a, (b, c))

D.E=(a, L);L=()

35 . 广义表((a, b), c, d)的表尾是( )。

A.a

B.d

C.(a, b

D.(c, d)

36 . 广义表A=((x, (a, b)), (x, (a, b), y)),则运算head(head(tail(A)))为( )。

A.x

B.(a,b

C.(x,(a, b))

D.A

37 . 回文字符串

输入一个字符串,判断该串是否是回文字符串(即从头到尾读跟从尾到头读是一致的)。

是则输出“yes”

否则输出"no"

例如:输入 aabbcc,输出 no

输入 abcba,输出 yes

输入 abccba,输出 yes

 答案

#include <iostream>using namespace std;

bool huiwen(string str){

    int len=str.length();



    for(int i=0;i<len/2;i++){

        if(str.at(i)!=str.at(len-1-i))

            return false;

    }

    return true;

}int main(){



    string str;

    cin>>str;

    cout<<(huiwen(str)?"yes":"no");

    return 0;

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/221217.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

UE Windows平台下Linux的交叉编译项目打包

UE Windows平台下Linux的交叉编译项目打包 交叉编译&#xff08;Cross-compilation&#xff09; 使得在以Windows为中心的工作流程中工作的游戏开发者能够以Linux为目标对项目进行打包。目前&#xff0c;只有Windows支持交叉编译。 交叉编译支持的平台 Windows | Linux-x86_…

java8 常用code

文章目录 前言一、lambda1. 排序1.1 按照对象属性排序&#xff1a;1.2 字符串List排序&#xff1a;1.3 数据库排序jpa 2. 聚合2.1 基本聚合&#xff08;返回对象list&#xff09;2.2 多字段组合聚合&#xff08;直接返回对象list数量&#xff09; 二、基础语法2.1 List2.1.1 数…

附录B 存储次层次结构回顾

1. 引言 缓存是指地址离开处理器后遇到的最高级或第一级存储器层次结构。 如果处理器在缓存中找到了所请求的数据项&#xff0c;就说发生了缓存命中。如果处理器没有在缓存中找到所请求的数据项&#xff0c;就说发生了缓存缺失。此时&#xff0c;包含所请求的字的固定大小的数…

五年制专转本经验分享

五年制专转本经验分享 提早设定学习目标&#xff0c;会让你努力更有方向&#xff01;同学们在大一、大二时不要以为专转本离你还很远&#xff0c;时际上根据我们十多年的培训经验来说&#xff0c;专转本备考越早准备越有利于通过&#xff01;大家知道英语科目的话&#xff0c;在…

LeetCode437.路径总和III

看完题目我就拿直接用递归写了如下代码&#xff1a; class Solution {private int ans;public int pathSum(TreeNode root, int targetSum) {ans 0;dfs(root, targetSum, 0);return ans;}public void dfs(TreeNode root, int targetSum, int sum){if(root null)return;sum r…

Python中判定列表是否包含某个元素的方法

更多Python学习内容&#xff1a;ipengtao.com 大家好&#xff0c;我是彭涛&#xff0c;今天为大家分享 Python中判定列表是否包含某个元素的方法&#xff0c;全文4000字&#xff0c;阅读大约10分钟。 在Python编程中&#xff0c;判定一个列表是否包含特定元素是一项常见任务。本…

界面控件DevExpress WPF导航组件,助力升级应用程序用户体验!(上)

DevExpress WPF的Side Navigation&#xff08;侧边导航&#xff09;、TreeView、导航面板组件能帮助开发者在WPF项目中添加Windows样式的资源管理器栏或Outlook NavBar&#xff08;导航栏&#xff09;&#xff0c;DevExpress WPF NavBar和Accordion控件包含了许多开发人员友好的…

Apache或Nginx在Linux上配置虚拟主机

在Linux上使用Apache或Nginx配置虚拟主机可以让您在同一台服务器上托管多个网站。这样不仅可以充分利用服务器资源&#xff0c;还能降低每个网站的运营成本。以下是使用Apache和Nginx配置虚拟主机的步骤。 使用Apache配置虚拟主机 安装Apache服务器软件。在终端中使用以下命令…

『亚马逊云科技产品测评』活动征文|基于亚马逊EC2云服务器配置Nginx静态网页

授权声明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 Developer Centre, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方渠道 亚马逊EC2云服务器&#xff08;Elastic Compute Cloud&#xff09;是亚马…

JSON 语法详解:轻松掌握数据结构(下)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

金融科技走向 Web3 的趋势不可逆转——新加坡金融科技节会后总结(上)

11 月 15 日至 17 日&#xff0c;2023 年度新加坡金融科技节&#xff08;Singapore FinTech Festival&#xff0c;以下简称 SFF&#xff09;在樟宜机场附近的新加坡会展中心&#xff08;Singapore Expo&#xff09;举办。我本人受新加坡金管局的邀请&#xff0c;第一次亲身参与…

百度APP iOS端包体积50M优化实践(七)编译器优化

一. 前言 百度APP iOS端包体积优化系列文章的前六篇重点介绍了包体积优化整体方案、图片优化、资源优化、代码优化、无用类优化、HEIC图片优化实践和无用方法清理&#xff0c;图片优化是从无用图片、Asset Catalog和HEIC格式三个角度做深度优化&#xff1b;资源优化包括大资源…

制作一个RISC-V的操作系统四-嵌入式开发介绍

文章目录 什么是嵌入式开发交叉编译查看一些GCC文件夹 调试器GDB相关语法命令 模拟器QEMUQEMU的安装和使用项目构造工具MakeMakeFile的构成make的运行 练习4-1联系4-2练习4-3 什么是嵌入式开发 程序跑到开发板上&#xff0c;或者说运行到硬件上 交叉编译 简单理解交叉编译来说…

(2/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)

附录 A1 - 《PMBOK指南》映射 表A1显示了第六版《PMBOK指南》中定义的项目管理过程组与知识领域之间的对应关系 本附录说明了如何利用混合和敏捷方法处理《PMBOK指南》知识领域&#xff08;请参见表A1-2&#xff09;中所述的属性&#xff0c;其中涵盖了相同和不同的属性&…

概率密度函数(PDF)正态分布

概率密度函数&#xff08;PDF&#xff09;是一个描述连续随机变量取特定值的相对可能性的函数。对于正态分布的情况&#xff0c;其PDF有一个特定的形式&#xff0c;这个形式中包括了一个常数乘以一个指数函数&#xff0c;它假设误差项服从均值为0的正态分布&#xff1a; p ( …

深度优先搜索LeetCode979. 在二叉树中分配硬币

给你一个有 n 个结点的二叉树的根结点 root &#xff0c;其中树中每个结点 node 都对应有 node.val 枚硬币。整棵树上一共有 n 枚硬币。 在一次移动中&#xff0c;我们可以选择两个相邻的结点&#xff0c;然后将一枚硬币从其中一个结点移动到另一个结点。移动可以是从父结点到…

15.(vue3.x+vite)组件间通信方式之默认插槽(匿名插槽)

前端技术社区总目录(订阅之前请先查看该博客) 示例效果 默认插槽(匿名插槽) 插槽 slot 通常用于两个父子组件之间,最常见的应用就是我们使用一些 UI 组件库中的弹窗组件时,弹窗组件的内容是可以让我们自定义的,这就是使用了插槽的原理。 (1)slot 是 Vue中的内置标签…

使用 PyTorch 进行 K 折交叉验证

一、说明 中号机器学习模型在训练后必须使用测试集进行评估。我们这样做是为了确保模型不会过度拟合&#xff0c;并确保它们适用于现实生活中的数据集&#xff0c;与训练集相比&#xff0c;现实数据集的分布可能略有偏差。 但为了使您的模型真正稳健&#xff0c;仅仅通过训练/测…

在AWS Lambda上部署标准FFmpeg工具——自定义层的方案

大纲 1 确定Lambda运行时环境1.1 Lambda系统、镜像、内核版本1.2 运行时1.2.1 Python1.2.2 Java 2 打包FFmpeg3 创建Lambda的Layer4 测试4.1 创建Lambda函数4.2 附加FFmpeg层4.3 添加测试代码4.4 运行测试 参考文献 FFmpeg被广泛应用于音/视频流处理领域。对于简单的需求&#…

Databend 开源周报第 122 期

Databend 是一款现代云数仓。专为弹性和高效设计&#xff0c;为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务&#xff1a;https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。 支持链式函数调…
最新文章