数据结构的基本概念和术语的一些介绍

2024-09-07 11:44

本文主要是介绍数据结构的基本概念和术语的一些介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

数据:是客观事物的符号表示,包括两种:

                 数值型(整数,实数)和非数值型(文字,图形,声音

数据元素:是数据的基本单位,通常作为一个整体进行表示。

                 与数据的关系:是数据集合的个体

数据项:组成数据元素的不可分割的最小单位。

以上三者的关系:数据>数据元素>数据项

                 例如:学生表>个人记录>学生的单个年龄,姓名

数据对象:是性质相同的数据元素的集合

                 与数据的关系:是数据集合的一个子集

                 例如:整数数据对象是集合N{0,+-1,+-2,+-3....}

数据结构

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

1:逻辑结构:

数据元素之间的逻辑关系,与数据存储无关,是独立于计算机的。

       (1)集合结构:只有“属于同一集合”这一个关系。

       (2)线性结构:数据元素之间是“一对一”的关系。

       (3)树结构:数据元素之间属于“一对多”的关系。

       (4)图结构或网状结构:数据元素之间属于”多对多“的关系。

2:存储结构:

数据元素及其关系在计算机中内存中的表示,也称物理结构。

       (1)顺序存储结构:用一种来纳许的存储单元来表示数据元素之间的逻辑关系,由元素存储位置来表示。

       (2)链式存储结构:用任意存储单元存储数据元素,数据元素之间逻辑关系用”指针“来表示。c语言中用指针来实现链式的存储结构。

      (3)索引存储结构

      (4)散列存储结构

存储结构于逻辑卷结构的关系:

        存储结构是逻辑关系的映像于元素本身的映像

        逻辑结构是数据结构的抽象,存储结构是数据结构的实现

        两者综合起来建立了数据元素之间的结构关系

数据类型和抽象数据类型

1:数据类型:

是一个值的集合和定义在这个值集上的一组操作的总称。

     常见的基本数据类型:int,char,float......一系列进行表示。

数据类型的作用:

      (1)约束变量,常量的取值范围

     (2)约束变量,常量的操作

但是另一些常用的数据结构 ,例如:栈,队列,树.....不能直接用数据类型来表示。所以要用抽象数据类型

2:抽象数据类型:

具体包括三个部分:

  数据对象,数据对象上关系的集合,对数据对象的基本操作。

抽象类型的形式定义:

          抽象数据类型可用(D,S,P)三元组表示{

             D是数据对象

             S是D上的关系

             P是对D的基本操作集

           }

即是:

       抽象数据类型名{

        数据对象:<数据对象的定义>

        数据关系 :<数据关系的定义>

        基本操作:<基本操作的定义>

      }ADT 抽象数据类型名

其中,数据对象和数据关系的定义采用数学符号和自然语言描述

基本操作的定义格式:

基本操作名(参数表)

   初始条件:<初始条件描述>

   操作结果:<操作结果描述>

基本操作有两种:

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

         应用参数以”&“打头,出可以提供输入值外,还将返回操作结果

初始条件:

描述了操作执行之前数据结构和参数应满足的条件,若是条件为空,则省略。

操作结果:

说明操作正常完成后,数据结构的变化状况和应返回的值

例如:定义抽象类型的圆

        ADT Cricle{

             数据对象:D={r,x,y |r,x,y均为实数}

             数据关系:R={<r,x,y>|r石坂井<x,y>是圆心坐标}

             基本操作:Circle(&C,r,x,y)

                                     操作结果:构造一个圆

                               double Area(C)

                                    初始条件:圆已存在

                                    操作结果:计算面积

                                    .............

                                 }ADT Circle  //结尾别忘了加上

这篇关于数据结构的基本概念和术语的一些介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1144966

相关文章

Java中HashMap的用法详细介绍

《Java中HashMap的用法详细介绍》JavaHashMap是一种高效的数据结构,用于存储键值对,它是基于哈希表实现的,提供快速的插入、删除和查找操作,:本文主要介绍Java中HashMap... 目录一.HashMap1.基本概念2.底层数据结构:3.HashCode和equals方法为什么重写Has

AOP编程的基本概念与idea编辑器的配合体验过程

《AOP编程的基本概念与idea编辑器的配合体验过程》文章简要介绍了AOP基础概念,包括Before/Around通知、PointCut切入点、Advice通知体、JoinPoint连接点等,说明它们... 目录BeforeAroundAdvise — 通知PointCut — 切入点Acpect — 切面

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

redis数据结构之String详解

《redis数据结构之String详解》Redis以String为基础类型,因C字符串效率低、非二进制安全等问题,采用SDS动态字符串实现高效存储,通过RedisObject封装,支持多种编码方式(如... 目录一、为什么Redis选String作为基础类型?二、SDS底层数据结构三、RedisObject

setsid 命令工作原理和使用案例介绍

《setsid命令工作原理和使用案例介绍》setsid命令在Linux中创建独立会话,使进程脱离终端运行,适用于守护进程和后台任务,通过重定向输出和确保权限,可有效管理长时间运行的进程,本文给大家介... 目录setsid 命令介绍和使用案例基本介绍基本语法主要特点命令参数使用案例1. 在后台运行命令2.

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

zookeeper端口说明及介绍

《zookeeper端口说明及介绍》:本文主要介绍zookeeper端口说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、zookeeper有三个端口(可以修改)aVNMqvZ二、3个端口的作用三、部署时注意总China编程结一、zookeeper有三个端口(可以

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h