王道 | 数据结构第一章

news/2025/2/2 1:49:32/

目录结构


章节总览

1.0 开篇_数据结构在学什么

1.1_1 数据结构的基本概念

1.1_2 数据结构的三要素

1.2_1 算法的基本概念

1.2_2 算法的时间复杂度

1.2_3 算法的空间复杂度


章节总览


1.0 开篇_数据结构在学什么

1.1_1 数据结构的基本概念

数据:
数据是信息的载体,是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据是计算机程序加工的原料(二进制的0和1)。

世界上第一台通用计算机ENIAC

数据元素、数据项:
数据元素
是数据的基本单位,一个数据元素可由若干数据项组成。数据项是构成数据元素的不可分割的最小单位。

数据对象:
数据对象是具有相同性质的数据元素的集合,是数据的一个子集。

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

结构关系图:
 


1.1_2 数据结构的三要素

1. 逻辑关系

集合结构:
各个元素同属一个集合,别无其他关

线性结构:
数据元素之间是一对一的关系。
除了第一个元素,所有元素都有唯一前驱;除了最后一个元素,所有元素都有唯一后继

树形结构:
数据元素之间是—对多的关系

图状结构:
数据元素之间是多对多的关系

2. 数据的运算--针对于某种逻辑结构,定义基本运算(如对链表的增删改查操作)

3. 数据的物理结构(存储结构)--如何用计算机表示数据元素的逻辑关系?


1.2_1 算法的基本概念

程序=数据结构+算法

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


1.2_2 算法的时间复杂度

算法时间复杂度—事前预估算法时间开销T(n)与问题规模n的关系,只考虑阶数高的部分如O(n)


1.2_3 算法的空间复杂度

无论问题规模怎么变,算法运行所需的内存空间都是固定的常量,算法空间复杂度为O(1)
 


参考链接:王道数据结构第一章


http://www.ppmy.cn/news/1212706.html

相关文章

Ubuntu 创建并发布 Django 项目

Ubuntu 创建并发布 Django 项目 升级操作系统和软件 sudo apt updatesudo apt -y dist-upgrade 安装 python3-pip sudo apt -y install python3-pip安装 django pip install -i https://pypi.tuna.tsinghua.edu.cn/simple djangosudo apt -y install python3-django创建 dj…

C_5练习题

一、单项选择题(本大题共20小题,每小题2分,共40分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。) 下列叙述中错误的是()。 A.计算机不能直接执行用C语言编写的源程序 B.C程序经C编译程序编译后,生成扩展名为obj的文件是一个…

大数据-之LibrA数据库系统告警处理(ALM-12039 GaussDB主备数据不同步)

告警解释 GaussDB主备数据不同步,系统每10秒检查一次主备数据同步状态,如果连续6次查不到同步状态,或者同步状态异常,产生告警。 当主备数据同步状态正常,告警恢复。 告警属性 告警ID 告警级别 可自动清除 12039…

Python使用SQLAlchemy操作sqlite

Python使用SQLAlchemy操作sqlite sqllite1. SQLite的简介2. 在 Windows 上安装 SQLite3. 使用SQLite创建数据库3.1 命令行创建数据库3.2 navicat连接数据库 4.sqlite的数据类型存储类SQLite Affinity 类型Boolean 数据类型Date 与 Time 数据类型 5. 常用的sql语法**创建表(CREA…

Some/IP学习笔记

目录 1.概述 2.SOME/IP 报文格式 3.数据结构序列化 1.概述 SOME/IP全称为Scalable Service Oriented MiddlewarE Over IP,是车载以太网技术中的核心内容,它为网络提供了面向服务的通信方式。一个服务可以包含0个或者多个事件(events&#…

机器人规划算法——将多边形障碍物离散到地图像素点上?

问题一:如何判断一个点是否在多边形区域内? 方法1:向量叉乘判别法 设多边形的顶点依次为A1,A2…An,要判断的点为P,那么分别计算向量PA1叉乘向量PA2,向量PA2叉乘向量PA3,…&#xff…

【硬件测试】1.硬件自动化测试的初步了解与分析

1.针对自动化测试,有什么了解? 硬件自动化测试是一种利用自动化工具和设备来执行硬件测试的方法。它可以帮助提高测试效率、减少人力成本、提高测试覆盖率和一致性。 以下是一些硬件自动化测试的常见内容: 功能测试:验证硬件设备的…

MySQL中外键的使用及外键约束策略

一、外键约束的概念 外键约束(FOREIGN KEY,缩写FK是数据库设计的一个概念,它确保在两个表之间的关系保持数据的一致性和完整性。 外键是指表中的某个字段的依赖于另一张表中某个字段的值,而被依赖的字段必须具有主键约束或者唯一约束&#…