【数据结构】考研真题攻克与重点知识点剖析 - 第 1 篇:绪论

前言

  • 本文基础知识部分来自于b站:分享笔记的好人儿的思维导图与王道考研课程,感谢大佬的开源精神,习题来自老师划的重点以及考研真题。
  • 此前我尝试了完全使用Python或是结合大语言模型对考研真题进行数据清洗与可视化分析,本人技术有限,最终数据清洗结果不够理想,相关CSDN文章便没有发出。
  • 从这篇文章开始,这里我将按章节顺序,围绕考研真题展开计算机组成原理总共8章的知识,边学习边整理数据。

(考研真题待更新)

欢迎订阅专栏:408直通车

请注意,本文中的部分内容来自网络搜集和个人实践,如有任何错误,请随时向我们提出批评和指正。本文仅供学习和交流使用,不涉及任何商业目的。如果因本文内容引发版权或侵权问题,请通过私信告知我们,我们将立即予以删除。

文章目录

  • 前言
  • 第一章 绪论
    • 概述
      • 数据结构是一门研究非数值计算程序设计中计算机的操作对象以及它们之间的关系和操作的学科
      • 章节串联
    • 基本概念和术语
      • 数据结构:互相之间存在一种或多种特定关系的数据元素集合
        • 数据结构三要素
          • 逻辑结构
          • 存储结构/物理结构
          • 数据的运算
        • 小结
    • 抽象数据类型的表示与实现
      • 数据类型=值的集合+值集合上的一组操作
      • 抽象数据类型
      • 小结
    • 算法和算法评价
      • 算法的基本概念
      • 小结
      • 算法效率的度量
        • (渐近)时间复杂度
      • 小结
        • 空间复杂度
  • 考研真题
    • 408 - 2023

第一章 绪论

概述

数据结构是一门研究非数值计算程序设计中计算机的操作对象以及它们之间的关系和操作的学科

  • 一些问题无法用数学公式和方程描述,只能用描述非数值计算问题的数学模型,如表、树、图等具有逻辑关系的数据
    在这里插入图片描述

章节串联

在这里插入图片描述

基本概念和术语

在这里插入图片描述

  • 数据:能被计算机处理的符号集合
    • 在这里插入图片描述

    • 学生表

  • 现代计算机处理的数据

在这里插入图片描述

  • 数据元素:数据的基本单位,若干数据项组成

    • 在这里插入图片描述

    • 个人记录

  • 数据项:不可分割的最小单位

    • 学号、姓名
  • 数据对象:性质相同的数据元素集合,数据的子集
    在这里插入图片描述

数据结构:互相之间存在一种或多种特定关系的数据元素集合

在这里插入图片描述

数据结构三要素

在这里插入图片描述

逻辑结构
  • 逻辑结构

    • 概念

      • 指数据元素之间的逻辑关系,与数据的存储无关,独立于计算机的
    • 分类

      • 线性结构在这里插入图片描述

        • 一般线性表

        • 受限线性表

          • 栈、队列、串
        • 线性表推广

          • 数组、广义表
      • 非线性结构

        • 集合结构
          在这里插入图片描述

        • 树形结构
          在这里插入图片描述

        • 图状结构
          在这里插入图片描述

存储结构/物理结构
  • 存储结构/物理结构在这里插入图片描述

    • 概念

      • 指数据结构在计算机中的表示(映像)
    • 分类

      • 顺序存储在这里插入图片描述

        • 逻辑上相邻的元素存储在物理位置上也相邻的存储单元中
      • 链式存储在这里插入图片描述

        • 借助指示元素存储地址的指针来表示元素之间的逻辑关系
      • 索引存储在这里插入图片描述

        • 存储元素信息的同时,建立附加的索引表

          • 类似按姓名排序的手机通讯录
      • 散列存储在这里插入图片描述

        • 根据元素的关键字直接计算出该元素的存储地址(哈希存储)
数据的运算
  • 运算与实现:对数据元素可以施加的操作以及这些操作在相应的存储结构上的实现
    在这里插入图片描述
小结

在这里插入图片描述

抽象数据类型的表示与实现

数据类型=值的集合+值集合上的一组操作

在这里插入图片描述

  • 约束变量或常量的取值范围

  • 约束变量或常量的操作

抽象数据类型

  • 在这里插入图片描述

    • 数据对象

    • 数据关系:数据元素间逻辑关系的定义

    • 基本操作

      • 基本操作名(参数表)

        • 赋值参数:只为操作提供输入值

        • 引用参数:&打头,可返回操作结果

      • 初始条件

        • 执行操作前,数据结构和参数应满足条件
      • 操作结果

        • 操作正常完成后,数据结构变化和返回结果
  • C语言实现抽象数据类型

    • 用已有数据类型定义描述它的存储结构

    • 用函数定义描述它的操作

在这里插入图片描述

