数据结构(其一)--基础知识篇

目录

1. 数据结构三要素

1.1 数据结构的运算

1.2 数据结构的存储结构

2. 数据类型,抽象数据类型

3. 算法

3.1 时间复杂度T(n)

3.2 空间复杂度


1. 数据结构三要素

1.1 数据结构的运算

即,增删改查

1.2 数据结构的存储结构

2. 数据类型,抽象数据类型

数据类型:

(1). 原子类型:bool、int...

(2). 结构类型:类、结构体...

抽象数据类型(ADT):

类似于结构类型,使用者需要知道该数据结构的名字以及其数据之间的联系(函数)即可

3. 算法

3.1 时间复杂度T(n)

时间复杂度越小,算法越优秀

(1). 运算法规

加法:

多项相加的时候,只保留最高阶的项(次方)

T1(n) + T2(m) = T(max(n,m))

乘法:

T1 x T2 = O( f(n) x g(n) )

(2). 常见的数量级比较

一般,记住前三个和后三个就足够使用——常对幂指阶 

3.2 空间复杂度

1GB = 1024*1024*1024 字节 约为10亿

1GB=1024MB   1MB=1024KB   1KB=1024字节

其实,不必知道各种数据类型的储存字节数,直接以个数储存就ok,毕竟到最后,系数都会被略去,化为系数为一的含 n 的计算公式。

在函数中,作为参数传入的数据都不必被算作空间复杂度的一部分,因为这些参数的数量是可知的,可知,即可被省略(递归函数除外)

在函数中,需要计算的是那些在函数中,声明产生的变量。

特别的:

在递归函数中,每次传入的数据,并不会覆盖在原来的位置,而是储存在新的地址,所以,欲求递归函数的空间复杂度,需要清楚,递归的有起点到终点的全过程内存占用情况。

在涉及到数组的递归函数时,尤其是数组长度随递归发生改变,那么往往需要用到等差数列求和

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

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

相关文章

企业微信群发限制的背后逻辑,一文读懂!

在数字化营销日益盛行的今天,企业微信作为一款专为企业设计的通讯与办公工具,凭借其与微信的无缝对接和丰富的功能,成为了众多企业开展私域流量运营的重要平台。然而,在使用企业微信的群发功能时,用户往往会遇到一定的…

视觉语言模型导论:这篇论文能成为你进军VLM的第一步

近些年,语言建模领域进展非凡。Llama 或 ChatGPT 等许多大型语言模型(LLM)有能力解决多种不同的任务,它们也正在成为越来越常用的工具。 这些模型之前基本都局限于文本输入,但现在也正在具备处理视觉输入的能力。如果…

录屏软件免费推荐,拥有这4款,不花一分钱

在这个充满创意与活力的数字时代,录屏软件早已成为我们探索世界、分享生活的必备神器。但市面上却存在很多收费的录屏软件,让人望而却步。那么有没有一些录屏软件免费帮助我们轻松开启录影人生,尽情展现创意与才华呢? 本文就将带…

痉挛性斜颈是中医治疗好还是西医好呢?你有真正了解吗?

痉挛性斜颈是西医治疗好还是中医治疗好 痉挛性斜颈,是由于中枢神经系统异常冲动引起的颈部肌群阵发性不自主收缩,使头颈向一侧扭转或痉挛性倾斜。 痉挛性斜颈的病因,多数是由于脑深部的神经细胞病变引起的。这些病人可以有脑炎、出生时窒…

光电门验证动量守恒实验

