数据结构试题 16-17

先这样吧,,专业课不是统考,我发现每年的卷子风格都不太一样,侧重点也不一样。以及21的和16的发生了很大的改变。等明年1月再看看吧

那就先over啦

数据结构撒花!!!!!!!!!

等我7.4开电子技术基础!!! 




下面程序的时间复杂为
for(i=1,s=0; i<=n; i++) {       n
t=1;
for(j=1;j<=i;j++)        S = n*(n+1)/2
t=t*j;                    S = n*(n+1)/2
s=s+t;                    n      }

该程序的时间复杂度分析如下:

外层循环是以 `i` 为变量,从 1 遍历到 `n`,因此外层循环执行了 `n` 次。

内层循环是以 `j` 为变量,每次外层循环中,`j` 会从 1 遍历到当前 `i` 的值。这意味着:

- 当 `i=1` 时,内层循环执行 1 次,
- 当 `i=2` 时,内层循环执行 2 次,
- ...
- 当 `i=n` 时,内层循环执行 `n` 次。

因此,内层循环总共执行的次数是 `1 + 2 + 3 + ... + n`,这是一个等差数列求和的问题,其和可以用公式计算:`S = n*(n+1)/2`。

内层循环中的操作 `t=t*j` 是常数时间操作,但需要执行 `S = n*(n+1)/2` 次,

而外层循环中的 `s=s+t` 同样是常数时间操作,执行了 `n` 次。

因此,整体的时间复杂度由最内层循环主导,即 `O(n*(n+1)/2)`。在大O表示法中,可以忽略低阶项和系数,所以最终的时间复杂度为 `O(n^2)`。




数据结构合集 - 二叉搜索树(二叉排序树)(二叉查找树)_哔哩哔哩_bilibili 

二叉搜索树(二叉排序树)(二叉查找树)(BST)

所有的父节点来说,它的左孩子一定小于右孩子

极端情况,采用平衡二叉树的调整 的方法

数据结构笔记20-37-CSDN博客

 




 




 




 

实际上,(A) 快速排序、(B) 堆排序、(C) 归并排序 的时间复杂度在最坏情况和平均情况下是不同的:

  • 快速排序:它的平均时间复杂度是O(n log n),这是非常优秀的。但在最坏情况下(例如已经排序好的数组),时间复杂度会退化到O(n^2)。快速排序不需要额外的存储空间(如果采用原地排序的话),但其性能依赖于pivot的选择。

  • 堆排序:堆排序的时间复杂度在最好、最坏和平均情况下均为O(n log n)。它首先通过构建一个最大堆或最小堆(本题中为找最小元素,故构建最小堆),然后不断移除堆顶元素并重新调整堆,直到找到所需的最小元素。堆排序需要一个额外的O(1)空间复杂度用于交换元素,但主要操作还是在原数组上进行。

  • 归并排序:归并排序的时间复杂度在所有情况下都是O(n log n),是非常稳定的排序算法。但它需要O(n)的额外空间来合并子数组,这使得它在空间效率上不如堆排序和快速排序(如果不考虑快速排序的最坏情况)。

对于题目要求的“选出其中最小的10个记录关键字”,堆排序(B)的优势在于它可以直接通过调整堆来高效地获取顶部的元素,而不需要完全排序整个数组。相比快速排序和归并排序,堆排序在这个特定任务上的效率更高,因为它天然支持快速访问顶部元素(即最小元素),并且不需要像快速排序那样担心最坏情况性能退化,也不像归并排序那样需要大量额外空间。因此,选项B是最合适的选择。




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

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

相关文章

基于single flight来解决缓存击穿

目录 1. 缓存击穿2. 常见解决方案3.single flight方式3.1 模拟业务场景3.2 使用single flight的方式 缓存雪崩、缓存击穿、缓存穿透不单单是缓存领域的经典场景&#xff0c;更是面试当牛马时必备&#xff08;背&#xff09;八股文。 我们来讨论下缓存击穿场景下的解决方案。 …