小结

在这里插入图片描述

算法和算法评价

算法的基本概念

在这里插入图片描述
在这里插入图片描述

  • 概念

    • 算法是对特定问题求解步骤的一种描述,指令的有限序列,每条指令表示一个或多个操作
  • 重要特性

    • 有穷性 在这里插入图片描述
    • 确定性(无二义性)
      在这里插入图片描述
    • 可行性、输入、输出在这里插入图片描述
  • 算法设计要求

    • 正确性、可读性(晦涩难懂可能隐藏错误)、健壮性(当输入非法数据,能恰当做出反应)、高效性
      在这里插入图片描述
      在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

小结

在这里插入图片描述

算法效率的度量

(渐近)时间复杂度
  • (渐近)时间复杂度在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    • 概念

      • 算法中基本语句重复执行的次数是问题规模n的某个函数f(n),算法的时间度量记作:T(n) = O( f(n) )

      • 基本语句:执行次数最多、重复执行次数与算法执行时间成正比的语句

    • 分类在这里插入图片描述
      在这里插入图片描述

      • 最好时间复杂度

      • 平均时间复杂度:所有可能输入实例在等概率条件下,算法的期望运行时间

      • 最坏时间复杂度:默认情况下算这个

    • 计算方法

      • 找出语句频度最大的那条语句作为基本语句

      • 计算基本语句的频度得到问题规模n的某个函数法 f(n)

      • 取其数量级用符号“O”表示

    • 常见复杂度排序

      • O(1) < O(log2n) < O(n) < O(nlog2n) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n)
    • 计算规则

      • 加法规则: O( f(n) ) + O( g(n) ) = O( max( f(n), g(n) ) )

      • 乘法规则:O( f(n) ) × O( g(n) ) = O( f(n) × g(n) )

    • 经典例题

      • 在这里插入图片描述

      • 在这里插入图片描述

      • for(int i=0;i<n;i++){ //该语句执行n+1次,因为最后条件判断不满足还有一次
        干点啥; //只执行n次
        }

小结

在这里插入图片描述

空间复杂度

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 算法所需存储空间的度量:S(n) = O( f(n) )

  • 算法本身要占据的空间+辅助空间(算这个,注意递归深度也是)

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

在这里插入图片描述

考研真题

408 - 2023

(考研真题待更新)

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

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

相关文章

IDDR、ODDR、IDEALY2和ODELAY2详解

文章目录 前言一、IDDR原语二、ODDR原语三、IDELAYCTRL原语四、IDELAY原语4.1、参数配置 &#xff1a;4.2、端口说明 &#xff1a;4.3、延时控制时序图 五、ODELAY原语 前言 本文参考XILINX手册UG471 一、IDDR原语 参考xilinx手册UG471 IDDR #(.DDR_CLK_EDGE ("SAME_…

【C++11】:统一的列表初始化|声明|STL变化

​ &#x1f3ac;慕斯主页&#xff1a;修仙—别有洞天 ♈️今日夜电波&#xff1a;マイノリティ脈絡—ずっと真夜中でいいのに。 0:24━━━━━━️&#x1f49f;──────── 4:02 &#x1f504; …

已知屏幕分辨率和屏幕尺寸,JavaScript如何计算屏幕PPI像素密度

返回主目录:OpenLayers扩展组件系列汇总目录:常用OpenLayers地图扩展组件ol-ext、ol-cesium、ol-layerswitcher、ol-geocoder和ol-wind等扩展库 前言 本章作为补充章,用于讲解使用ol-ext组件的前置知识。 要想知道 PPI 是什么,我们需要先理解“像素”这个概念,那么什么是…

【C++算法】洛谷P1102:A-B数对,思路,lower_bound,upper_bound,二分答案,代码详解

文章目录 1&#xff09;解题思路2&#xff09;三种情况3&#xff09;代码 题目链接&#xff1a;P1102 A-B 数对 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 1&#xff09;解题思路 这道题要求我们在序列中找到 A − B C A-BC A−BC 的数对的个数&#xff0c;下标不同的数…

注解总结,Java中的注解,springboot中的注解

注解总结 1、Junit 开始执行的方法&#xff1a;初始化资源&#xff0c;执行完之后的方法&#xff1a;释放资源 测试方法&#xff0c;必须是&#xff1a;公有、非静态、无参无返回值的 在一个类中&#xff0c;可以定义多个测试方法&#xff0c;每个测试方法可以单独运行&#…

XUbuntu22.04之安装Plantuml(二百二十三)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

llvm后端

SelectionDAGBuilder是LLVM&#xff08;Low Level Virtual Machine&#xff09;编译器中的一个重要组件&#xff0c;它负责将LLVM中间表示&#xff08;Intermediate Representation&#xff0c;IR&#xff09;转换为SelectionDAG&#xff08;选择有向无环图&#xff09;的形式。…

