1.1数算选择题(循环队列、二叉树、查找、堆、顺序表、生成树、哈夫曼树、排序)

news2024/12/23 6:16:11

循环队列

front:头指针

rear:尾指针

m:循环队列的长度

元素个数=(rear-front+m)%m

19-11+40=48%40=8

11-19+40=32%40=32

二叉树

入度=出度,n-1=n0+n1+n2-1=n1+2n2,有n2+1=n0,对于完全二叉树,度为1的节点要么只有1个,要么没有,n=n0+n1+n2=2n2+n1+1,由于为偶数,所以N1为奇数,即n1=1,所以n2=15,n0=16 

在先序里确定根节点,然后划分左右子树,A

查找

12个元素,左指针为1,右指针12,1+12>>1=6.5=6,65

左指针为6,右指针12,6+12>>1=9,80

左指针6,右指针9,6+9>>1=7.5=7,70

左指针7,右指针9,8;;经过了4次比较

朴素建堆是加到最后,然后一直往上进行操作,如果比上面大,就和上面交换,直到不能交换为止,即上面比现在的大;

快速建堆是,先输入所有的序列,然后从第一个非叶子节点开始,向下进行操作,维护从下至上一直是大根堆,这样在上面的时候,向下比较,通往下面的路径就都是有序的,递减的,所以交换的时候,就是向下调整,直到不比下面的小,就是最后的位置

如果是要建小根堆,就向下找两个孩子最小的;要建大根堆,就找两个孩子最大的,为了防止选出另一个孩子后,依然不满足要求,就需要再次调整,就很麻烦,所以就直接选最小或最大的,就不用再进行调整了

向下调整,就是找这个节点中最大/最小的孩子,换上来

或者向下调整可以看成是在向下的路径牌堆中找到合适的位置,就是插入排序,插入操作 C

顺序表

如果是要删除的话,删除第一个元素,移动的次数为N-1,删除最后一个元素移动的次数为0,其它平均分布在这之间,所以是(N-1)/2

往顺序表中插入元素时,有N个时,最多移动N次,即放在顺序表的头部,N个元素都要动;最少0次,即插在队尾,其它情况就平均分布在这中间,所以平均就是二分之N

在顺序表中,逻辑上相邻的两个元素物理存储上也一定相邻(对)

某顺序表的第一个元素的存储地址是500,每个元素占4个单元,则第8个元素的起始地址是(D)

A.504 B.508 C.516 D.528

长度为n的非空线性表采用顺序存储结构,在第i个元素前插入一个数据元素,i的合法值应该是(A)

A.1<=i<=n+1 B.0<=i<=n+1 C.i>0 D.1<=i<=n-1

(取n+1就是在队尾插入元素)

在长度为n的顺序表中的第i(1<=i<=n+1)个元素前插入一个元素,需要移动的元素个数为(B)

A.n-i B.n-i+1 C.i D.n-i-1(就是i~n区间里元素的个数,为n-i+1)

在长度为n的顺序表中的第i(1<=i<=n+1)个元素前删除一个元素,需要移动的元素个数为(A)

A…n-i B.n-i+1 C.n-i-1 D.i

假设删除长度为n的顺序表中的每个元素的概率相同,则删除一个元素平均要移动的元素的个数是(D)
A.n/2 B.(n+1)/2 C.n D.(n-1)/2

在长度为n的顺序表中的第i(1<=i<=n+1)个元素前插入一个元素,其算法复杂度为(B)

A.O(1) B.O(n)C.O(n*n) D.O(logn)(以2为底)

在长度为n的顺序表中读取第i(1<=i<=n+1)个元素,其算法复杂度为(A)这道题考察的是getelem,不是定位操作locateelem

A.O(1) B.O(n)C.O(n*n) D.O(logn)(以2为底)

在长度为n的顺序表中删除第i(1<=i<=n+1)个元素,其算法复杂度为(B)
A.O(1) B.O(n)C.O(n*n) D.O(logn)(以2为底)


生成树

所有边权均不相同的无向图最小生成树是唯一的

同一个图不同最小生成树的边权重序列相同。

都可有K算法得出 

哈夫曼树

 

这个路径指的是节点到节点那个棍子的数量,而不是节点和节点间的节点数量 