本实验所需器件与第二个实验相同。但是连线方式有所区别,先将Arduino的电源输出接到两个光电门,然后再将光电门1的信号输出线接到Arduino的第10个端口,光电门2的信号输出线接到Arduino的第11个端口。对Arduino写入下列程序(只有主…

ELK集群搭建

ELK集群搭建 文章目录 ELK集群搭建1.环境准备2.Elasticsearch环境搭建1.创建es账户并设置密码2.选择对应版本进行下载3.编辑配置文件4.设置JVM堆大小 #7.0默认为4G5.创建es数据及日志存储目录6.修改安装目录和存储目录权限 3.系统优化1.增加最大文件打开数2.增加最大进程数3.增…

有了HTTP,为什么还需要HTTPS?

一、HTTPS的重要性 背景:互联网时代信息传播快,互动便捷,但数据安全和个人隐私保护问题日益突出。普及趋势:HTTPS协议因其安全性和隐私保护功能而成为互联网发展的必然选择。 二、HTTPS相较于HTTP的优势 安全性 HTTP&#xff1a…

(3)滑动窗口算法练习:最长连续1的个数Ⅲ

最长连续1的个数Ⅲ 题目链接:1004. 最大连续1的个数 III - 力扣(LeetCode) 给定一个二进制数组 nums 和一个整数 k,如果可以翻转最多 k 个 0 ,则返回 数组中连续 1 的最大个数 。 示例 1: 输入&#xff1a…

【GreenHills】GHS-Servecode的查看和说明

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 在Green Hills客户申请license试用以及正式文件的Servecode编号会有不同,该文档对此进行说明并如何主动查看Servecode,并且说明Servecode的类别,通过Servecode了解客户授权情况。 …

【机器学习】初学者经典案例(随记)

🎈边走、边悟🎈迟早会好 一、概念 机器学习是一种利用数据来改进模型性能的计算方法,属于人工智能的一个分支。它旨在让计算机系统通过经验自动改进,而不需要明确编程。 类型 监督学习:使用带标签的数据进行训练&…

spring boot 3.2.x 使用CDS加速启动

maven 配置 业务包和依赖包分离 <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><executable>true</executable><la…

2-30 基于matlab的神经网路下身份证号码识别算法

基于matlab的神经网路下身份证号码识别算法&#xff0c;二值化、膨胀处理、边界区域划分、身份证字符分割&#xff0c;字符识别算法&#xff0c;输出识别结果。并保存识别结果。程序已调通&#xff0c;可直接运行。 2-30 神经网络 身份证识别 图像处理 - 小红书 (xiaohongshu.c…

FastAPI 学习之路(四十)后台任务

我们在实际的开发中&#xff0c;都会遇到&#xff0c;我们要执行的一些任务很耗时&#xff0c;但是对于前端&#xff0c;没必要进行等待。比如发送邮件&#xff0c;读取文件。我们在fastapi如何实现呢。 其实很简单&#xff0c;fastapi已经给我们封装好一个现成的模块&#xff…

4款免费国产开源软件,功能过于强大,常被认为是外国人开发

之前小编分享了一些良心的电脑软件&#xff0c;大部分都是国外的开源软件&#xff0c;就有部分同学在后台说小编有点极端了&#xff0c;国内也是有良心的电脑软件的。 本期就是国产软件专场&#xff0c;今天就给大家推荐几款良心的国产电脑软件&#xff0c;说真的&#xff0c;…

UNIAPP_ReferenceError: TextEncoder is not defined 解决

错误信息 1、安装text-decoding npm install text-decoding2、main.js import { TextEncoder, TextDecoder } from text-decoding global.TextEncoder TextEncoder global.TextDecoder TextDecoder

list模拟实现【C++】

文章目录 全部的实现代码放在了文章末尾准备工作包含头文件定义命名空间类的成员变量为什么节点类是用struct而不是class呢&#xff1f;为什么要写get_head_node? 迭代器迭代器在list类里的实例化和重命名普通迭代器operator->()的作用是什么&#xff1f; const迭代器反向迭…

ENSP防火墙综合配置

综合拓扑&#xff1a; 实验要求&#xff1a; 要求一 生产区的安全策略配置 办公区的安全策略 要求二 生产区的安全策略 游客和办公区的安全策略 因为ISP返回的数据包会被防火墙最后的默认安全策略给拒绝&#xff0c;所以&#xff0c;把要ISP返回的数据给允许通过 要求三 增加…

python如何计算今天是星期几

需要解决的问题&#xff1a;时区问题 解决方案&#xff1a;引入pytz 封装的方法如下&#xff1a; import datetime from .. import pytzweek_list ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六&quo…

qt 自定义信号和槽举例

在Qt中&#xff0c;自定义信号和槽是对象间通信的一种强大机制。以下是一个简单的例子&#xff0c;展示了如何定义和使用自定义信号和槽。 首先&#xff0c;我们定义一个简单的Worker类&#xff0c;它有一个自定义信号workCompleted&#xff0c;当某个任务完成时&#xff0c;这…

人工智能及深度学习在病理组学中的应用概述|系列推文·24-07-11

小罗碎碎念 从本期推文开始&#xff0c;小罗将开始进行一项长期的工作——从头开始梳理人工智能在病理组学中的应用。 我会先从机器学习的进展开始讲&#xff0c;随后过渡到深度学习&#xff0c;再进一步阐述数据的处理分析方法&#xff0c;最后介绍人工智能在精准医疗以及病…