【AI开发】RAG基础

RAG的基本流程&#xff1a; 用一个loader把knowledge base里的知识做成一个个的document&#xff0c;然后把document切分成snippets&#xff0c;把snippets通过embedding&#xff08;比如openai的embedding模型或者huggingface的&#xff09;向量化&#xff0c;存储到vectordb…

git 配置私人令牌

这里写自定义目录标题 获取私人令牌配置个人令牌 获取私人令牌 在个人设置里点击私人令牌选型&#xff0c;之后生成令牌即可。注意&#xff1a;令牌只会出现一次&#xff0c;务必保存好。 配置个人令牌 个人令牌&#xff1a;3c15c866fa61066212a83c66fd8133ba # 进入项目文…

护眼灯对眼睛有伤害吗?千万要小心的行业四大弊端内幕

护眼灯&#xff0c;作为现代家居与办公环境中不可或缺的照明伴侣&#xff0c;因其普及性广受青睐。然而&#xff0c;随着大众对视觉健康意识的逐渐增强&#xff0c;一个疑问悄然滋生&#xff1a;护眼灯对眼睛有伤害吗&#xff1f;这一问题不仅触及到了人们对视觉健康的深层担忧…

MLOps模型部署的三种策略:批处理、实时、边缘计算

机器学习运维&#xff08;MLOps&#xff09;是一组用于自动化和简化机器学习&#xff08;ML&#xff09;工作流程和部署的实践。所选择的部署策略可以显著影响系统的性能和效用。所以需要根据用例和需求&#xff0c;采用不同的部署策略。在这篇文章中&#xff0c;我们将探讨三种…

Java家政预约系统源码 家政上门APP源码 家电安装、维修、清洗、美容系统源码、家政系统各端功能细分

Java家政预约系统源码 家政上门APP源码 家电安装、维修、清洗、美容系统源码、家政系统各端功能细分 家政服务系统是一种提供家政服务的系统&#xff0c;它可以为客户提供上门家庭清洁、钟点工、保姆、月嫂、育婴师、护理员等家政服务。节省时间和成本&#xff0c;提高效率&…

网络层只懂路由?这9个知识点被严重低估了

号主&#xff1a;老杨丨11年资深网络工程师&#xff0c;更多网工提升干货&#xff0c;请关注公众号&#xff1a;网络工程师俱乐部 下午好&#xff0c;我的网工朋友。 网络层想必你已经耳熟能详&#xff0c;它的作用自然是不容小觑。 它负责将数据从源头准确地投递到目的地&am…

onnx基本概念

onnx基本概念 参考 文章目录 onnx基本概念Input, Output, Node, Initializer, AttributesSerialization with protobuf元数据List of available operators and domains支持的类型Opset版本Subgraphs, tests and loopsExtensibilityFunctionsShape (and Type) Inferencetools O…

编码在网络安全中的应用和原理

前言:现在的网站架构复杂&#xff0c;大多都有多个应用互相配合&#xff0c;不同应用之间往往需要数据交互&#xff0c;应用之间的编码不统一&#xff0c;编码自身的特性等都很有可能会被利用来绕过或配合一些策略&#xff0c;造成一些重大的漏洞。 什么是编码&#xff0c;为什…

UniVue更新日志:使用Carousel组件实现轮播图效果

github仓库 稳定版本仓库&#xff1a;https://github.com/Avalon712/UniVue 开发版本仓库&#xff1a;https://github.com/Avalon712/UniVue-Develop UniVue扩展框架-UniVue源生成器仓库&#xff1a;https://github.com/Avalon712/UniVue-SourceGenerator 更新说明 今天的更…

吴恩达深度学习笔记:机器学习(ML)策略(1)(ML strategy(1))1.11-1.12

