【408 数据结构】第1章绪论

news2024/11/26 1:41:35

文章目录

  • 绪论
    • 考纲
    • DS 基本概念
      • 1. 基本概念
      • 2. 数据结构三要素
    • 算法(时/空间复杂度计算)
      • 1. 算法概念
      • 2. 算法效率的度量
        • 时间复杂度:
        • 空间复杂度:
    • 小结

在这里插入图片描述

绪论

考纲

计算时间复杂度和空间复杂度(重点难点
在这里插入图片描述

DS 基本概念

1. 基本概念

  • 数据:信息的载体。
  • 数据元素:数据的基本单位。
  • 数据项:构成数据的最小单位。一个数据元素有若干个数据项组成。
  • 数据对象:相同性质的数据元素的集合,是数据的子集
  • 数据类型:的集合和定义在集合上的操作的总称。
    • 原子类型
    • 结构类型
    • 抽象数据类型
  • 数据结构:存在特定关系数据元素的集合。
    三要素:逻辑结构、存储结构、数据的运算

抽象数据类型可以定义一个完整的数据结构

2. 数据结构三要素

逻辑结构:元素之间的逻辑关系,与存储无关,独立于计算机。

  • 线性结构:线性表、站和队列、串、数组
  • 非线性结构:集合、一般树、二叉树、有向图、无向图

存储结构:在计算机中的表示(映像),包括数据元素的表示和关系的表示。

  • 顺序存储:逻辑上相邻,物理位置也相邻。
    优缺点:随机存取,但只能使用相邻的一整块存储单元。
  • 链式存储:不要求逻辑上相邻物理上也相邻。
    优缺点:按顺序存取,不会出现碎片现象,存储指针占用存储空间。
  • 索引存储:建立索引表,每项称为索引项(占存储空间)
    优缺点:检索速度快,但占用额外内存,增删元素也要修改索引表,花费时间多。
  • 散列存储:Hash存储,根据元素关键字计算元素的存储地址。
    优缺点:增删查速度快,但如果散列函数不好,会出现冲突,而解决冲突会增加花销。

在这里插入图片描述

算法(时/空间复杂度计算)

1. 算法概念

算法:对问题求解步骤的描述。指令的有限序列,每条指令代表一个或多个操作。

五大特性:有穷性、确定性、可行性、输入、输出。

好算法目标:正确性、可读性、健壮性、高效率低存储量需求。

2. 算法效率的度量

算法效率度量通过时间复杂度空间复杂度来描述。

时间复杂度:

频度:语句被重复执行的次数。

T(n) : 所有语句的频度之和。n是算法问题规模

时间复杂度主要分析T(n)的数量级。

通常我们将算法中基本运算的执行次数的数量级作为该算法的时间复杂度。即T(n)=O(f(n))

一般我们考虑在最坏情况下的时间复杂度。

分析时间复杂性的两条规则:

  • 加法规则:T(n) = T1(n) + T2(n) = O( f(n)+g(n) )=O( max(f(n),g(n)) )
  • 乘法规则:T(n) = T1(n) * T2(n) = O( f(n)*g(n) )

常见渐进时间复杂度:O(1) < O(log2n) < O(n) < O(nlog2n) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n)

不会算时间复杂度?推荐一个很好的博客喔,一学就会:http://t.csdnimg.cn/muccC
在这里插入图片描述

空间复杂度:

空间复杂度S(n) = O(g(n))

一个程序在进行操作时可能需要一些额外的辅助空间。

算法原地工作:算法所需辅助空间为常量,即O(1)

小结

本章要求掌握时间复杂度的求解,多做几个题。
啦啦啦学习408了,一边工作一边学习还真是累呢hhh
一起努力!!!
在这里插入图片描述

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

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

相关文章

简化物业数据管理:使用 Indexify 进行高级数据提取和检索

使用 Indexify 进行文档查询的分步指南。欢迎来到雲闪世界。 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 总结&#xff1a; 传统的数据提取方法通常会错过非结构化内容的更深层次的见解&#xff0c;尤其是在房地产领域。 本文探讨使用 Indexify&…

