三分钟补算法系列(一)

news/2024/4/15 5:35:31/文章来源:https://blog.csdn.net/m0_57021623/article/details/136582062

1.什么是算法

在计算机领域内,算法是一系列程序指令,用于处理特定的运算和逻辑问题。

衡量算法优劣的主要标准是时间复杂度和空间复杂度。

2.什么是数据结构?

数据结构是数据的组织、管理和存储格式,其使用目的是为了高效地访问和修改数据。

数据结构包含数、链表这样的线性数据结构,也包含树,图这样的复杂数据结构。

3.什么是时间复杂度?

时间复杂度是对一个算法运行时间长短的量度,用大O表示,记作T(n)=O(f(n))。

常见的时间复杂度按照从低到高的顺序,包括O(1)、O(logn)、O(n)、O(nlogn)、O(n²)等。

4.什么是空间复杂度?

常见的空间复杂度按照从低到高的顺序,包括O(1)、O(n)、O(n²)等。其中递归算法的空间复杂度和递归深度成正比。

5.什么是数组?

数组是由有限个相同类型的变量所组成低端有序集合,它的物理存储方式是顺序存储,访问方式是随机访问。利用下标查找数组元素的时间复杂度是O(1),中间插入、删除数组元素的时间复杂度是O)n。

6.什么是栈?

栈是一种线性逻辑结构,可以用数组实现,也可以用链表实现。栈包含入栈和出栈操作,遵循先入后出的原则(FILO)。

7.什么是队列?

队列也是一种线性逻辑结构,可以用数组实现,也可以用链表实现。队列包含入队和出队操作。遵循先入先出的原则(FIFO)。

8.什么是散列表?

散列表也叫哈希表,是存储Key-Vlaue映射映射的集合。对于某一个Key,散列表可以在接近O(1)的时间内进行读写操作。散列表通过哈希函数实现Key和数组下标的转换,通过开放寻址法和链表法来解决哈希冲突。

9.什么是树?

树是n个节点的有限集,有且仅有一个特定的称为根的节点。当n>1时,其余节点节点可分为m个互不相交的有限集,每一个集合本身又是一个树,并称为根的子树。

10.什么是二叉树?

二叉树是树的一种特殊形式,每一个节点最多有两个孩子节点。二叉树包含完全二叉树和满二叉树两种特殊形式。

11.二叉树的遍历方式有几种?

根据遍历节点之前的关系,可以分为前序遍历、中序遍历、后序遍历、层序遍历这4种方式;从更宏观的角度划分,可以划分为深度优先遍历和广度优先遍历两大类。

12.什么是二叉堆?

二叉堆是一种特殊的完全二叉树,分为最大堆和最小堆。

在最大堆中,任何一个父节点的值,都大于或等于它左、右孩子节点的值。

在最小堆中,任何一个父节点的值,都小于或等于它左、右孩子节点的值。

13.什么是优先队列?

优先队列分为最大优先队列和最小优先队列。

在最大优先队列中,无论入列顺序如何,当前最大的元素都会优先出队,这是基于最大堆实现的。

在最小优先队列中,无论入队顺序如何,当前最小的元素都会优先出队,这是基于最小堆实现的。

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

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

相关文章

基于深度学习的驾驶员分心驾驶行为(疲劳+危险行为)预警系统使用YOLOv5+Deepsort实现驾驶员的危险驾驶行为的预警监测

人物专注性检测 项目快速预览 主要不同地方为: 1、疲劳检测中去掉了点头行为的检测,仅保留闭眼检测和打哈欠检测。 2、Yolov5的权重进行了重新训练,增加了训练轮次。 3、前端UI进行了修改,精简了部分功能。 项目介绍 该项目…

常用“树”数据结构

哈夫曼树 在许多应用中,树中结点常常被赋予一个表示某种意义的数值,称为该结点的权。从树的根到任意结点的路径长度(经过的边数)与该结点上权值的乘积,称为该结点的带权路径长度。树中所有叶结点的带权路径长度之和称为该树的带权路径长度&am…

追寻工作与生活的和谐之道

在现代社会,人们往往被快节奏的工作和生活所困扰,如何在这两者之间找到平衡点,成为许多人关注的焦点。本文将为您介绍一些实用的方法和建议,帮助您实现工作与生活的和谐共处。 一、合理规划时间,提高工作效率 时间是实…

python+django_vue旅游酒店预订出行订票系统pycharm项目lw

a.由于对管理信息方面的内容了解尚浅且没有足够的经验,因而很难对数据庞大的线上旅行信息管理系统建立完善的数据库。 b.线上旅行信息管理系统拥有很大的信息量,其中包括数据库的前期开发和后期更新,因此对数据库的安全性,一致性和…

运维:记一次寻找定时任务并删除的经历

前言 我相信接手别人的服务器、或者在没有任何文档的情况去看自己原先的服务器,都或多或少会遇到莫名其妙的服务器独有规则。 比如你服务本身跑的好好的,突然啪的一下,没了! 什么原因导致的呢?其中,很大可能是定时任务在作祟。 原因分析 本次,我遇到的问题是:在Ubuntu系…

第九篇 – 过程发现(Process Discovery)是如何赋能数字化市场营销全过程?- 我为什么要翻译介绍美国人工智能科技巨头IAB公司

