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

数据结构和顺序表

什么是数据结构

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

数据元素的三要素

数据结构包括三方面的内容:逻辑结构存储结构数据的运算

逻辑结构

逻辑结构是指数据元素之间的逻辑关系,即从逻辑关系上描述数据。数据的逻辑结构分为线性结构和非线性结构,例如:线性表线性结构集合非线性结构

存储结构

存储结构是指数据结构在计算机中的表示,分为顺序存储链式存储索引存储数列存储

顺序存储

逻辑上相邻的元素存储在物理位置上也相邻的存储单元中,元素之间的关系由存储单元的邻接关系来体现。
优点:可以实现随机存储
缺点:只能使用相邻的一整块存储单元。

链式存储

不要求逻辑上相邻的元素在物理位置上也相邻,借助指示元素存储地址的指针来表示元素之间的逻辑关系。
优点:不会出现碎片现象,能充分利用所有存储单元。
缺点:只能实现顺序存储

索引存储

在存储元素信息的同时,还建立附加的索引表
优点:检索速度快
缺点:附加的索引表额外占用存储空间,增加和删除数据也需要修改索引表,会花费较多时间

数列存储

根据元素的关键字直接计算出该元素的存储地址
优点:检索、增加和删除结点的操作都很快
缺点:若散列函数不好,则可能出现元素存储单元的冲突,解决冲突会增加时间和空间开销

数据的运算

施加在数据上的运算包括运算的定义和实现。运算的定义是针对逻辑结构的,指出运算的功能运算的实现是针对存储结构的,指出运算的具体操作步骤

顺序表

线性表的定义

线性表是具有相同数据类型n(n>=0)个数据元素有限序列
其中唯一的第一个数据元素称为表头元素唯一的最后一个元素称为表尾元素,除第一个元素外,每个元素有且仅有一个直接前驱,除最后一个元素外,每个元素有且仅有一个直接后继。

顺序表分类

  • 静态顺序表
typedef int SLDateType;
#define Maxsize 50
typedef struct SeqList
{SLDateType data[Maxsize];int size;
}SL;
  • 动态顺序表
typedef int SLDateType;
typedef struct SeqList
{SLDateType* a;int size;       int capacity;  
};
http://www.lryc.cn/news/388430.html

相关文章:

  • 【一步一步了解Java系列】:对这个系列的总结以及对缺漏内部类知识的补充
  • TCP和UDP
  • 【ai】tx2 nx:ubuntu18.04 yolov4-triton-tensorrt 成功部署server 运行
  • 类与对象的创建
  • 基于单片机的 LED 照明灯智能调光系统设计
  • 客户满意度调查方法有哪些
  • 为什么企业应用开发,c++干不过java?
  • 基于盲信号处理的声音分离——最小化增益的ICA算法
  • 自动化代码规范检查--Sonarqube部署
  • 基于uni-app与图鸟UI的移动应用模板构建研究
  • AI智能在Type-C领域的应用
  • INS-GPS组合导航——卡尔曼滤波
  • day 58 739. 每日温度 496.下一个更大元素 I 503.下一个更大元素II
  • Dns被莫名篡改的问题定位(笔记)
  • JVM原理(八):JVM虚拟机工具之基础故障工具
  • Eureka的桥梁:服务消费者交互全解析
  • 13_网络安全
  • C++ 中的数据类型
  • CSS|04 复合选择器伪类选择器属性选择器美化超链接
  • 探索Batch注释的奥秘:REM与::的细微差别
  • C语言 求数列 S(n) = a + aa + aaa + …aa…a (n 个 a)的和
  • MysqlDump
  • 某安全公司DDoS攻击防御2024年6月报告
  • Centos下rpm和yum执行卡住问题(已解决)
  • python自动化办公之PyPDF2.errors.DeprecationError
  • [leetcode]first-unique-character-in-a-string 字符串中的第一个唯一字符
  • 使用uniapp.pageScrollTo方法进行页面滚动
  • 寒武纪实现高维向量的softmax进阶优化和库函数对比
  • 我的世界服务器-高版本服务器-MC服务器-生存服务器-RPG服务器-幻世星辰
  • 倒装COB显示屏与传统SMD显示屏安装方式有哪些不同?