博客
关于我
数据结构与算法绪论
阅读量:536 次
发布时间:2019-03-08

本文共 909 字,大约阅读时间需要 3 分钟。

数据结构与算法入门

数据结构

数据结构的基本概念

数据是信息的载体,是描述事务客观属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。例如,数学计算中的整数和实数,文本编辑中的字符串,多媒体程序处理的图形、图像、声音及动画等。

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

数据元素:数据的基本单位,通常作为一个整体考虑和处理。

数据项:构成数据元素不可分割的最小部分。

数据对象、数据元素、数据项的关系

数据结构是相互之间存在一种或者多种特定关系的数据元素的集合。例如,学号01排在学号02的前面,这种相互关系可以称为结构。

数据类型

原子类型:不可再分的值的集合和定义在集合上的操作。例如:int、char、float等。

结构类型:结构(多个原子类型值的组合)的集合和定义在集合上的操作。例如:list、map、set等。

抽象数据类型(ADT):一般是指由用户定义的,表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称。其三个要素为:数据对象、数据对象上的关系的集合以及数据对象的基本操作的集合。

数据结构的三要素的详细解释

数据结构的三要素是逻辑结构、物理结构以及数据的运算。

逻辑结构

逻辑结构是指数据元素之间的一种抽象关系,是从逻辑上描述数据,独立于计算机与存储结构。常见的逻辑结构类型包括:

  • 线性结构:如线性表、栈、队列,表示A排在B的前面,B排在C的前面等。

  • 非线性结构

    • 集合:所有数据在同一个集合之内无其他任何关系。
    • 树形结构:树状结构是一对多的关系,A分别与B、C、D等有关系。
    • 图状结构:多对多的关系,图状结构也称为网状结构。

物理结构

物理结构是指数据在计算机中的实际存储形式。常见的物理存储结构包括:

  • 顺序存储:逻辑上相邻的数据在物理存储上也相邻。
  • 链式存储:逻辑上相邻的数据在物理存储上可能不相邻,通过指针连接。
  • 索引存储:存储索引表来快速定位数据的位置。
  • 散列存储:通过关键字的函数直接得到存储位置。

数据的运算

运算包括定义在数据结构上的基本操作。例如,访问、插入、删除、查找等操作的实现。运算的定义针对逻辑结构,实现针对存储结构。

算法

转载地址:http://frsiz.baihongyu.com/

你可能感兴趣的文章
Qt笔记——QSemaphore处理生产者/消费者模式
查看>>
Qt笔记——QMutex&QWaitCondition处理生产者消费者模式
查看>>
Qt笔记——QLable+QPixmap图片缩放踩坑
查看>>
Qt笔记——foreach与forever
查看>>
QT程序怎么挪到Linux下,linux+Qt程序如何打包发布
查看>>
Qt知识:视图框架QGraphicsWidget详解
查看>>
SpringBoot中项目启动及定时任务缓存数据库常用数据至内存变量并转换后高频调用
查看>>
Qt知识: 画刷风格
查看>>
QT的OpenGL渲染窗QOpenGLWidget Class
查看>>
QT的C++程序加载动态链接库DLL(Linux下是so)的方式
查看>>
QT界面操作1:如何跟踪鼠标位置?
查看>>
Qt环境搭建(Visual Studio)
查看>>
QT点击"X"按钮,调用closeEvent()函数来实现调用特定事件(附:粗略介绍QT的信号与槽的使用方法)...
查看>>
QT样式表——url路径
查看>>
QT数据库(三):QSqlQuery使用
查看>>
QT教程5:消息框
查看>>
SpringBoot中集成阿里开源缓存访问框架JetCache实现声明式实例和方法缓存
查看>>
pom.xml中提示web.xml is missing and <failonmissingw>...
查看>>
Pomelo开发中Web客户端开发API简介
查看>>
QT教程2:QT5的体系构架
查看>>