【数据结构】——串,数组,矩阵的相关习题

目录

    • 题型一(二维数组的存储地址)
    • 题型二(串的模式匹配)
    • 题型三(串的基本操作)
    • 题型四(特殊矩阵的压缩存储)

题型一(二维数组的存储地址)

1、二维数组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个存储单位,即(i×n+j)× l,再加上元素A[0][0]的存储地址,所以元素A[i][j]=b+(i×n+j)× l。

2、若二维数组A[0…m-1][0…n-1]按行优先顺序存储,每个元素aij占d个字节,LOC(a00)是整个数组的起始地址,则aij地址为()。
A、LOC(a00)+(( i-1)×n+j-1)× d
B、LOC(a00)+( i×n+j )× d
C、LOC(a00)+(( j-1 )×n+i-1)× d
D、LOC(a00)+( j×n+i-1)× d

解析:(B)

3、若二维数组A[0…m-1][0…n-1]按列优先顺序存储,LOC(a00)是整个数组的起始地址,则aij地址为()。
A、LOC(a00)+j×m+i
B、LOC(a00)+j×n+1
C、LOC(a00)+(j-1)×n+i-1
D、LOC(a00)+(j-1)×n+j-1

解析:(A)

题型二(串的模式匹配)

1、设有两个串S1和S2,求S2在S1中首次出现的位置的运算称为()。
A、求子串
B、判断是否相等
C、模式匹配
D、连接

解析:(C)
求子串的操作是从串S的第某位起,length为相关长度的子串S1,也就是截取串S的部分,通过循环依次将串S的相应内容赋值给新串(子串)中 ;

比较两个串S1和串S2是否相等,两个串相等的条件是两个串的长度相等且对应位置的字符也都相同;

串的模式匹配也称为串的定位,搜索串中的子串,若存在则返回子串在串S中第一次出现的位置,否则直到i、j指向两个串尾时结束循环,对应位置的相应字符相同则继续比较,若不相同则进行下一次字符进行比较(若第一个字符不相同,即i=i-j+1=1,j=0,开始将串S的第二个字符与串S1的第一个字符进行比较);

连接子串,也就是将第二个串S2连接到第一个串S1的后,最后形成一个新串S,首先要判断连接成功后的总长度是否预定的存储空间长度,若成功则形成串S,修改串S1的长度并设字符串结束标志,另外,若连接后的串S大于预定的存储空间长度,则多余的部分字符序列将会被舍弃。

2、设主串的长度为n,子串的长度为m,则简单的模式匹配算法的时间复杂度为(),KMP算法的时间复杂度为()。
A、O(m)
B、O(n)
C、O(mn)
D、O(m+n)

解析:(C、D)
简单的模式匹配算法的时间复杂度为O(mn),而KMP算法中由于在匹配过程中,主串始终没有回退,从而提高了匹配效率,即O(m+n)

题型三(串的基本操作)

1、设串s1=“ABCDEFG”,s2=“12345”,则strconcat(strsub(s1,2,strlen(s2)),strsub(s1,strlen(s2),2))的结果串是()。
A、BCDEF
B、BCDEFG
C、EFG
D、BCDEFEF

解析:(D)
由内向外依次求串,首先strlen(s2)对应的操作是求当前串的串长,它返回串的元素个数,所以strlen(s2)=5;strsub(s1,strlen(s2),7)对应的操作是求子串,即返回串s1的第5个字符起长度为7的子串,所以strsub(s1,strlen(s2),7)=“EF”;同理,strsub(s1,2,strlen(s2))=“BCDEF”;strconcat()对应的操作是连接两个串成为一个新的串,所以strconcat(strsub(s1,2,strlen(s2)),strsub(s1,strlen(s2),2))=“BCDEFEF”。

题型四(特殊矩阵的压缩存储)

1、对n阶对称矩阵压缩存储时,需要表长为()的顺序表。
A、n/2
B、n2/2
C、n(n+1)/2
D、n(n-1)/2

解析:(C)
对于对称矩阵压缩存储,只需要存储上三角区或下三角区即可,所包含的元素个数为:n+(n-1)+……+1=n(1+n)/2。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据分析 VS 数据可视化:决战时刻

数据分析和数据可视化是数据科学领域中两个重要的组成部分,很多人不明白两者之间的关系,会误认为是一个东西,其实不然。本文就带大家简单了解一下它们的区别与联系吧! 数据分析是指通过收集、处理和解释数据来获取有关特定问题或…

【linux-网络】sslocal命令的安装使用

1.背景 需要ss转发,在linux中转发并登录。 2.操作流程: 1)安装python 一般linux系统都自带python,2.7---如果要更高版本的自行安装 2)使用pip安装ss pip install shadowsocks 3)命令使用 sslocal -c …

无涯教程-Lua - 嵌套if语句函数