初始时会入队13个叶子节点,然后每次操作都会减少队列中一个节点,生成一个非叶子节点,直到留下一个根节点,总共操作12次,产生12个非叶子节点,所以一共有25个节点

排序

停止时,左指针指向6,右指针指向3,然后交换,交换后左右指针移动,左指针指向6,右指针指向3,且左指针比右指针大,那么3和5交换,即3,2,5,6,8

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

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

相关文章

挑战Transformer的新架构Mamba解析以及Pytorch复现

今天我们来详细研究这篇论文“Mamba:具有选择性状态空间的线性时间序列建模” Mamba一直在人工智能界掀起波澜&#xff0c;被吹捧为Transformer的潜在竞争对手。到底是什么让Mamba在拥挤的序列建中脱颖而出? 在介绍之前先简要回顾一下现有的模型 Transformer:以其注意力机制而…

重学JavaScript高级(八):ES6-ES12新增特性学习

ES6-ES12新增特性学习 ES6–对象字面量增强 属性的简写方法的简写计算属性名 let name "zhangcheng" //我想让sum作为obj的key值 let objKey "sum" let obj {//属性名的简写name//等同于name:name//方法的简写running(){}//等同于running:function()…

RT-DETR 更换骨干网络之 MobileNetV3 | 《搜寻 MobileNetV3》

论文地址:https://arxiv.org/abs/1905.02244 代码地址:https://github.com/xiaolai-sqlai/mobilenetv3 我们展示了基于互补搜索技术和新颖架构设计相结合的下一代 MobileNets。MobileNetV3通过结合硬件感知网络架构搜索(NAS)和 NetAdapt算法对移动设计如何协同工作,利用互…

使用 Open3D 的 3D LiDAR 可视化:用于自动驾驶的 2D KITTI 深度框架-含数据集+源码

3D LiDAR传感器(或)3维 光探测和测距是一种先进的发光仪器,能够像我们人类一样在3维空间中感知现实世界。这项技术尤其彻底改变了地球观测、环境监测、侦察以及现在的自动驾驶领域。它提供准确和详细数据的能力有助于增进我们对环境和自然资源的理解和管理。 在这篇权威研究…

仿stackoverflow名片与b站名片实现(HTML、CSS)

目录 前言一、仿stackoverflow名片HTMLCSS 二、仿b站名片HTMLCSS 素材 前言 学习自ACwing - Web应用课 一、仿stackoverflow名片 HTML <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport&…

【hyperledger-fabric】使用couchDB

简介 本文章主要参考来自于官方文档使用CouchDB以及 https://www.bilibili.com/video/BV1Li4y1f7ex/?spm_id_frompageDriver&vd_source2c5f2831e1c63d3a20045b167ae044e6 B站视频&#xff0c;还是非常感谢up主提供了学习的思路。 为什么要使用couchDB&#xff1f; 原文…

如何将Redis、Zookeeper、Nacos配置为Windows系统的一个服务

说明&#xff1a;当我们在Windows上开发时&#xff0c;不可避免的会用到一些中间件&#xff0c;如Redis、Zookeeper、Nacos等等&#xff0c;当在项目中使用到本地的这些服务器时&#xff0c;我们需要把本地的服务器启动&#xff0c;会开启下面这样的一个窗口。 Redis服务器&am…

vscode使用npm安装element-UI并添加router路由

npm安装vue&#xff0c;添加淘宝镜像-CSDN博客 elementUI安装与配置 安装可以看我上一篇文章 vscode控制台输入指令 npm i element-ui -S 安装完成后在目录结构打开下图文件 可以看到多了一行elementui就代表安装成功了 下面是项目常用的结构 安装完成后需要启用elementU…

稀疏矩阵的三元组表示----(算法详解)

目录 基本算法包括&#xff1a;&#xff08;解释都在代码里&#xff09; 1.创建 2.对三元组元素赋值 3.将三元组元素赋值给变量 4.输出三元组 5.转置&#xff08;附加的有兴趣可以看看&#xff09; 稀疏矩阵的概念&#xff1a;矩阵的非零元素相较零元素非常小时&#xff…

