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

王道408考研数据结构-绪论

1.1 数据结构的基本概念

数据结构
        数据结构是相互之间存在一种或多种特定关系的数据元素的集合。在任何问题中,数据元素
都不是孤立存在的,它们之间存在某种关系,这种数据元素相互之间的关系称为结构(Structure)。
数据结构包括三方面的内容:逻辑结构、存储结构和数据的运算。
        数据的逻辑结构和存储结构是密不可分的两个方面,一个算法的设计取决于所选定的逻辑结
构,而算法的实现依赖于所采用的存储结构。

1.1.2 数据结构三要素

1.数据的逻辑结构
        逻辑结构是指数据元素之间的逻辑关系,即从逻辑关系上描述数据。它与数据的存储无关,
是独立于计算机的。数据的逻辑结构分为线性结构和非线性结构,线性表是典型的线性结构;集
合、树和图是典型的非线性结构。数据的逻辑结构分类如图1.1所示。

2.数据的存储结构
        存储结构是指数据结构在计算机中的表示(又称映像),也称物理结构。它包括数据元素的
表示和关系的表示。数据的存储结构是用计算机语言实现的逻辑结构,它依赖于计算机语言。数
据的存储结构主要有顺序存储、链式存储、索引存储和散列存储

1.2 算法和算法评价

1.2.1 算法的基本概念

        算法(Algorithm)是对特定问题求解步骤的一种描述,它是指令的有限序列,其中的每条指
令表示一个或多个操作。此外,一个算法还具有下列五个重要特性:
  1. 有穷性。
  2. 确定性。
  3. 可行性。
  4. 输入。
  5. 输出。        
通常,设计一个“好”的算法应考虑达到以下目标:
  1. 正确性。
  2. 可读性。
  3. 健壮性。
  4. 高效率与低存储量需求。

1.2.2 算法效率的度量

1.时间复杂度

2.空间复杂度
        若输入数据所占 空间只取决于问题本身,和算法无关,则只需分析除输入和程序之外的额外空间。例如,若算法 中新建了几个与输入数据规模 n相同的辅助数组,则空间复杂度为O(n)。
        算法原地工作是指算法所需的辅助空间为常量,即O(1)。
 

http://www.kler.cn/a/312164.html

相关文章:

  • 《云原生安全攻防》-- K8s安全防护思路
  • 扫雷游戏代码分享(c基础)
  • 物联网(RFID)全景:被装信息化监控应用与挑战
  • 小程序中引入下载到本地的iconfont字体图标加载不出来问题解决
  • 用户裂变数据分析
  • 速通LoRA:《LoRA: Low-Rank Adaptation of Large Language Models》全文解读
  • linux-软件包管理-软件源配置
  • Centos 7 搭建Samba
  • 初识Linux · 环境变量
  • VSCode开发ros程序无法智能提示的解决方法(二)
  • 亲测openEuler 22.03 LTS 安装MySQL 5.7和注意事项
  • Spring 源码解读:实现自定义注解处理器
  • Linux文件IO(二)-文件操作使用详解
  • 论文解读《COMMA: Co-articulated Multi-Modal Learning》
  • mysql 重置密码
  • 部署Prometheus+Grafana批量监控Linux服务器
  • Django框架全面指南
  • 如何解决“json schema validation error ”错误? -- HarmonyOS自学6
  • 鸿蒙环境服务端签名直传文件到OSS
  • HTTP协议详解以及常见的状态码
  • 设计模式之外观设计模式
  • Ubuntu24.04部署docker
  • VD2811A SOP-8封装 可直接替代XB8886G芯片 大电流充放电锂保芯片
  • 智能机巢+无人机:自动化巡检技术详解
  • qt char*与QString互转
  • 巧用联合与枚举:解锁自定义类型的无限潜力