IAB平台,使命和功能 IAB成立于1996年,总部位于纽约市。 作为美国的人工智能科技巨头社会媒体和营销专业平台公司,互动广告局(IAB- the Interactive Advertising Bureau)自1996年成立以来,先后为700多家媒体…

代码随想录算法训练营第三天|203.移除链表元素

题目: 203. 移除链表元素 已解答 简单 相关标签 相关企业 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 示例 1: 输入:head [1,2,6,3,4,5,6], val …

【Azure 架构师学习笔记】- Azure Service Endpoint

本文属于【Azure 架构师学习笔记】系列。 前言 在做Azure 架构时,经常会被问到Service Endpoint这个点,那么这篇文章来介绍一下Service Endpoint(SE)。 Azure Service Endpoint 首先它是一个专用通道,在Azure 资源之…

使用Python编写简单学生管理系统

学完python基础,把学过的知识运用起来做一个简单的学生管理系统 1、需求分析 需求:进入系统显示系统功能界面,功能如下: ① 添加学员信息 ② 删除学员信息 ③ 修改学员信息 ④ 查询学员信息(只查询某个学员) ⑤ 遍历所有学…

02:HAL库---GPIO

一:GPIO 1:简历 2:模式 输入 : IO向32发送信号, 即外设发送信号 GPIO_Mode_AIN -----模拟输入 GPIO_Mode_IN_FLOATING -----浮空输入 GPIO_Mode_IPD -----下拉输入 GPIO_Mode_IPU ------上拉输入 GPIO_MODE_INPUT----输入模式 输出 : 32向IO发送信号, 即外设接收信号 …

【办公类-21-09】三级育婴师 视频转文字docx(等线小五单倍行距),批量改成“宋体小四、1.5倍行距、蓝色字体”

作品展示: 背景需求: 一、视频处理 1、育婴师培训的现场视频 2、下载视频,将视频换成考题名称 二、音频 视频用格式工厂转成MP3音频 3、转文字doc 把音频放入“网易云见外工作台”转换为“文字" 等待5分钟,音频文字会被写…

目标检测5:采用yolov8, RK3568上推理实时视频流

上一个效果图,海康球机对着电脑屏幕拍,清晰度不好。 RK3568接取RTSP视频流,通过解码,推理,编码,最终并把结果推出RTSP视频流。 RK3568 推理 数据集采用coco的80个种类集,通过从yovo8.pt&#x…

XSS-Labs靶场1---11关

一、XSS环境搭建: [ 靶场环境篇 ] XSS-labs 靶场环境搭建(特别详细)_xss靶场搭建-CSDN博客 (该博主总结的较为详细,若侵权必删) 常用的xss攻击语句: 输入检测确定标签没有过滤后,为了显示存在漏洞&#…

贪心算法(greedy algorithm,又称贪婪算法)详解(附例题)

目录 基本思想一)概念二)找出全局最优解的要求三)求解时应考虑的问题四)基本步骤五)贪心策略选择六)实际应用 1.零钱找回问题2.背包问题3.哈夫曼编码4.单源路径中的Djikstra算法5.最小生成树Prim算法 基本…

从 iPhone 15/15 Pro 恢复丢失数据的 3 种方法

毫无疑问, iPhone 15 是迄今为止最令人印象深刻的 iPhone 。另一方面,我们知道,设备上保存的数据无论多么可靠,在设备使用过程中都可能因各种原因而丢失。 由于这些设备的性质,您在使用 iPhone 15、iPhone 15 Pro 或 …

【Spring底层原理高级进阶】Spring Kafka:实时数据流处理,让业务风起云涌!️

🎉🎉欢迎光临🎉🎉 🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀 🌟特别推荐给大家我的最新专栏《Spring 狂野之旅:从入门到入魔》 🚀 本…

微服务技术栈SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式(三):Docker

文章目录 一、基本介绍二、环境配置三、Docker基本操作3.1 镜像操作3.2 容器操作3.2.1 演示命令run、ps、logs3.2.2 演示命令exec、rm、exit(退出)3.3 数据卷3.3.1 直接挂载3.3.2 宿主机挂载3.3.3 两种方式的对比 四、Dockerfile自定义镜像五、Docker-Co…

【开源】SpringBoot框架开发固始鹅块销售系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 鹅块类型模块2.3 固始鹅块模块2.4 鹅块订单模块2.5 评论管理模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 鹅块类型表3.2.2 鹅块表3.2.3 鹅块订单表3.2.4 鹅块评论表 四、系统展示五、核心代码5.…

上门服务小程序|上门服务系统成品功能包含哪些?

随着移动互联网的快速发展,上门服务小程序成为了一种创新的家政服务模式。它不仅为用户带来了极大的便利,还能在提高服务效率和质量方面发挥作用。通过上门服务小程序,用户可以轻松预约按摩或理疗服务,无需繁琐操作,只…

QT中使用QProcess执行命令,实时获取数据,例如进度条

前言 因为之前写了一个接收和发送文件的脚本&#xff0c;然后又需要获取进度&#xff0c;同步到进度条中。 效果&#xff1a; 使用正则匹配&#xff0c;获取命令行命令中的以下数据&#xff0c;然后同步到进度条 源码demo&#xff1a; 非完整代码&#xff1a; #include <Q…