当前位置: 首页 > article >正文

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

文章目录

  • 绪论
    • 考纲
    • 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.kler.cn/a/289586.html

相关文章:

  • C++ 编程基础(6)作用域 | 6.3、类作用域
  • docker:docker: Get https://registry-1.docker.io/v2/: net/http: request canceled
  • AWS认证SAA-C0303每日一题
  • 网页版五子棋——对战模块(服务器端开发②)
  • 同三维T610UDP-4K60 4K60 DP或HDMI或手机信号采集卡
  • MySQL_第13章_视图
  • 开发基础软件安装地址(持续更新中)
  • Spring Boot实战:运用享元模式优化微服务间共享资源
  • 使用VM创建centos7环境
  • 知识点复习3
  • 速盾:什么是高防cdn?高防cdn的特点和好处有哪些?
  • 微信小程序知识点(一)
  • 自然语言处理系列五十三》文本聚类算法》文本聚类介绍及相关算法
  • 【软件文档】系统安全保证措施(Word)
  • 【代码随想录训练营第42期 Day49打卡 - 接雨水和柱状图最大矩形问题
  • HTML基本概述
  • 2024升级zblog小程序开源源码/基于uniapp开发的(支持微信小程序、百度小程序、安卓APP)
  • linux文件的拓展属性
  • pod基础和镜像拉取策略
  • 《Few-shot Object Counting and Detection》CVPR2022
  • 学习笔记---自动驾驶
  • 风趣图解LLMs RAG的15种设计模式-第二课
  • 窖藏之秘:白酒在窖藏过程中经历了哪些变化?
  • [开源]低代码表单FormCreate中扩展自定义组件详细教程
  • flask文件下载
  • 本地部署VMware ESXi服务实现无公网IP远程访问管理服务器