首页 > 其他分享 >数据结构

数据结构

时间:2023-07-07 12:14:33浏览次数:31  
标签:存储 元素 集合 数据结构 数据 结构

绪论

基本概念

数据

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

数据元素 数据项

数据元素: 数据的基本单位
数据项: 数据元素由多个数据项组成

数据结构 数据对象

结构: 各元素之间的关系
数据结构:相互之间存在一种或多种特定关系的数据元素集合
数据对象:具有相同性质的数据元素的集合

三要素

逻辑结构

  • 集合: 各元素同属一统一集合。
  • 线性结构: 一对一关系,除第一个元素都有一个前驱;除最后一个元素都有一个后继。
  • 树形结构: 元素之间一对多关系。
  • 图结构:元素之间多对多关系。

物理结构(存储结构)

  • 顺序存储:逻辑上相邻的元素在物理位置上也相邻(物理上连续)
  • 连式存储:逻辑上相邻的元素在物理位置上可以不相邻
  • 索引存储:需要建立索引表 索引表一般形式是(关键字,地址)
  • 散列存储:又称哈希存储,根据关键字计算出存储地址

数据的存储结构会影响存储空间的方便程度
数据的存储结构会影响对数据的运算速度

数据的运算

运算的定义是针对逻辑结构的
运算的实现是针对存储结构的

数据类型 抽象数据类型

数据类型

数据类型:是一个值的集合和定义在此集合上的一组操作的总称

  • 原子类型 bool型 int
  • 结构类型 其值可以再分解成若干个分量 eg:结构体

抽象数据类型(Abstract Data Type;ADT)

是抽象数据组织及与之相关的操作。
ADT用数学化的

标签:存储,元素,集合,数据结构,数据,结构
From: https://www.cnblogs.com/zzzsgdhr/p/shu-ju-jie-gou.html

相关文章

  • 数据结构(算法)【7月6日】
    一、算法的基本概念:1、算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中的每条指令表示一个或多个操作。2、算法的特性:(1)有穷性:一个算法必须总在执行有穷步之后结束,且每一步都可在有穷时间内完成;【算法是有穷的,程序是无穷的】(2)确定性:算法中每条指令必须有确切的含义,......
  • 数据结构与算法1-2
    王争,西安交通大学计算机专业本科毕业时候编程水平其实是很差的。读研究生看《算法导论》。从此我对算法的“迷恋”便一发不可收拾。之后,我如把图书馆里几乎所有数据结构和算法书籍都读了一遍。我边读边练。没多久我就发现,写代码时会不由自主考虑很多性能方面的问题。我写出时间......
  • 数据结构--图的遍历
    图的遍历遍历的定义遍历实质:找每个顶点的邻接点的过程.图的特点图可能存在回路所以我们需要设置辅助数组来标记访问过的节点,防止多次访问.遍历方法深度优先搜索(DFS)方法:深度优先遍历可能有很多种方式连通图的深度优先遍历类似于树的先根遍历.邻接矩阵的深度优......
  • 数据结构(基本概念)【7月6日】
    前提:408考研只能用C/C++答题,学习数据结构先了解以下内容:1、什么是分支、循环?(如if/else、for、while)2、什么是数组?3、什么是函数?4、什么是指针、地址?5、什么是struct结构体?---------------------------------------------------------分割线-------------------------------......
  • C/C++数据结构与算法课程设计[2023-07-03]
    C/C++数据结构与算法课程设计[2023-07-03]数据结构与算法课程设计一、课程设计的目的、要求和任务 本课程设计是为了配合《数据结构与算法》课程的开设,通过设计完整的程序,使学生掌握数据结构的应用、算法的编写等基本方法。1.课程的目的(1)使学生进一步理解和掌握课堂上所学......
  • 数据结构练习
    数据结构练习[NOI2021]密码箱这么说Quack大爷就有队爷水平了首先考虑\(f\)是个线性变换这里对于\(\dfrac{x}{y}\rightarrow\dfrac{y}{x}+a_i\),第\(i\)个元素可以用矩阵表示\[\left[\begin{matrix}x&y\\0&0\\\end{matrix}\right]\times\left[\begin{matrix}......
  • 数据结构(第六章)
    数据结构(第六章)图定义:图是由顶点的有穷非空集合和顶点之间边的集合组成的,通常表示为G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。特性:​在图中数据元素,我们称之为顶点。任意两个顶点之间都有可能有关系,顶点之间的逻辑关系用边来表示。无向图定义:如......
  • 数据结构--单向链表
    如果对于顺序表的结构已经大致了解,那么对单向链表的学习就会轻松一些。顺序存储中的数据因为挤在一起而导致需要成片移动,那很容易想到的解决方案是将数据离散地存储在不同内存块中,然后在用来指针将它们串起来。这种朴素的思路所形成的链式线性表,就是所谓的链表。顺序表和链表在内存......
  • 数据结构与算法coding过程中的记录
     1.init()时一定要记得malloc()申请新的内存空间(如果不申请内存空间程序返回的值是有内存里的脏数据,把人看得云里雾里找不到问题出在哪)2.带头结点单链表尾插法要注意:若LNode*p=L->next;循环条件是while(p!=NULL){p=p->next;},那么最后的p是NULL,此时在p(NULL)后插一个结点......
  • 《数据结构与算法》之图
    导言:图是数据结构教材上的最后一种数据结构了,它的使用范围最广,最多,也是最贴合我们实际生活的,图是一个多对多的数据结构,在前面的学习,了解到了一对一的数据结构----线性结构,以及一对多的结构----树形结构,现在要学的多对多的结构----图,图是对我们现实生活中很多实体的抽象,因为实际......