首页 > 其他分享 >数据结构 - 概述及其术语

数据结构 - 概述及其术语

时间:2024-09-23 15:34:06浏览次数:1  
标签:数据项 术语 存储 概述 数据结构 数据 顺序存储 结构

经过上一章节《数据结构与算法之间有何关系?》的阐述,相信大家对数据结构多少有了点了解,今天我们将进入数据结构的正式学习中。

在计算机科学中,数据结构是一种数据管理、组织和存储的格式。它是相互之间存在一种或多种特定关系的数据元素的集合。

在计算机中一个静态数据是没有灵魂的,只有实际使用起来才有意义,而对于一个数据使用必然会面临三个问题:怎么存储,用什么承载,怎么处理。而这不正好和存储、组织、管理所对应吗。这也正是数据结构所研究关注的三要素。

 

01、三要素

1、物理(存储)结构

怎么存储是指数据最终怎么存储在计算机磁盘上的,这也是我们经常说的物理结构也叫存储结构。

就如同我们收纳内务一样,可能有的人收纳的整整齐齐,按照一定顺序整理,有的人收纳的这一块那一块,感觉毫无章法。而我们也可以根据数据在内存中是否为连续地址存储分为顺序存储和非顺序存储,常见的顺序存储有顺序存储结构,非顺序存储有链式存储结构、索引存储结构和散列存储结构。

 

2、逻辑结构

用什么承载是指数据从计算机磁盘上取出后,要放哪呢或者说用什么工具把它送给后续的应用使用呢。而这个承载体在我们高级语言就是一个类,一个数据对象,其根源就是我们现在说的数据结构,而此时我们关注的是这个类或这个数据对象数据是怎么组织的,是一对一、一对多、多对多亦或其他关系,而这种关系是纯粹的数据之间的关系无关数据实际存储情况就是逻辑上的一种关系,因此称为逻辑结构。

同样的逻辑结构也有顺序之分,可以分为线性结构与非线性结构。线性结构有数组、链表、栈、队列等,非线性结构有树结构、图结构等。

 

3、数据运算

怎么处理指当数据已经从计算机磁盘上取出后,怎么加工使用,也就是数据运算,我们可以根据实际业务需求对数据进行各种加工处理,最得到我们想要的结果,这是处理就是我们常说的增删改查排序等操作。

如果说物理(存储)结构是数据结构的家,逻辑结构就是数据结构的骨架,那么数据运算就是数据结构的灵魂,使得数据可以真正产生价值。

02、术语

1、数据

数据是信息的载体,是所有可以录入到计算机中并且可以被识别处理的数字、字符、符合等合集。包括但不限于整数、小数、字母、符号、图片、音频、视频等。

2、数据项

数据项是数据的最小单位,比如我们在设计学生实体的时候定义学号、姓名、年龄等都是数据项。

3、数据元素

我们实际使用中经常会把多个数据项组合在一起,作为一个整体进行统一处理,这样的组合就形成了数据的基本单位数据元素。

比如学生表中每一行数据就是一个数据元素。

4、数据对象

数据对象是指有特定属性和操作的数据的集合。数据对象由多个数据元素组成,数据元素是数据对象的实例。

5、抽象数据类型

抽象数据类型是一个定义,它是抽象了数据的特性及行为并做了相关定义,但是没有具体实现。

比如说栈作为一个抽象数据类型,定义如“入栈、出栈”等操作,但是具体底层是使用数组实现还是链表实现,使用者并不关心。

后面我们继续将对:数组、链表、跳表、栈、队列、树、堆、散列、图九类数据结构进行深入学习,感兴趣的可以持续关注。

:测试方法代码以及示例源码都已经上传至代码库,有兴趣的可以看看。https://gitee.com/hugogoos/Planner

标签:数据项,术语,存储,概述,数据结构,数据,顺序存储,结构
From: https://www.cnblogs.com/hugogoos/p/18427128

相关文章

  • 树上数据结构问题
    天天爱跑步假设现在又一棵树如果一个人要从\(3\)跑到\(5\),那么如果在\(2\)点的观察员要满足\(w[2]=dep[2]-dep[3]\),如果在点\(4\)的观察员要满足\(w[4]=dep[fa[lca]]-dep[3]+dep[lca]-dep[4]\),简单来说就是如果处于\(i\)点的观察员可以观察到,那么要......
  • Transact-SQL概述(SQL Server 2022)
    新书速览|SQLServer2022从入门到精通:视频教学超值版_sqlserver2022出版社-CSDN博客《SQLServer2022从入门到精通(视频教学超值版)(数据库技术丛书)》(王英英)【摘要书评试读】-京东图书(jd.com)SQLServer数据库技术_夏天又到了的博客-CSDN博客在前面的章节中,其实已......
  • 第23篇 委托的概述
    什么是委托?委托可以说是把一个方法代入另一个方法执行,相当于指向函数的指针;事件就相当于保存委托的数组;1.实例化委托的方式:方式1:通过new创建实例:publicdelegatevoidShowDelegate();或者publicdelegatestringShowDelegate(stringstr);ShowDelegated=newShowDele......
  • 数据结构--第三章 栈和队列
    注:根据严蔚敏等人的数据结构(C语言版)(第二版)记录,用于自己的复习记录。栈栈是限定仅在表尾进行插入和删除的线性表。表尾端称为栈顶,表头端称为栈底。不含元素的空表称为空栈。栈是后进先出的线性表。一、顺序栈的表示和实现顺序栈指的是利用顺序存储结构实现的栈,即利用一组连......
  • 数据结构--第二章 线性表
    注:根据严蔚敏等人的数据结构(C语言版)(第二版)记录,用于自己的复习记录。线性结构特点:除第一个元素无直接前驱,最后一个元素无直接后继外,其他每个数据元素都有一个前驱和一个后继。线性表的定义和特点线性表是最基本且最常用的一种线性结构。线性表:由()个数据特性相同的元素构成......
  • 数据结构之线性表——LeetCode:328. 奇偶链表,86. 分隔链表,24. 两两交换链表中的节点
    328.奇偶链表题目描述328.奇偶链表给定单链表的头节点 head ,将所有索引为奇数的节点和索引为偶数的节点分别组合在一起,然后返回重新排序的列表。第一个节点的索引被认为是 奇数 , 第二个节点的索引为 偶数 ,以此类推。请注意,偶数组和奇数组内部的相对顺序应该与输......
  • 数据结构之线性表——LeetCode:80. 删除有序数组中的重复项 II,88. 合并两个有序数组,4.
    80.删除有序数组中的重复项II题目描述80.删除有序数组中的重复项II给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用O(1)额外......
  • 数据结构之线性表——LeetCode:82. 删除排序链表中的重复元素 II,21. 合并两个有序链
    82.删除排序链表中的重复元素II题目描述82.删除排序链表中的重复元素II给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。运行代码classSolution{public:ListNode*deleteDuplicates(ListNode......
  • 数据结构上机题第二周
    这题就套公式即可6-1结构体查找简单的遍历,但是注意字符串的存放,要在末尾处添加'\0',否则就会过不了intfind(RECORDa[],intn,RECORDb[]){intp=0,sum=0;intswj=0;for(inti=0;i<n;i++){if(a[i].score>=60&&a[i].score<=79){......
  • Java-数据结构-排序-(二) (๑¯∀¯๑)
    文本目录:❄️一、交换排序:    ➷ 1、冒泡排序:    ▶代码:     ➷ 2、快速排序:          ☞基本思想:          ☞方法一:Hoare法    ▶代码:           ☞方法二:挖坑法  ......