自承载 Self-Host ASP.NET Web API 1 (C#)

本教程介绍如何在控制台应用程序中托管 Web API。 ASP.NET Web API不需要 IIS。 可以在自己的主机进程中自托管 Web API。 创建控制台应用程序项目 启动 Visual Studio&#xff0c;然后从“开始”页中选择“新建项目”。 或者&#xff0c;从“ 文件 ”菜单中选择“ 新建 ”&a…

了解VR虚拟现实的沉浸式效果及其技术特点!

VR虚拟现实体验装置作为近年来人气火爆的科技产品&#xff0c;以其独特的沉浸式体验效果吸引了众多用户&#xff0c;那么&#xff0c;你知道这种VR体验装置是如何实现沉浸式体验效果的吗&#xff1f;它又具备了哪些技术特点呢&#xff1f; 一、真实的场景体验 VR虚拟现实技术通…

html的全选反选

一、实验题目 html实现选择框的全选和反选 二、实验代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>全选和反选</title></head><body><ul>兴趣爱好</ul><input id"all"…

深入理解 Hadoop (四)HDFS源码剖析

HDFS 集群启动脚本 start-dfs.sh 分析 启动 HDFS 集群总共会涉及到的角色会有 namenode, datanode, zkfc, journalnode, secondaryName 共五种角色。 JournalNode 核心工作和启动流程源码剖析 // 启动 JournalNode 的核心业务方法 public void start() throws IOException …

数据湖存储解决方案之Iceberg

1.Iceberg是什么&#xff1f; Apache Iceberg 是由 Netflix 开发开源的&#xff0c;其于2018年11月16日进入 Apache 孵化器&#xff0c;是 Netflix 公司数据仓库基础。Apache Iceberg设计初衷是为了解决Hive离线数仓计算慢的问题&#xff0c;经过多年迭代已经发展成为构建数据…

<蓝桥杯软件赛>零基础备赛20周--第13周--DFS剪枝

报名明年4月蓝桥杯软件赛的同学们&#xff0c;如果你是大一零基础&#xff0c;目前懵懂中&#xff0c;不知该怎么办&#xff0c;可以看看本博客系列&#xff1a;备赛20周合集 20周的完整安排请点击&#xff1a;20周计划 每周发1个博客&#xff0c;共20周。 在QQ群上答疑&#x…

在生产环境中使用uWSGI来运行Flask应用

安装uwsgi pip install uwsgi -i https://pypi.tuna.tsinghua.edu.cn/simple安装不上则使用以下命令&#xff1a; conda install -c conda-forge uwsgi 当您成功安装uwsgi后&#xff0c;您可以通过以下步骤来测试uwsgi是否安装成功&#xff1a; 创建一个Python脚本&#xff…

WPS或word中英文字母自动调整大小写,取消自动首字母大写,全部英文单词首字母大小写变换方法

提示&#xff1a;写英文论文时&#xff0c;如何实现英文字母大小写的自动切换&#xff0c;不用再傻傻的一个字母一个字母的编辑了&#xff0c;一篇文章搞定WPS与Word中字母大小写切换 文章目录 一、WPS英文单词大小写自动修改与首字母大写调整英文字母全部由大写变成小写 或 小…

C++ Web框架Drogon初体验笔记

这段时间研究了一下C的Web框架Drogon。从设计原理上面来说和Python的Web框架是大同小异的&#xff0c;但是难点在于编译项目上面&#xff0c;所以现在记录一下编译的过程。下面图是我项目的目录。其中include放的是头文件&#xff0c;src放的是视图文件&#xff0c;static放的是…

e2studio开发磁力计LIS2MDL(2)----电子罗盘

e2studio开发磁力计LIS2MDL.2--电子罗盘 概述使用硬件视频教学样品申请源码下载环境磁场建模消除硬铁误差软铁干扰演示主程序 概述 本文将介绍如何使用 LIS2MDL 传感器来读取数据来转化为指南针。 地磁场强度范围约为 23,000 至 66,000 nT &#xff0c;并且可以建模为磁偶极子…

YOLOv8改进 | Neck篇 | 利用ASF-YOLO改进特征融合层(适用于分割和目标检测)

一、本文介绍 本文给大家带来的改进机制是ASF-YOLO(发布于2023.12月份的最新机制),其是特别设计用于细胞实例分割。这个模型通过结合空间和尺度特征,提高了在处理细胞图像时的准确性和速度。在实验中,ASF-YOLO在2018年数据科学竞赛数据集上取得了卓越的分割准确性和速度,…