数据结构习题(快期末了)

一个数据结构是由一个逻辑结构和这个逻辑结构上的一个基本运算集构成的整体。

从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类。

数据的存储结构是数据的逻辑结构的存储映像。

数据的物理结构是指数据在计算机内实际的存储形式。

算法是对解题方法和步骤的描述。

若一个算法中的语句频度之和为T(n)=6n+3nlog2n,则算法的时间复杂度为 O(nlog2n)    

若一个算法中的语句频度之和为T(n)=3n+nlog2n+n2,则算法的时间复杂度为O(n2)

一个算法的时间复杂性是算法 输入规模 的函数。

算法的空间复杂度是指该算法所耗费的存储空间,它是该算法求解问题规模n的函数。

数据有逻辑结构和 (物理结构         )两种结构。

数据逻辑结构除了集合以外,还包括:线性结构、树形结构和( 图形结构   )

数据结构按逻辑结构可分为两大类,它们是线性结构和(非线性结构 

在树形结构中,除了树根结点以外,其余每个结点只有(一  )个前驱结点。

在图形结构中,每个结点的前趋结点数和后续结点数可以有(   )个。

数据的存储结构又叫(物理结构 

数据的存储结构形式包括:顺序存储、链式存储、索引存储和( 哈希存储 

线性结构中的元素之间存在( 一对一    )的关系。

树形结构结构中的元素之间存在(  一对多 )的关系。

数据结构主要研究数据的逻辑结构、存储结构和(算法  )三个方面的内容。

数据在计算机存储器内表示时,物理地址和逻辑地址相同并且是连续的,称之为( 顺序存储结构

链式存储的存储结构所占存储空间(分两部分,一部分存放结点的值,另一部分存放表示结点间关系的指针

算法的计算量大小称为算法的时间复杂性

每个结点只含有一个数据元素,所有存储结点相继存放在一个连续的存储区里,这种存储结构称为顺序结构

算法分析的两个主要方面是空间复杂性和时间复杂性  

数据结构是一门研究在非数值计算的程序设计问题中所涉及的( 数据元素)以及它们之间的关系和运算的科学。

在Data_Structure=(D,R)中,D是(数据元素 )的有限集合。

线性结构中结点形成一对一的关系

树形结构具有分支和层次的特点,其形态有些像自然界中的树

图形结构中的元素按其逻辑关系互相连接,每个结点都可能与其他结点邻接 

从逻辑上可将数据结构分为线性结构和非线性结构

在存储数据时,通常不仅需要存储数据元素的值,还要存储数据元素之间的关系

线性结构的特点是元素之间的关系是( 一对一)的关系。

数据的基本单位是数据元素

在数据结构中,与所使用的计算机无关的是(逻辑结构

数据元素之间关系最弱的是( 集合

数据在计算机存储器内表示时,物理地址和逻辑地址相同并且是连续的,称之为 顺序存储结构   。

设a、b、c为三个结点,p、10、20分别代表它们的地址,则如下的存储结构称为  单链表
 

用链表存储的线性表,其优点是 便于插入和删除     。

线性表采用链式存储时,结点的存储地址连续与否均可        。

线性表采用顺序存储必须占用一片连续的存储空间

线性表采用链式存储不必占用一片连续的存储空间

线性表采用链式结构便于插入和删除的操作

在一个单链表中,若q所指结点是p所指结点的前驱结点,若在q与p之间插入一个s所指的结点,则执行  s→next=p;         q→next=s;     。

如果线性表中的表元素既没有直接前驱,也没有直接后继,则该线性表中应有( )个表元素。

在长度为n的顺序表的表尾插入一个新元素的时间复杂度为( O(1))。

顺序表的优点是存储密度高,但插入与删除运算的时间效率低

设一个顺序表中有n个元素,则读取第i个数组元素的平均时间复杂度为O(1)

在一个长度为n的顺序存储线性表中,向第i个元素(1....i....n)之前插入一个新元素时,需要从后向前依次后移(n-i+1)个元素。

设一条单链表的头指针变量为head且该链表没有头节点,则其判空条件是(Head = = 0

线性结构中的元素之间存在(  一对一    )的关系。

在线性表的顺序存储中,若一个元素的下标为i,则它的前驱元素的下标为(i-1  ),后继元素的下标为(i+1   )

当线性表的数据元素在物理位置上是连续存储的时候,用(顺序表   )比用链表好,其特点是可以进行随机存取。

在线性表的单链接存储结构中,若一个元素所在结点的地址为p,则其后继结点的地址为( p->next )。

在线性表的单链接存储结构中,每个结点包含有两个域,一个叫(数据  )域,另一个叫( 指针 )域。

栈和队列

假设一个栈的输入序列是1,2,3,4,则不可能得到的输出序列是4,1,2,3

其中4,3,2,1可以,1,3,2,4可以,1,2,3,4,也可以

已知一个栈的进栈序列为1,2,.....,n,其输出序列是p1,p2,...pn。若p1=3,则p2的值可能是2

当利用大小为n的数组顺序存储一个栈时,假定用top==n表示栈空,则向这个栈插入一个元素时,首先应执行(top - -)语句修改top指针

如果进栈元素依次为13,20,15,43,38,65,47,现退出4个元素,再插入1个元素,则43的位置是不在栈内

栈和队列的共同特点是(只允许在端点处插入和删除元素 )。

若进队的序列为:A,B,C,D,则出队的序列是(A,B,C,D )。

栈的插入和删除操作在(栈顶 )进行。

设数组data[m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作后其头指针front值为(front=(front+1)%(m+1))。

链栈与顺序栈相比,有一个比较明显的优点是通常不会出现栈满的情况

插入和删除只能在一端进行的线性表,称为()。

队列通常采用两种存储结构是顺序存储结构和链式存储结构

个队列的入队顺序是1,2,3,4,5,则队列的输出顺序是( 1,2,3,4,5)

先进先出

顺序存储的循环队列sq中,假定front和rear分别为队头指针和队尾指针,则入队操作为(sq.rear=(sq.rear+1)%maxsize;sq.data[sq.rear]=x;)。

顺序存储的循环队列sq中,假定front和rear分别为队头指针和队尾指针,则出队操作为(sq.front=(sq.front+1)%maxsize)。

在具有m个单元的顺序存储的循环队列中,假定front和rear分别为队头指针和队尾指针,则判断队满的条件为(D.(rear+1) % m==front )。

在具有m个单元的顺序存储的循环队列中,假定front和rear分别为队头指针和队尾指针,则判断队空的条件为(rear = = front   )。

设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为((R-F+M)%M  )。

在一个顺序循环队列中,队头指针指向队头元素的(前一个  )位置。

顺序存储的循环队列sq中,假定front和rear分别为队头指针和队尾指针,则读队头元素时所执行的操作为(x=sq.data[(sq.front+1)%maxsize]  )。

链栈与顺序栈相比,有一个比较明显的优点,即(通常不会出现栈满的现象)

用链接方式存储的队列,在进行删除运算时(头、尾指针可能都要修改

用单链表表示的链队列的队头在链表的( 链头   )位置。

一个链队列q的队头和队尾指针是front和rear,该链队列已经存储有3个元素,现在有结点P要入队,入队操作是(q->rear->next=p; q->rear=p;)。

个链队列q的队头和队尾指针是front和rear,该链队列已经存储有3个元素,指针t 指向队头结点。如果做出队操作,出队结点的值要赋值给e, 出队操作是(q->front=q->front->next;   e=t->data;   free(t);)。

已知表达式,求它的后缀表达式是(      )的典型应用。

一个栈的输入序列是abcde,则栈的输出序列dceab(不可能     )(填可能/不可能)

最后不可能时ab

栈可以看成是一种运算受限制的线性表,其中可以进行插入和删除的一端称为(栈顶     )

往栈中插入元素的操作方式是(入栈     

删除栈中的元素的操作方式是( 出栈    )

当栈中的最大长度难以估计时,栈最好采用(链式     )存储结构

栈结构通常采用的两种存储结构是(顺序栈    )和(  链栈)

(   栈 )可作为实现递归函数调用的一种数据结构。

什么是队列的上溢现象和假溢出现象,解决它们有什么方法

二叉树的第k层的结点数最多为2k-1

对任意一棵树,设它有n个结点,这n个结点的度数之和为n-1 

 结点的总数目=所有结点度数之和+1;

既然是一颗树,那么总的节点数=总的边数+1

在一棵度为3的树中,度为3的结点个数为2,度为2 的结点个数为1,则度为0的结点个数为6 。

 

二叉树中第i(i≥1)层上的结点数最多有2i-1 个。 

设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为4

(度数好像就是有几个子节点)

权值分别为11,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为71 。

二叉树的先序遍历序列中,任意一个结点均处在其孩子结点的前面,这种说法( )。正确

(根左右,肯定后面是孩子节点啊)

设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数最多为( )。

由于二叉树中每个结点的度最大为2,所以二叉树是一种特殊的树,这种说法( 正确)。

假定在一棵二叉树中,双分支结点数为15,单分支结点数为30,则叶子结点数为(16 )个。

在二叉树中:n0=n2+1。n0为出度为0的结点数,n2为度为2的结点数。因为双分支结点数为15个,所以叶子结点数为n0=n2+1=15+1=16个。

某二叉树的先序遍历序列是abdgcefh,中序遍历序列是dgbaechf,则其后序遍历序列是( )。

设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T中的叶子数为(8 ) 。

若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是(11 )。

10+1=11

具有10个叶结点的二叉树中有(9 )个度为2的结点,。

10-1=9

一棵完全二叉树上有1001个结点,其中叶子结点的个数是(501 )

对于完全二叉树来说,n为偶数,叶子节点的个数为n/2,如果n为奇数,叶子节点的个数为n/2+1

二叉树中度为0的叶子结点个数为n0,度为1结点个数为n1,度为2结点个数为n2,于是n0 + n1 + n2 = 1001 根据二叉树性质:n0 = n 2 + 1,代入得到,2n2 + 1+ n1 = 1001 由于完全二叉树的n1 只能是0或者1,为满足2n2 + 1 + n1 = 1001,n1 =0,因此n2 = 500 所以n0 = 501,即叶子个数是501个

设给定权值总数有n 个,其哈夫曼树的结点总数为(2n_1 )。

哈夫曼树中权值所在的节点一定是叶子节点,有哈夫曼树的构造决定的。 因此“给定权值总数有n个”,也就是说叶子节点有n个,则度为2的节点个数为(n-1),哈夫曼树总结点个数为n+ (n-1)=2n-1

有关二叉树下列说法正确的是(一棵二叉树的度可以小于2 )。

二叉树的第I层上最多含有结点数为( ) 。

一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最多有(2 的h-1 )结点。

对于有n 个结点的完全二叉树, 其高度为( +1)

已知某二叉树的后序遍历序列是dabec, 中序遍历序列是debac , 它的前序遍历是( )。

二叉树的先序遍历和中序遍历如下: 先序遍历:EFHIGJK,中序遍历: HFIEJKG 。该二叉树根的右子树的根是:g\

在二叉树结点的先序序列,中序序列和后序序列中,所有叶子结点的先后顺序( 完全相同)。

某二叉树的前序序列和后序序列正好相反,则该二叉树一定是( 高度等于其结点数)的二叉树。

在完全二叉树中,若一个结点是叶结点,则它没(左子结点和右子结点 )。

在下列情况中,可称为二叉树的是( 哈夫曼树)。

100个结点的完全二叉树的叶子结点数(    50  )个

完全二叉树的第6层有10个结点,那么共有(41)个结点。

前五层有2的5次方减1,为31,加上第六层,为41

完全二叉树的第6层有10个结点,那么有()个叶子结点。

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

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

相关文章

java基础知识漏洞三

Object Object 类的常见方法有哪些&#xff1f; /*** native 方法&#xff0c;用于返回当前运行时对象的 Class 对象&#xff0c;使用了 final 关键字修饰&#xff0c;故不允许子类重写。*/ public final native Class<?> getClass() /*** native 方法&#xff0c;用于…

读取CSV文件生成RDD去掉标题行

文章目录 1. 创建CSV文件2. 上传CSV文件3. 读取CSV文件生成RDD4. 去掉标题行生成新RDD5. 查看新生成的RDD 1. 创建CSV文件 执行命令&#xff1a;vim scores.csv 在WPS里查看CSV文件 2. 上传CSV文件 执行命令&#xff1a;hdfs dfs -put scores.csv /park 3. 读取CSV文件生…

公司活动想找媒体报道宣传怎样邀请媒体?

在当今信息爆炸的时代,对于正处于成长阶段的中小企业而言,有效且成本控制得当的宣传策略是推动品牌发展、扩大市场影响力的关键。尤其是在预算有限的情况下,如何让“好钢用在刀刃上”,实现宣传效果的最大化,成为众多企业共同面临的挑战。在此背景下,智慧软文发布系统网站作为一…

智能体,大模型的“增程路线”?

智能体&#xff08;AI Agent&#xff09;&#xff0c;正在将用户对大语言模型的使用分成两种截然不同的方式&#xff1a;同样是写一篇文章&#xff0c;在非智能体工作流中&#xff0c;用户输入提示词&#xff0c;然后等待大模型生成答案的整个过程&#xff0c;就像中间不使用退…

补偿 EMI 滤波器 X 电容对有源 PFC 功率因数的影响

现代开关模式电源使用 X 电容器和 Y 电容器与电感器的组合来过滤共模和差模 EMI。滤波器元件位于任何有源&#xff08;或无源&#xff09;功率因数校正 (PFC) 电路的前面&#xff08;图 1&#xff09;&#xff0c;因此 EMI 滤波器的电抗对功率因数 (PF) 造成的任何失真都会改变…

日本2024年最受欢迎的转职行业是IT 通信

2024年有关机构针对超1000名人力资源专业人士进行了“推荐转职行业”的调查。结果显示&#xff0c;日本目前最受欢迎的转职行业是 1、“IT/通信行业”&#xff08;45.9%&#xff09;&#xff0c; 2、其次是“互联网/广告/游戏”&#xff08;31.9%&#xff09;&#xff0c; 3、“…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] LYA与朋友们的石头剪刀布游戏(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍓OJ题目截图 📎在线评测链接 LYA与朋友们的石头剪刀布游戏(100分) 🌍 评…

清华大学与智谱AI重磅开源 GLM-4:掀起自然语言处理新革命

在强大的预训练基础上&#xff0c;GLM-4-9B 的中英文综合性能相比 ChatGLM3-6B 提升了 40%。尤其是中文对齐能力 AlignBench、指令遵从能力 IFeval&#xff0c;以及工程代码处理能力 Natural Code Bench 方面都实现了显著提升。 自 2023 年 3 月 14 日开源 ChatGLM-6B 以来&am…

《Brave New Words 》致谢

Acknowledgments 致谢 Thank you to Umaima Marvi for being the best life partner, whose support has been instrumental in every step of this journey. 感谢 Umaima Marvi&#xff0c;她是最好的生活伴侣&#xff0c;她的支持在这段旅程中的每一步都起到了关键作用。 Imr…

Vue2/Vue3使用video播放视频--捕获截图

基本步骤 在JavaScript中&#xff0c;实现从<video>元素中截图的基本步骤如下&#xff1a; 1、创建Canvas元素&#xff1a;首先&#xff0c;需要创建一个<canvas>元素&#xff0c;因为截图操作会借助Canvas的绘图上下文来完成。 2、获取Video帧&#xff1a;从<v…

【云原生】Kubernetes----Metrics-Server组件与HPA资源

目录 引言 一、概述 &#xff08;一&#xff09;Metrics-Server简介 &#xff08;二&#xff09;Metrics-Server的工作原理 &#xff08;三&#xff09;HPA与Metrics-Server的作用 &#xff08;四&#xff09;HPA与Metrics-Server的关系 &#xff08;五&#xff09;HPA与…

QT属性系统,简单属性功能快速实现 QT属性的简单理解 属性学习如此简单 一文就能读懂QT属性 QT属性最简单的学习

4.4 属性系统 Qt 元对象系统最主要的功能是实现信号和槽机制&#xff0c;当然也有其他功能&#xff0c;就是支持属性系统。有些高级语言通过编译器的 __property 或者 [property] 等关键字实现属性系统&#xff0c;用于提供对成员变量的访问权限&#xff0c;Qt 则通过自己的元对…

【算法与数据结构】【数组篇】【题11-题15】

系列文章 本人系列文章-CSDN博客https://blog.csdn.net/handsomethefirst/article/details/138226266?spm1001.2014.3001.5502 1.数组基本知识点 1.1概念 数组就是一个集合。数组会用一些名为索引的数字来标识每项数据在数组中的位置&#xff0c;且在大多数编程语言中&…

机器学习-- 如何清洗数据集

文章目录 引言&#xff1a;数据清洗的具体步骤数据清洗的具体方法和示例1. 处理缺失值2. 去除重复数据3. 修正数据格式4. 处理异常值5. 标准化和归一化6. 处理不一致的数据7. 转换数据类型8. 数据集成 总结 引言&#xff1a; 数据清洗是数据处理和分析的关键步骤&#xff0c;旨…

2024/6/11 英语每日一段

They found that, regardless of culture, greater mental well-being is linked with feeling emotions that we believe are appropriate to our situation, rather than just having positive emotions regardless of context--“feeling right” as opposed to “feeling g…

什么是电表无人抄表?

1.电表无人抄表&#xff1a;智能时代的新式计量方法 随着科技的发展的迅猛发展&#xff0c;传统电表抄表方法正被一种全新的、高效率的方式所替代——电表无人抄表。这类技术的普及&#xff0c;不仅提升了电力行业的经营效率&#xff0c;同时也为用户增添了更贴心的服务。 2.…

从零开始手把手Vue3+TypeScript+ElementPlus管理后台项目实战九(整体布局02)

使用el-menu和el-sub-menu及el-menu-item导航 src/layout目录下新增components目录&#xff0c;components目录下新增PageSidebar.vue 代码基本思想为&#xff1a;读取router中定义的routes数组&#xff0c;渲染绑定到el-menu。 el-menu和el-sub-menu及el-menu-item的区别&…

SprringCloud Gateway动态添加路由不重启

文章目录 前言&#xff1a;一、动态路由必要性二、SpringCloud Gateway路由加载过程RouteDefinitionLocator接口PropertiesRouteDefinitionLocator类DiscoveryClientRouteDefinitionLocatorInMemoryRouteDefinitionRepositoryCompositeRouteDefinitionLocator类CachingRouteDef…

【话题】程序员应该有什么职业素养

大家好&#xff0c;我是全栈小5&#xff0c;欢迎阅读小5的系列文章&#xff0c;这是《话题》系列文章 目录 背景职业素养的重要性职业素养的核心1.1 承诺与责任感1.2 沟通与团队合作1.3 学习与持续进步 态度和价值观的作用2.1 诚实和诚信2.2 责任和自我管理2.3 尊重和多样性 职…

Linux crontabs定时执行任务

文章目录 前言一、安装二、服务1. 启动crond服务2. 关闭crond服务3. 重启crond服务4. 设置crond开机启动5. 禁用crond开机启动6. 查看crond是否开机启动7. 重新载入配置8. 查看crond运行状态 三、使用1. 查看当前用户的crontab2. 编辑用户的crontab3. 删除用户的crontab的内容 …