10.09面试题目记录

艾融软件 - 线上面试题

排序算法的时间复杂度

O(n^2):冒泡,选择,插入
O(logn):折半插入排序
O(nlogn):希尔,归并,快速,堆
O(n+k):桶,计数,基数
(K表示桶的个数)

聚合函数

什么是聚合函数? 聚合函数作用于一组数据,并对一组数据返回一个值。
聚合函数:AVG() SUM() MAX() MIN() COUNT()

相关知识点

排序算法的稳定性

在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。
稳定的排序:冒泡排序、直接插入排序、折半插入排序、归并排序
不稳定的排序:堆排序、快速排序、希尔排序、直接选择排序

排序算法的时间复杂度

1)一重循环的时间复杂度为O(n),两重循环的时间复杂度为O(n^2), 三重循环的时间复杂度为 O(n^3),依次类推;
2)二分的时间复杂度为O(logn);
3)一个循环里套一个二分的时间复杂度为O(nlogn)。
在这里插入图片描述

排序算法的思想
  • 冒泡排序:需要进行n-1轮排序,第i轮排序中将从第0个元素到第n-i-1个元素进行两两比较将该轮排序中的最大值一步一步移动都最后的位置。
  • 插入排序: 先假定序列中第0个元素是有序的,从序列中第1个元素开始遍历,将遍历取出的元素与其前面已经排好序的元素进行比较将其插入到有序序列中的合适位置。
  • 快速排序:先从序列中挑出第一个元素作为后期比较的基准。将所有比基准小的元素摆放在基准的左边,所有比基准大的元素摆放在基准的右边,所有和基准相同的元素摆放在基准的任一边。在这个分区结束之后,该基准就处于序列的中间位置。递归地把左分区的元素和右分区的元素再进行排序。
  • 选择排序:就是不断地从未排序的元素中选择最大(或最小)的元素放入已排好序的元素集合中,直到未排序中仅剩一个元素为止,一般假定第一个元素是最小值
  • 希尔排序:先让数组中任意间隔为 h 的元素有序,刚开始 h 的大小可以是 h = n / 2,接着让 h = n / 4,让 h 一直缩小,当 h = 1 时,也就是此时数组中任意间隔为1的元素有序,此时的数组就是有序的了
  • 归并排序:将一个大的无序数组有序,我们可以把大的数组分成两个,然后对这两个数组分别进行排序,之后在把这两个数组合并成一个有序的数组
  • 堆排序:把堆顶的元素与最后一个元素交换,交换之后破坏了堆的特性,我们再把堆中剩余的元素再次构成一个大顶堆,然后再把堆顶元素与最后第二个元素交换….如此往复下去,等到剩余的元素只有一个的时候,此时的数组就是有序的了
  • 基数排序:先以个位数的大小来对数据进行排序,接着以十位数的大小来多数进行排序,接着以百位数的大小进行排序
  • 计数排序:就是把数组元素作为数组的下标,然后用一个临时数组统计该元素出现的次数,例如 temp[i] = m, 表示元素 i 一共出现了 m 次。最后再把临时数组统计的数据从小到大汇总起来,此时汇总起来是数据是有序的。
  • 桶排序:把最大值和最小值之间的数进行瓜分,例如分成 10 个区间,10个区间对应10个桶,我们把各元素放到对应区间的桶中去,再对每个桶中的数进行排序,最后将桶进行汇总排序。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PY32F030高性能单片机,主频高达48M,最大64 KB 闪存,8 KB SRAM

PY32F030是普冉的一颗32位高性能MCU,采用32 位 ARM Cortex-M0 内核,高达16~64 Kbytes Flash 和 2~8 Kbytes SRAM 存储器,最高 48 MHz 工作频率。PY32F030 单片机的工作温度范围为 -40 ~ 105 C,工作电压范围为1.7 ~ 5.5 V&#xff…

gda动态调试-cnblog

忽的发现gda有动态调试功能 动态监听返回值 框柱指定方法,选择调试方法,gda会自动监听函数的返回值,例如 自定义frida脚本 gda会自动生成hook该函数的frida脚本

证券交易系统中服务器监控系统功能设计

1.背景介绍 此服务器监控系统的目的在于提高行情服务器的监管效率,因目前的的行情服务器,包括DM、DT、DS配置数量较多,巡回维护耗时较多,当行情服务器出现异常故障,或者因为网络问题造成数据断线等情况时,监…

卫星网络——Walker星座简单介绍

一、星座构型介绍 近年来,随着卫星应用领的不断拓展,许多任务已经无法单纯依靠单颗卫星来完成。与单个卫星相比,卫星星座的覆盖范围显著增加,合理的星座构型可以使其达到全球连续覆盖或全球多重连续覆盖,这样的特性使得…

VSCode远程服务器

一、安装VSCode Windows安装Visual Studio Code(VS Code)-CSDN博客 二、VSCode中安装Remote-SSH插件 1、在应用商店中搜索Remote - SSH并安装 2、安装后会出现下面标注的图标 三、开始SSH连接 1、点击加号,创建SSH连接 2、输入地址,格式是:…