Nacos部署(四)Docker部署Nacos2.3.x集群环境

&#x1f60a; 作者&#xff1a; 一恍过去 &#x1f496; 主页&#xff1a; https://blog.csdn.net/zhuocailing3390 &#x1f38a; 社区&#xff1a; Java技术栈交流 &#x1f389; 主题&#xff1a; Nacos部署&#xff08;四&#xff09;Docker部署Nacos2.3.x集群环境 ⏱…

adams卸载与安装

adams 卸载后重新安装lnstaller could not read the log directory of the existing installerto backup and restore.Installer will now exit. ADAMS软件卸载安装【adams吧】_百度贴吧 (baidu.com)

阿里云OSS存储的视频如何加水印

OSS是不能进行视频添加水印的&#xff0c;可以图片添加水印。 您可以在视频点播中进行配置&#xff1a; https://help.aliyun.com/zh/vod/user-guide/video-watermarks?spma2c4g.11186623.0.i2 原来的业务代码都是使用python 对oss的 视频进行上传 的,上传的视频路径已经保存到…

提高效率与寿命:坚持正确的码垛机器人操作流程

在工业生产中&#xff0c;码垛机器人以其提升效率、减少损耗、降低成本等优势&#xff0c;成为众多行业不可或缺的重要设备。然而&#xff0c;与所有精密机械一样&#xff0c;码垛机器人的使用寿命很大程度上取决于正确的操作流程。科学规范的操作不仅保障生产顺利进行&#xf…

关于 Microsoft Visual Studio

关于 Microsoft Visual Studio References References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

EPO企业生产运营数智化平台助力制造企业迈向智能制造

随着“中国制造2025”和工业4.0的不断推进&#xff0c;越来越多的制造企业准备迈入智能制造和智慧制造领域&#xff0c;实现数智化管理。企业通过搭建EPO企业生产运营平台&#xff0c;结合自身业务现状和数字化需求&#xff0c;从各个业务场景、部门人员、产品组成等方面进行分…

XSS一-WEB攻防-XSS跨站反射型存储型DOM型标签闭合输入输出JS代码解析

演示案例&#xff1a; XSS跨站-输入输出-原理&分类&闭合XSS跨站-分类测试-反射&存储&DOM #XSS跨站-输入输出-原理&分类&闭合 漏洞原理&#xff1a;接受输入数据&#xff0c;输出显示数据后解析执行 基础类型&#xff1a;反射(非持续)&#xff0c;存储(…

内网渗透(二)必须了解Windows域环境

★★免责声明★★ 文章中涉及的程序(方法)可能带有攻击性&#xff0c;仅供安全研究与学习之用&#xff0c;读者将信息做其他用途&#xff0c;由Ta承担全部法律及连带责任&#xff0c;文章作者不承担任何法律及连带责任。 1、Windows域环境简介 Windows域是计算机网络的一种形式…

鸿蒙一次开发,多端部署(十二)资源使用

在页面开发过程中&#xff0c;经常需要用到颜色、字体、间距、图片等资源&#xff0c;在不同的设备或配置中&#xff0c;这些资源的值可能不同。有两种方式处理&#xff1a; 应用资源&#xff1a;借助资源文件能力&#xff0c;开发者在应用中自定义资源&#xff0c;自行管理这些…

知识管理入门:轻松选择合适的知识管理软件

你是不是经常觉得自己的大脑像个杂乱的仓库&#xff0c;各种信息、知识和想法在里面乱窜&#xff0c;找不到头绪&#xff1f;别担心&#xff0c;知识管理软件来帮你解决这个问题啦&#xff01;今天&#xff0c;我们就来聊聊知识管理软件这个神奇的工具&#xff0c;新手也能轻松…

MongoDB知识

1、部署MongoDB &#xff08;1&#xff09;new好一个mongo文件之后执行 &#xff08;出现mongodb.key&#xff09;记得放行端口 openssl rand -base64 666 > mongodb.key &#xff08;2&#xff09;放到一个docker-compose.yml之后docker-compose up -d执行 version: 3.…

网络安全实训Day11

写在前面 IPSec来喽。有时候把xmind直接粘贴过来会有顺序错位的情况&#xff0c;又被气晕 网络安全实训-网络安全技术 IPSec VPN IPSec 用于保障IP协议安全性的技术 相关概念 工作模式 传输模式&#xff1a;只对数据提供安全保护&#xff0c;不封装公网头部 隧道模式&#…

leetcode 239.滑动窗口最大值

题目 思路 这是单调队列的经典题目。 最基本思路就是&#xff08;拿窗口大小为3说明&#xff09;&#xff1a; 从队列中已经有三个元素开始。先要pop掉第一个元素&#xff0c;然后再push进新的元素&#xff0c;最后返回这三个元素中最大的那一个。 pop和push操作都很简单&a…