Mental-LLM——通过在线文本数据利用大型语言模型进行心理健康预测

概述 源码地址&#xff1a;https://github.com/neuhai/Mental-LLM.git 论文地址&#xff1a;https://arxiv.org/abs/2307.14385 在一项关于哪些法律硕士适合精神健康护理的研究中&#xff0c;对以下五种法律硕士进行了比较 羊驼-7b。羊驼-LoRA。FLAN-T5-XXLGPT-3.5GPT-4. 作…

TLS连接的握手过程

TLS&#xff08;传输层安全协议&#xff09;握手过程是客户端&#xff08;如浏览器&#xff09;和服务器&#xff08;如网站&#xff09;之间建立安全连接的一系列步骤。以下是TLS握手的详细过程&#xff1a; 图片来自Vector 1. 客户端问候&#xff08;Client Hello&#xff0…

PHP一键发起灵活定制多功能投票小程序系统源码

​一键发起&#xff0c;灵活定制 —— 多功能投票小程序 &#x1f680;【开篇&#xff1a;告别繁琐&#xff0c;投票新体验】&#x1f680; 还在为组织投票活动而头疼不已吗&#xff1f;繁琐的流程、有限的选项、难以统计的结果...这些都将成为过去式&#xff01;今天&#x…

将python项目打包成一个可执行文件(包含需要的资源文件)

目标 项目源码是采用Python编写&#xff0c;代码中需要读取部分资源文件。现在需要将项目打包成一个exe文件&#xff0c;没有其他任何多余文件&#xff0c;仅1个exe文件。 打包 安装pyinstaller 在自己项目的虚拟环境中&#xff0c;安装pyinstaller。注意一定要是虚拟环境&…

亚马逊运营秘籍:这些冷门知识,你不可不知!

今天&#xff0c;小编将揭秘几个鲜为人知的亚马逊运营冷知识&#xff0c;让我们一同探索并学习吧&#xff01; 退货佣金扣除&#xff1a;当买家提出退货时&#xff0c;无论是部分退款还是全额退款&#xff0c;亚马逊会直接从卖家账户中扣除20%的佣金&#xff0c;剩余的80%则返还…

Java导出图片到excel

1、例如你有这样一个集合&#xff0c;具体结合你的业务场景 Data public class Student {/*** 姓名*/private String xh;/*** 学号*/private String xm;/*** 照片*/private byte[] zp; }2、相关代码 RequestMapping(value "/quereImgByPkid/{pkid}",method Requ…

【数据分享】地级市-国际互联网用户数(2001-2019年)

数据介绍 在当今数字化时代&#xff0c;互联网已经成为人们生活中不可或缺的一部分。今天&#xff0c;我们为大家带来一份极具价值的数据资源 —— 地级市 - 国际互联网用户数&#xff08;2001 - 2019 年&#xff09;。 这份涵盖了近二十年的数据&#xff0c;清晰地展现了各地…

Google上架:PAD的三种分发模式之install-time分发(减小包体上架,适用于包体大于150MB,小于1.15GB的包体)

近期技术服务在升级,抽空写一下关于上架部分的难点,今天来讲一下关于包体过大解决办法中的PAD分发(install-time分发)模式,希望能给好兄弟们带来帮助。 注意!!!这个方法适用于包体大于150MB,小于1.7GB这个区间的包体,不在这个区间的小伙伴可以跳过这个文章,直接私聊…

华为 HCIP-Datacom H12-821 题库 (6)

有需要题库的可以看主页置顶 V群仅进行学习交流 1.转发表中 FLAG 字段中B 的含义是&#xff1f; A、可用路由 B、静态路由 C、黑洞路由 D、网关路由 答案&#xff1a;C 解析&#xff1a; 可用路由用U 表示&#xff0c;静态路由用 S 表示&#xff0c;黑洞路由用 B 表示&#x…

交叉编译 mpfr

