【数据结构】复习题(二)

Hello!大家好,这一篇数据结构复习题是我上个学期复习的时候写的(刚刚在草稿箱发现了!)有一些题目过程都是配了图片的,希望对正在复习数据结构的宝宝们有帮助哦!(还有一个数据结构复习题(一)可以去我的数据结构专栏中找一下!)

一、选择题

  1. 数据的最小单位是()。
    (A)数据项
    (B)数据类型
    (C)数据元素
    (D)数据变量

  2. 设一组初始记录关键字序列为(50,40,95,20,15,70,60,45),则以增量d=4的一趟希尔排序结束后前4条记录关键字为()。
    (A)40,50,20,95
    (B)15,40,60,20
    ©15,20,40,45
    (D)45,40,15,20

  3. 设一组初始记录关键字序列为(25,50,15,35,80,85,20,40,36,70),其中含有5个长度为2的有序表,则用归并排序的方法对该记录关键字序列进行一趟归并排序后的结果为()。
    (A)15,25,35,50,20,40,80,85,36,70
    (B)15,25,35,50,80,20,85,40,70,36
    ©15,25,35,50,80,85,20,36,40,70
    (D)15,25,35,50,80,20,36,40,70,85
    【归并排序】简要步骤
    ①开始每个数字作为一组。
    ②每次都两两进行比较,直至最后一组。

  4. 一颗完全二叉树上有1001个结点,其中叶子结点的个数为()。
    (A)250
    (B)500
    © 254
    =(D)501
    该完全二叉树的深度为10.
    且第十层上的叶子结点数:1001-511=490
    第九层上的叶子结点数:256-490/2=11
    故总的叶子结点数:501

  5. 设一个有序的单链表中有n个结点,现要求插入一个新结点后使得单链表仍然保持有序,则该操作的时间复杂度为()。
    (A)O(log2n)
    (B)O(1)
    ©O(n2)
    (D)O(n)

  6. 设一棵m叉树中度数为0的结点数为No,度数为1的结点数为N1,......,度数为m的结点数为Nm,则No=()。
    A) N1+N2+…+Nm
    (B)I+N2+2N3+3N4+…+(m-1)Nm
    © N2+2N3+3N4+…+(m-1)Nm
    D)2N+3N2+…+(m+1)Nm

  7. 设有序表中有1000个元素,则用二分查找查找元素X最多需要比较()次。
    (A)25
    (B)10
    ©7
    (D)1

  8. 设连通图G中的边集E={(a,(e,d),(d,f),(f, c)}则从顶点a出发可以得到一种深度优先遍历的顶点序列为()。
    (A)abedfc
    (B)acfebd
    ©aebdfc
    (D)aedfcb

  9. 设输入序列是1、2、3、······、n,经过栈的作用后输出序列的第一个元素是n,则输出序列中第i个输出元素是()。
    (A)n-i
    (B)n-1-i
    ©n+1-i
    (D)不能确定

  10. 设一组初始记录关键字序列为(45,80,55,40,42,85),则以第一个记录关键字45为基准而得到一趟快速排序的结果是()。
    (A)40,42,45,55,80,83
    (B)42,40,45,80,85,88
    ©42,40,45,55,80,85
    (D)42,40,45,85,55,80

二、应用题
1.计算如图所示的AOE网中各顶点所表示的事件的发生时间ve(j),vl(j),各边所表示的活动的开始时间e(i),e(j) ,并找出其关键路径。
【基本步骤】
①计算事件的最早发生时间 Ve(i)
②计算事件的最晚发生时间 Vl(i)
③计算活动的最早发生时间 e(i)
④计算活动的最晚发生时间 l(i)
⑤计算活动的时间余量 l(i)-e(i)
⑥写出关键路径
如图所示:

写出图的拓扑排序,并计算事件也就是顶点的最早和最晚发生时间

(写成图表的形式 等一会算活动的最晚发生时间看着比较直观)

计算活动的最早最晚发生时间

根据时间余量 写出关键路径

三、算法设计题
1.设计判断两个二叉树是否相同的算法。

typedef char datatype;
typedef struct node
{datatype data;struct node *lchild;struct node *rchild;
}bitree;
int judgebitree(bitree* t1,bitree *t2)
{if(t1==NULL && t2==NULL )return 1;else if (t1==NULL || t2==NULL)return 0;else if (t1->data!=t2->data)return 0;else//我觉得这个*就很妙return (judgebitree(t1->lchild,t2->lchild)*judgebitree(t1->rchild,t2->rchild));
}

3.非递归实现二叉树的前序遍历和中序遍历。
先定义好顺序栈。

typedef struct stack
{bintree data[100];int top;
}seqstack;//进栈void push(seqstack *s,bintree t){s->data[s->top]=t;s->top++;}//出栈bintree (seqstack *s){if(s->top!=0){s->top--;return (s->data[s->top];)}elsereturn NULL;}

二叉树前序遍历的非递归实现

//bintree是指向二叉树结点的指针
//typedef bintnode * bintree;
void preorder (bintree t)
{seqstack s;s.top=0;while((t) || (s.top)!=0){if (t){printf("%c",t->data);push(&s,t);t=t->child;}else{t=pop(&s);t=t->rchild;}}
}

二叉树中序遍历的非递归实现

void inorder(bintree)
{seqstack s;s.top=0;while(t!=NULL || (s.top!=0)){if(t){push($s,t);t=t->lchld;}else{t=pop(&s);printf("%c",t->data);t=t->rchild;}}
}

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

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

相关文章

Spring JdbcTemplate基本使用

1. JdbcTemplate概述 它是spring框架中提供的一个对象,是对原始繁琐的JdbcAPI对象的简单封装。spring框架为我们提供了很多的操作模板类。例如:操作关系型数据的JdbcTemplate和HibermateTemplate,操作nosql数据库的RedisTemplate,操作消息队…

Hadoop学习总结(Hive的远程服务、数据模型操作、数据操作)

在启动hive时要先启动Hadoop。 在SecurityCRT 或者在 Xshell 进行虚拟机链接 (这里使用Xshell ) 一、Hive 的管理 1、CLI 方式 (1)启动 Hive 直接输入 hive (2)退出 直接输入以下一条命令&#xff0…

预付费电表管理系统:WEB端的高效解决方案

1.系统概述 预付费电表管理系统,尤其是基于WEB端的版本,是一种现代化的电力管理工具,旨在提高能源效率,优化电费支付流程,并提供实时的用电数据监控。它通过互联网技术,使得用户能够在线充值、查询电量、远…

开源全方位运维监控工具:HertzBeat

HertzBeat:实时监控系统性能,精准预警保障业务稳定- 精选真开源,释放新价值。 概览 HertzBeat是一款深受广大开发者喜爱的开源实时监控解决方案。它以其简洁直观的设计理念和免安装Agent的特性,实现了对各类服务器、数据库及应用…

Youtube DNN

目录 1. 挑战 2. 系统整体结构 3.召回 4. 排序 5. 训练和测试样本的处理 1. 挑战 (1)规模。很多现有的推荐算法在小规模上效果好,但Youtobe规模很大。 (2)新颖度。Youtobe语料库是动态的,每秒都会有…

芯片数字后端设计入门书单推荐(可下载)

数字后端设计,作为数字集成电路设计的关键环节,承担着将逻辑设计转化为物理实现的重任。它不仅要求设计师具备深厚的电路理论知识,还需要对EDA工具有深入的理解和熟练的操作技能。尽管数字后端工作不像前端设计那样频繁涉及代码编写&#xff…

【Leetcode】链表专题

leetcode链表专题 主要根据CSview一个校招刷题准备网站 做这个网站的人真的很厉害!进行整理 太困了,一学习就困,来刷刷题 文章目录 leetcode链表专题前言一、leetcode 206.反转链表1.题目描述:2.主要有两种方法,迭代法…

Ugee手写板Ex08 S在不同软件中的设置

手写笔的结构 功能对应于鼠标的作用笔尖鼠标左键上面第一个键鼠标右键(效果有时候也不完全等同)上面第二个键鼠标中键 以下测试的软件版本 软件版本windows10WPS2024春季16729Office2007SimpleTex0.2.5Ex08 S驱动版本4.2.4.231109 WPS-word ①点击审…

《R语言与农业数据统计分析及建模》学习——创建与访问数据框

1、数据框的概念和特点 数据框是二维的表格形式数据结构,是R语言中最常用的数据结构之一。有如下特点: (1)异质性:各列不同的数据类型 (2)命名索引:每列都有一个名称 (3&…

开源Windows12网页版HTML源码

源码介绍 开源Windows12网页版HTML源码,无需安装就能用的Win12网页版来了Windows12概念版(PoweredbyPowerPoint)后深受启发,于是通过使用HTML、CSS、js等技术做了这样一个模拟板的Windows12系统,并已发布至github进行…

蓝桥杯2024年第十五届省赛真题-小球反弹

以下两个解法感觉都靠谱&#xff0c;并且网上的题解每个人答案都不一样&#xff0c;目前无法判断哪个是正确答案。 方法一&#xff1a;模拟 代码参考博客 #include <iostream> #include <cmath> #include <vector>using namespace std;int main() {const i…

(二十)C++自制植物大战僵尸游戏僵尸进攻控制实现

植物大战僵尸游戏开发教程专栏地址http://t.csdnimg.cn/8UFMs 文件位置 实现功能的代码文件位置在Class\Scenes\GameScene文件夹中&#xff0c;具体如下图所示。 ZombiesAppearControl.h /* 僵尸出现波数控制 */ class ZombiesAppearControl { public:/***对于进攻的不同波数…

【吊打面试官系列】Java高并发篇 - 如何停止一个正在运行的线程?

大家好&#xff0c;我是锋哥。今天分享关于 【如何停止一个正在运行的线程&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; 如何停止一个正在运行的线程&#xff1f; java如何停止一个正在运行的线程? 在Java中&#xff0c;可以使用Thread.stop()方法来停止一…

Android自带模拟器如何获得ROOT权限

如果在模拟器中不能切换到root权限&#xff0c;很可能是镜像使用的不对。 一.选择镜像标准&#xff1a; 1.运行在PC端选X86_64镜像&#xff0c;才能流畅运行 2.不带google api的镜像 二.步骤 在虚拟机管理器中新建AVD&#xff0c;并下载符合要求的镜像文件 三.验证

【MATLAB】App 设计 (入门)

设计APP 主界面 函数方法 定时器 classdef MemoryMonitorAppExample < matlab.apps.AppBase% Properties that correspond to app componentsproperties (Access public)UIFigure matlab.ui.FigureStopButton matlab.ui.control.ButtonStartButton matlab.ui.cont…

大模型ChatGPT里面的一些技术和发展方向

文章目录 如何炼成ChatGPT如何调教ChatGPT如何武装ChatGPT一些大模型的其他方向 这个是基于视频 https://www.bilibili.com/video/BV17t4218761&#xff0c;可以了解一下大模型里面的一些技术和最近的发展&#xff0c;基本都是2022你那以来的发展&#xff0c;比较新。然后本文…

最新版的GPT-4.5-Turbo有多强

OpenAI再次用实力证明了&#xff0c;GPT依然是AI世界最强的玩家&#xff01;在最新的AI基准测试中&#xff0c;OpenAI几天前刚刚发布的GPT-4-Turbo-2024-04-09版本&#xff0c;大幅超越了Claude3 Opus&#xff0c;重新夺回了全球第一的AI王座&#xff1a; 值得一提的是&#xf…

C++ 模板详解——template<class T>

一. 前言 在我们学习C时&#xff0c;常会用到函数重载。而函数重载&#xff0c;通常会需要我们编写较为重复的代码&#xff0c;这就显得臃肿&#xff0c;且效率低下。重载的函数仅仅只是类型不同&#xff0c;代码的复用率比较低&#xff0c;只要有新类型出现时&#xff0c;就需…

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑碳市场风险的热电联产虚拟电厂低碳调度》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

Java作业6-Java类的基本概念三

编程1 import java.util.*;abstract class Rodent//抽象类 {public abstract String findFood();//抽象方法public abstract String chewFood(); } class Mouse extends Rodent {public String findFood(){ return "大米"; }public String chewFood(){ return "…