零基础学Python之数据结构 -- 01篇

news/2024/11/23 4:18:22/

一、数据结构的概念

1.1 数据的具体介绍

  • 数据:能够被计算机识别、存储等操作,用于描述客观事物的符号
  • 数据分类:                
    • 数值数据:整数、小数、字符串...
    • 非数值数据:视频、音频、图像...
  • 数据的组成:数据项 ------->数据元素 --------->数据对象------>数据
  • 数据项:数据项是数据的最小单位,具有独立的且不可分割的单位。(比如:学生的学号、分数...)
  • 数据元素:由多个数据项组成的用于描述事物特征的基本单位。(比如:一个学生)
  • 数据对象:由多个相同特征的数据元素组成的集合,称为数据对象。(比如:一个班级)
  • 数据结构课程研究的是数据元素

1.2 结构的具体介绍

1.结构:用于描述数据之间的关联情况,分为逻辑结构和存储结构

2.逻辑结构: 表示数据元素之间的关联情况,根据元素之间的关联情况,可以分为以下4种:

  • 集合结构:任意两个元素之间没有任何关系,只是单纯的存储在一个集合中。
  • 线性结构:数据元素之间存在一对一的关系,在该结构中,除了第一个元素没有前驱,最后一个元素没有后继,其余的元素都有且只有一个前驱和一个后继
  • 树形结构:   数据元素之间存在一对多的关系。(比如:族谱)
  • 图形结构:   数据元素之间存在多对对的关系。(比如:社交网络、朋友、暂不重点讨论)

1.3存储结构:数据的逻辑结构在计算机中的映射存储

  • 顺序存储:将逻辑上相连的数据,在物理内存上也连续存储。(比如:通信录、微信好友列表)
  • 链式存储:将逻辑上相连的数据,存储在物理内存上随机位置。(比如:医院的挂号、银行柜台取票)
  • 索引存储:在存储数据元素时,单独创建一个索引表来记录数据元素的位置。(比如:课本的目录)
  • 散列存储:也称为哈希存储,数据元素存储的位置和数据元素本身的关键字有关。

数据结构这门课主要研究 数据的存储容器,以及在该容器上的所有操作。如:增、删、改、查

1.4 抽象数据类型(ADT)

抽象数据类型abstract data type :把数据和对数据的处理捆在一起,进行封装,形成的类型。(类)

二、线性表

概念:由多个相同属性的数据元素组成的线性结构叫线性表。

特点:

  • 数据元素的属性相同
  • 数据元素之间存在一对一的关系

线性表的分类:

  • 顺序表:顺序存储的线性表叫做顺序表
  • 链表:链式存储的线性表叫做链表
  • 栈:操作受限的线性表,插入和删除操作只能在同一端操作
  • 队列:操作受限的线性表,插入和删除操作只能在异端操作

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

相关文章

ubuntu, 安装部署comfyui,记录2:下载模型GGuf及测试

0.清除工作流 1.安装manager 2024年最新ComfyUI汉化及manager插件安装详解!_comfyui-manager-CSDN博客 ComfyUI Manager安装 转到ComfyUI的安装目录ComfyUI/custom_nodes; 使用git拉取ComfyUI Manager,git clone https://github.com/ltdrdata/Comf…

【东莞石碣】戴尔R740服务器维修raid硬盘问题

1:石碣某塑料工厂下午报修一台戴尔R740服务器硬盘故障,催的还比较着急。 2:工程师经过跟用户确认故障的问题以及故障服务器型号和故障硬盘型号,产品和配件确认好后,公司仓库确认有该款硬盘现货,DELL 12T S…

实验四:二叉树遍历实验(python实现)

、 class TreeNode:def __init__(self, value):self.value valueself.left Noneself.right Nonedef build_tree(preorder, inorder):if not preorder or not inorder:return None# 先序遍历的第一个节点是根节点root_value preorder[0]root TreeNode(root_value)# 在中序遍…

web——sqliabs靶场——第十三关——报错注入+布尔盲注

发现是单引号加括号闭合的 尝试联合注入 发现不太行,那尝试报错注入。 测试报错注入 unameadmin) and updatexml(1,0x7e,3) -- &passwdadmin&submitSubmit 爆数据库 unameadmin) and updatexml(1,concat(0x7e,database(),0x7e),3) -- &passwdadmin&a…

第七章 利用CSS和多媒体美化页面

7.1 CSS链接的美化 7.1.1.文字链接的美化 在HTML5中&#xff0c;<a></a >标签始终定义超链接&#xff0c;用于从一张页面链接到另一张页面&#xff0c;<a>元素最重要的属性是href 属性&#xff0c;它指示链接的目标&#xff0c;如果未设置 href属性&#x…

MagicQuill - 智能交互式图像编辑系统 涂涂画画即可完成P图 本地一键整合包下载

MagicQuill 是阿里巴巴联合香港科技大学、浙江大学和香港大学推出的一款开源 AI 互动式图像编辑工具&#xff0c;让图片编辑变得简单、智能又随心所欲&#xff01;双画笔交互模式获赞&#xff0c;精准度惊人。即便是 Photoshop 小白&#xff0c;也能轻松上手。用几笔涂抹加一句…

MySQL SELECT 语句执行链路解析

文章目录 1. 简介2. MySQL SELECT 执行链路总览2.1 执行链路概览2.2 示例查询语句 3. 连接器3.1 连接器的作用3.2 连接的类型3.3 用户权限验证3.4 连接器的性能影响 4. 查询缓存4.1 查询缓存的工作原理4.2 查询缓存的命中条件4.3 查询缓存的优缺点 5. 解析器与预处理器5.1 解析…

【机器学习】机器学习中用到的高等数学知识-6. 组合数学 (Combinatorics)

组合计数&#xff1a;用于计算特征选择和模型复杂度。 组合数学 (Combinatorics) 组合数学是研究有限或可数对象的组合、排列及计数规律的数学分支&#xff0c;在计算特征选择、模型复杂度和优化算法中有着广泛应用。以下详细介绍组合计数的概念、公式、推导过程以及实际应用…