文章目录 交叉编译 mpfr1 概述2 源码下载3 交叉编译 交叉编译 mpfr 1 概述 MPFR&#xff08;Multiple Precision Floating-Point Reliable&#xff09;是一个用于高精度浮点数计算的开源库&#xff0c;它提供了高精度的浮点数运算和函数库&#xff0c;适用于需要处理大数或高精…

有哪些开学必备好物推荐?2024年盘点推荐五款高性价比数码好物!

新的学期&#xff0c;新的开始。在 2024 年开学季&#xff0c;为了让同学们更好地投入学习和生活&#xff0c;拥有更便捷、高效的体验&#xff0c;我精心测评盘点并推荐五款高性价比数码好物。这些数码好物不仅能满足学习需求&#xff0c;还能为课余生活增添乐趣&#xff0c;是…

35~750kV 变电站无人值守与集中监控的智能运维模式

1、引言 电力行业的快速发展和电网规模的持续扩张&#xff0c;使得传统的变电站运维模式日渐不能满足现代电网对于安全性、可靠性和效率的更高要求。因此&#xff0c;向无人值守与集中监控过渡&#xff0c;已经逐渐成为了整个行业发展的主旋律。 2、关键技术支撑 2.1 自动化监…

CAE小白入门:HyperMesh的使用和帮助

1.1.3 启动 HyperMesh (1) On PC • 从起始菜单&#xff0c;选择 All Programs >Altair HyperWorks (version) > HyperMesh Desktop。 • 右击上述程序创建软件启动快捷方式&#xff0c;点击快捷方式。 (2) On UNIX • 在命令窗口点击 <install directory>/sc…

提升RAG检索回答质量: Shortwave的 4 大优化指南

这篇文章就针对 RAG 检索这个问题提供一些思路, 以 Shortwave 这家 AI 邮件助手公司的设计思路作为案例,真的很难有公司把产品详细技术机制公布出来 本文在01 部分还针对"微调和 RAG,到底选哪个? " , " 有了支持超长上下文窗口的 LLM,是否还需要 RAG"进行…

城市数字化转型中的机遇:中小型企业产品选型指南

随着城市数字化转型的浪潮席卷全球&#xff0c;中小型企业正面临着前所未有的机遇与挑战。如何精准选型&#xff0c;以最小的成本实现最大的效益&#xff0c;成为众多中小型企业关注的焦点。作为一款低代码开发平台&#xff0c;百数为中小型企业提供了一个高效、便捷、低成本的…

Aigtek功率放大器的参数是什么意思

功率放大器是电子电路中的一种重要组件&#xff0c;用于增加输入信号的幅度&#xff0c;以便驱动负载&#xff0c;如扬声器或天线。在设计和使用功率放大器时&#xff0c;有许多关键参数需要考虑&#xff0c;这些参数影响着功率放大器的性能和适用性。下面将详细介绍功率放大器…

视频合并怎么操作?这篇文章告诉你

当你手头有多个片段&#xff0c;想要将它们巧妙地拼接在一起&#xff0c;形成一个完整的故事时&#xff0c;你会怎么做呢&#xff1f; 手动逐帧调整&#xff1f;这显然是个耗时且复杂的过程。幸好&#xff0c;现在有许多优秀的视频合并模板软件可以帮助你轻松实现这一目标。 …

Power Automate向Power Apps传Table数据

Flow返回查询的数据表并返回Apps 场景介绍代码开发Power Automate开发数据库Power Automate调用存储过程 Power Apps开发代码开发 测试 场景介绍 我们通常会使用Flow 查询数据表然后Apps端将表中的数据显示出来&#xff0c;我们怎么来传呢&#xff0c;它自带的response for Po…

Arduino library for proteus 下载 安装 测试

Arduino library include: https://drive.google.com/uc?exportdownload&id1P4VtXaomJ4lwcGJOZwR_25oeon9Zzvwb 第一步&#xff1a; 也可从我的共享网盘当中下载&#xff1a; 第2步&#xff1a;解压文件&#xff1a; 第3步&#xff1a; copy lib and idx 到对应的…