目录 第三门课 结构化机器学习项目&#xff08;Structuring Machine Learning Projects&#xff09;第一周 机器学习&#xff08;ML&#xff09;策略&#xff08;1&#xff09;&#xff08;ML strategy&#xff08;1&#xff09;&#xff09;1.11 超过人的表现&#xff08;Surp…

报错:C1189#error: The <experimental/filesystem> header providing 解决方案

今天开发过程中&#xff0c;需要使用文件系统experimental/filesystem&#xff0c;报错C1189#error: The &#xff1c;experimental/filesystem&#xff1e; header providing &#xff0c;通过以下解决方案&#xff0c;成功运行程序。 目录 一、打开项目下的属性 二、选择C/…

算法02 递归算法及其相关问题【C++实现】

递归 在编程中&#xff0c;我们把函数直接或者间接调用自身的过程叫做递归。 递归处理问题的过程是&#xff1a;通常把一个大型的复杂问题&#xff0c;转变成一个与原问题类似的&#xff0c;规模更小的问题来进行求解。 递归的三大要素 函数的参数。在用递归解决问题时&…

VMware挂载NAS存储异常处理

问题概述 由于非法关机或恢复&#xff0c;NFS存储可能会出现以下问题&#xff1a; 数据存储处于挂起状态或无法正常识别。虚拟机的配置文件或虚拟磁盘仍然注册在异常数据存储上。系统误认为有虚拟机在使用该数据存储。 问题对策 下面是详细的排查步骤和解决对策&#xff1a…

PFA烧杯带把手带刻度1000ml3000mlPFA氟树脂温度范围-270~250℃

随着越来越多的痕量分析实验需要对ppb和ppt级的浓度进行测定。目前所使用的一般材料由于无特别处理&#xff0c;不可避免会与所储存的样品&#xff0c;试剂或标准液反应&#xff0c;导致痕量分析实验得到不正确的结果。但我厂的PFA产品刚好能弥补其不足。PFA金属元素空白值低&a…

前端锚点 点击 滑动双向绑定

一. 页面样式 二. 代码 <div class"flexBox"><div class"mdDiv" v-for"(item,index) in tabList" :key"index" :class"nowChooseindex?choosed:" click"jumpMD(index, item.id)">{{item.name}}&l…

风光储一体化园区 | 图扑新能源可视化

随着全球能源结构转型加速&#xff0c;可再生能源成为能源发展的重要方向。风能、太阳能作为清洁、绿色的能源&#xff0c;得到了广泛的开发和应用。与此同时&#xff0c;储能技术的发展为解决风能和太阳能发电的间歇性和波动性问题提供了有效途径。 风光储园区作为整合风电、…

CAD中如何在线加载卫星影像?

CAD在各行各业都有着非常广泛的应用&#xff0c;但在规划设计等行业中&#xff0c;不可避免地需要加载高清卫星影像&#xff0c;从而有利于作规划设计时参考。 现在&#xff0c;就为你分享一种在CAD中在线加载卫星影像的方法&#xff0c;如果需要CAD安装包&#xff0c;请在文末…

解决外网404:清除DNS缓存并配置host主机使用知名公共DNS服务

在 Windows 上清除/刷新 DNS 缓存 对于所有Windows版本&#xff0c;清除DNS缓存的过程都是相同的。你需要使用管理员权限打开命令提示符并运行ipconfig /flushdns。 浏览器清除DNS缓存 大多数现代的Web浏览器都有一个内置的DNS客户端&#xff0c;以防止每次访问该网站时…

白酒:茅台镇白酒的酒厂社会责任与可持续发展

云仓酒庄豪迈白酒&#xff0c;作为茅台镇的品牌&#xff0c;不仅在产品品质和口感方面有着卓着的表现&#xff0c;在酒厂社会责任和可持续发展方面也做出了积极的探索和实践。 首先&#xff0c;云仓酒庄豪迈白酒注重环境保护和资源利用。酒厂在生产过程中严格控制能源消耗和排放…