第三十四篇-学习构建自己的Agent

agentica v0.1 版本升级: https://github.com/shibing624/agentica (原项目名:actionflow) agentica是一个Agent构建工具,功能: 简单代码快速编排Agent,支持 Reflection(反思)、P…

Vivado FFT IP核使用

1. 今日摸鱼任务 学习Vivado FFT IP核的使用 Vivado_FFT IP核 使用详解_vivado fft ip核-CSDN博客 这篇写的很详细啦 简单做一点笔记进行记录 2. FFT IP核 xfft_0 ff (.aclk(aclk), // input wire aclk.aresetn(aresetn)…

JS+CSS+HTML项目-中国国家图书馆

页面做的不多,CSS效果请看哔哩哔哩

每天五分钟深度学习框架pytorch:tensor向量的统计函数的运算

本文重点 给定一个向量,我们如何才能获取到这个向量中重要的那部分呢?比如均值,最大值等等,我们可以使用pytorch中已经封装好的方法来完成这些任务。 常用的统计方法 L1范式 L1范式就是将向量中所有元素的绝对值相加求和,以上是对a、b、c三个向量求L1范式,都是8 L2范数…

NFT Insider #137:Polygon链上NFT销售额破7800万美元,TheSandbox通过创作者挑战推动社区参与

引言:NFT Insider由NFT收藏组织WHALE Members (https://twitter.com/WHALEMembers)、BeepCrypto (https://twitter.com/beep_crypto)联合出品,浓缩每周NFT新闻,为大家带来关于NFT最全面、最新鲜…

UML2.0-系统架构师(二十四)

1、(重点)系统()在规定时间内和规定条件下能有效实现规定功能的能力。它不仅取决于规定的使用条件等因素,还与设计技术有关。 A可靠性 B可用性 C可测试性 D可理解性 解析: 可靠性:规定时间…

Linux 内核 GPIO 用户空间接口

文章目录 Linux 内核 GPIO 接口旧版本方式:sysfs 接口新版本方式:chardev 接口 gpiod 库及其命令行gpiod 库的命令行gpiod 库函数的应用 GPIO(General Purpose Input/Output,通用输入/输出接口),是微控制器…

Linux 端口

什么是虚拟端口 计算机程序之间的通讯,通过IP只能锁定计算机,但是无法锁定具体的程序。通过端口可以锁定计算机上具体的程序,确保程序之间进行沟通。 IP地址相当于小区地址,在小区内可以有许多用户(程序)&…

AI绘画Stable Diffusion 双重曝光-神秘意境和难以言喻的视觉体验,SD提示词轻松搞定

大家好,我是画画的小强 今天给大家介绍AIGC绘图提示语使用常见摄影手法:双重曝光。双重曝光摄影效果是一种摄影爱好所热衷的常见摄影手法之一。通过双重曝光摄影手法,能够为图同摄影图像引入神秘的意境感和一种难以言喻的视觉体验&#xff0…

android应用的持续构建CI(二)-- jenkins集成

一、背景 接着上一篇文章,本文我们将使用jenkins把所有的流程串起来。 略去了对android应用的加固流程,重点是jenkins的job该如何配置。 二、配置jenkins job 0、新建job 选择一个自由风格的软件项目 1、参数赋值 你可以增加许多参数,这…

Windows环境使用SpringBoot整合Minio平替OSS

目录 配置Minio环境 一、下载minio.exe mc.exe 二、设置用户名和密码 用管理员模式打开cmd 三、启动Minio服务器 四、访问WebUI给的地址 SpringBoot整合Minio 一、配置依赖,application.yml 二、代码部分 FileVO MinioConfig MinioUploadService MinioController 三…

c++习题05-斐波那契数列

目录 一,问题 二,思路 三,代码 一,问题 二,思路 根据题目,可以自己列出斐波那契数列(前四个)如下: 通过列出来的值,可以发现,前两个都是1&…

如何优化圆柱晶振32.768KHz的外壳接地?

圆柱晶振32.768KHz在电子设备中扮演着重要的角色,其精确的时钟信号对于许多应用至关重要。为了确保晶振的稳定性和准确性,外壳接地是一个关键步骤。 一、外壳接地的目的 外壳接地的主要目的是为了防止信号干扰。当晶振的外壳接地后,它相当于…

联合概率密度函数

目录 1. 什么是概率密度由联合概率密度求概率参考链接 1. 什么是概率密度 概率密度到底在表达什么? 外卖在20-40分钟内送达的概率 随机变量落在[20,40]之间的概率。下图中,对总面积做规范化处理,令总面积1, f ( x ) f(x) f(x)则成…

创建本地仓库

一、新建挂载目录 二、将挂载本地镜像挂载到目录 三、配置yum仓库 一、新建挂载目录 mkdir /BenDiCangKu 二、将挂载本地镜像挂载到目录 1、先连接本地光盘 2、挂载光盘 mount /dev/sr0 /BenDiCangKu 3、查看挂载 由此可见挂载成功 三、配置yum仓库 1、新建yum仓库文件…