在Lua编程中,您可以在另一个if or else if语句中使用一个if or else if语句。 nested if statements - 语法 嵌套if 语句的语法如下- if( boolean_expression 1) then--[ Executes when the boolean expression 1 is true --]if(boolean_expression 2)then--[ Ex…

ConCurrentHashMap常见面试题

1. JDK1.7和JDK1.8中ConCurrentHashMap的实现有什么不同? JDK1.7中的实现可以认为是大数组套小数组,大数组是Segment数组,小数组是HashEntry数组,锁是锁在大数组的元素上(Segment),力度比较大&…

【BASH】回顾与知识点梳理(一)

【BASH】回顾与知识点梳理 一 前言一. 认识与学习 BASH1.1 硬件、核心与 Shell1.2 为何要学文字接口的 shell?1.3 系统的合法 shell 与 /etc/shells 功能1.4 Bash shell 的功能1.5 查询指令是否为 Bash shell 的内建命令: type1.6 指令的下达与快速编辑按…

VS+QT+VTK treeView树型结构模型加载隐藏实例

程序示例精选 VSQTVTK treeView树型结构模型加载隐藏实例 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<VSQTVTK treeView树型结构模型加载隐藏实例>>编写代码&#xff0c;代码…

Chrome 75不支持保存成mhtml的解决方法

在Chrome 75之前&#xff0c;可以设置chrome://flags -> save as mhtml来保存网页为mhtml。 升级新版&#xff0c;发现无法另存为/保存网页为MHTML了。 在网上搜索无果后&#xff0c;只得从chromium项目的commits中查找&#xff0c;原来chrome搞了个"Chrome Flag Owner…

Android 创建 Gradle Task 自动打包并上传至蒲公英

前言 Android 项目日常开发过程中&#xff0c;经常需要打包给到非开发人员验收或调试&#xff0c;例如测试阶段&#xff0c;就要经常基于测试服务器地址&#xff0c;打包安装包&#xff0c;给到组内测试人员进行测试&#xff0c;并且 BUG 修复完成之后也需要再次打包给到测试人…

差分隐私 MP-SPDZ框架安装

ubuntu虚拟机安装MP-SPDZ框架 1.下载安装包到虚拟机内 https://github.com/data61/MP-SPDZ/releases 安装git 报错Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 4402(unattended-upgr) 解决方案 #杀死进程 sudo k…

Android 仿京东头部滚动头像动态变化

UI出了一个新需求&#xff0c;仿京东头部滚动&#xff0c;头像需要动态变化&#xff0c;先来看下京东的是什么效果 我们知道什么效果以后&#xff0c;接下来就想想怎么实现吧&#xff0c;Android常规吸顶折叠布局是由CoordinatorLayoutAppBarLayoutCollapsingToolbarLayout组成…

JAVA 反编译工具

Releases deathmarine/Luyten GitHub 安装exe 打开拖入文件即可

Express接口

1.创建基本的服务器 // 导入express模块 const express require(express); const send require(send);// 创建express的 服务器实例 const app express()// 启动服务器 app.listen(80, () > {console.log(express server running at );})2.创建API路由接口 // 导入expr…

「网络编程」传输层协议_ TCP协议学习_及原理深入理解(二 - 完结)[万字详解]

「前言」文章内容大致是传输层协议&#xff0c;TCP协议讲解的第二篇&#xff0c;续上篇TCP。 「归属专栏」网络编程 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 二、TCP协议2.9 TCP连接管理机制2.9.1 三次握手2.9.2 四次挥手2.9.3 演示查看TIME_WAIT和CLOSE_WAIT状态2.9.…

MySQL 远程操作mysql

可以让别人在他们的电脑上操作我电脑上的数据库 create user admin identified with mysql_native_password by admin; //设置账号密码都为admingrant all on *.* to admin; //给admin账号授权 授权完成

使用elementplus实现文本框的粘贴复制

需求&#xff1a; 文本框仅用于显示展示数据并且用户可以进行复制&#xff0c;并不会进行修改和编辑&#xff0c; 注意点&#xff1a; 1.首先且文本为多行。所以不能使用普通的el-input&#xff0c;这种一行超出就会隐藏了&#xff0c;如果多行超出行数也会隐藏&#xff08;…

第16节:R语言医学分析实例:肺切除手术的Apriori关联规则分析

关联规则 肺切除手术的Apriori关联规则分析。 分析的目的是确定患有肺癌并需要接受肺切除术的患者的共病症状。 了解哪些症状是共病的可以帮助改善患者护理和药物处方。 分析类型是关联规则学习,通过探索变量之间的关联或频繁项集,尝试在大型数据集中找到见解和隐藏关系(H…

用blender做一层石墨烯

文章目录 1 创建正六边形2 复制正六边形3 阵列4 球棍模型 1 创建正六边形 ShiftA->网格->圆环->左下角出现添加圆环菜单&#xff0c;将顶点设为6&#xff0c;得到一个正六边形。按下tab键进入编辑模式->快捷键F填充&#xff0c;得到下图 2 复制正六边形 首先将轴…

Django的FBV和CBV

Django的FBV和CBV 基于django开发项目时&#xff0c;对于视图可以使用 FBV 和 CBV 两种模式编写。 FBV&#xff0c;function base views&#xff0c;其实就是编写函数来处理业务请求。 from django.contrib import admin from django.urls import path from app01 import view…

Redis主从复制、哨兵机制、集群分片

一.主从复制 1.概述 主从复制&#xff0c;是指将一台Redis服务器的数据&#xff0c;复制到其他的Redis服务器。前者称为主节点(master)&#xff0c;后者称为从节点(slave)。 数据的复制是单向的&#xff0c;只能由主节点到从节点默认情况下&#xff0c;每台Redis服务器都是主节…