首页 > 编程语言 >数据结构与算法基础复习--(1)

数据结构与算法基础复习--(1)

时间:2023-04-30 16:22:43浏览次数:56  
标签:存储 复习 -- 元素 集合 数据结构 数据 结构

基本术语

1.数据(Data)

  • 数据
    • 是能输入计算机且能被计算机处理的各种符号的集合
      • 信息的载体
      • 是对客观事物符号化的表示
      • 能够被计算机识别、存储和加工
    • 包括:
      • 数值型的数据:整数、实数
      • 非数值型的数据:文字、图像、图形、声音

2.数据元素

  • 数据元素
    • 是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理
    • 也简称为元素,或称为记录、结点或顶点
    • 一个数据元素可由若干个数据项组成

3.数据项

  • 数据项
    • 构成数据元素的不可分割的最小单位

数据、数据元素、数据项三者之间的关系:

数据>数据元素>数据项

4.数据对象

  • 性质相同的数据元素的集合,是数据的一个子集

数据元素与数据对象

  • 数据元素————组成数据的基本单位
    • 与数据的关系:是集合的个体
  • 数据对象————性质相同的数据元素的集合
    • 与数据的关系是:集合的子集

数据结构

  • 数据元素不是孤立存在的,它们之间存在着某种关系,数据元素相互之间的关系称为结构
  • 是指相互之间存在一种或多种特定关系的数据元素集合
  • 或者说吗,数据结构是带结构的数据元素的集合

数据结构包括以下三个方面的内容

1.数据元素之间的逻辑关系,也称为逻辑结构
2.数据元素及其关系在计算机内存中的表示(又称为映像),称为数据的物理结构或数据的存储结构
3.数据的运算和实现,即对数据元素可以施加的操作以及这些操作在相应的存储结构上的实现

数据结构的两个层次

  • 逻辑结构
    • 描述数据元素之间的逻辑关系
    • 与数据的存储无关,独立于计算机
    • 是从具体问题抽象出来的数学模型
  • 物理结构(存储结构)
    • 数据元素及其关系在计算机存储器中的结构(存储方式)
    • 是数据结构在许算机中的表示
  • 逻辑结构与存储结构的关系:
    • 存储结构是逻辑关系的映象与元素本身的映象。
    • 逻辑结构是数据结构的抽象,存储结构是数据结构的实现
    • 两者综合起来建立数据元素之间的结构关系。

逻辑结构的种类

划分方法一

(1)线性结构
有且仅有一个开始和一个终端结点,并且所有结点都最多只有一个直接前趋和一个直接后继。
例如:线性表、栈、队列、串
(2)非线性结构
一个结点可能有多个直接前趋和直接后继
例如:树、图

划分方式二————四类基本逻辑结构

(1)集合结构:结构中的数据元素之间除了同属于一个集合的关系外,无任何其它关系。
(2)线性结构:结构中的数据元素之间存在着一对一的线性关系。
(3)树形结构:结构中的数据元素之间存在着一对多的层次关系。
(4)
图状结构或网状结构:结构中的数据元素之间存在着多对多*的任意关系。

存储结构的种类

四种基本的存储结构:

  • 顺序存储结构
  • 链式存储结构
  • 索引存储结构
  • 散列存储结构

标签:存储,复习,--,元素,集合,数据结构,数据,结构
From: https://www.cnblogs.com/laocaigoul/p/17364457.html

相关文章

  • 青岛市程序设计竞赛冲刺④(2019山东省小学组试题)
    1.随机数原题: 解题思路:求出输入值中的最大值,从这个数输出到6即可AC代码:#include<bits/stdc++.h>#definelllonglongusingnamespacestd;intx,y;intmain(){ freopen("random.in","r",stdin); freopen("random.out","w",stdout); cin>......
  • CF51F Caterpillar题解
    题目传送门题意:定义毛毛虫为一种特殊的树,形如一条链上挂着若干个叶子。特殊地,在本题中的毛毛虫允许自环但不允许重边。给定一个无向图,每次操作可以合并两个点以及两个点的出边(两个点有相同出边则出现重边,两个点之间有边则出现自环)。求将其变为毛毛虫的最小操作次数。容易发现,......
  • RabbitMQ linux安装流程
    1.在根目录创建文件夹rabbitMQcd/mkdirrabbitMQ2.下载rabbitMQram安装包和对应版本的Erlang(我这里用的3.11.2的rabbitMQ就需要对应的25.1的Erlang)参考地址:RabbitMQErlangVersionRequirements—RabbitMQrabbitmqIndexofrabbitmq-server-local/v3.10.2(huaweic......
  • 11-react使用props.children 处理父子组件之间的传值
    //props.children组件传值import{Component}from"react"importreactDomfrom"react-dom"//床架一个createRef函数用来创建ref对象constHello=(props)=>{console.log(props)props.children('子组件传给父组件的值')//就是子组件标签之间的内容/......
  • 没有想到博客园还活着
    刚开始真的记不起来之前有发表过文章的网站是哪个了,注册了一部分网站都发现不是,后面搜索了半天才记起来是博客园。一晃都7年过去了,然而本人并没有什么长进,哈哈哈哈哈哈哈,只是从前后端不分离的PHP开发逐渐转前后端分离的Go开发了。好多年了,要重新开始看面试题了哈哈哈哈哈,准备把......
  • Docker的一些常用命令
    Docker是一种容器化技术,需要使用许多命令来管理和操作容器。下面是对一些常用的Docker命令和它们的含义的解释:-v:用来将文件或者目录挂载到Docker容器中,使其可以在Docker容器内部进行访问。格式为-v/host/path:/container/path,其中/host/path是本地主机的文件路径,/conta......
  • 实验五:FTP远程密码pojie(有敏感词)
    【实验目的】了解远程FTP密码pojie原理,了解如何有效防范类似攻击的方法和措施,掌握pojieftp帐号口令pojie技术的基本原理、常用方法及相关工具。【知识点】FTP口令pojie【实验原理】FTP概念FTP是TCP/IP协议组中的协议之一,是英文FileTransferProtocol的缩写。该协议是Interne......
  • 【雷达通信】基于matlab模拟毫米波雷达成像
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • MybatisPlus高级特性之SimpleQuery工具类
    1、是很么?SimpleQuery可以对selectList查询后的结果使用Stream流进行操作,使其可以返回指定的结果,简洁了api的调用2、怎么玩?案例演示(1)list操作/***list(LambdaQueryWrapper<E>wrapper,SFunction<E,A>sFunction,Consumer<E>...peeks)*参数说明:*p......
  • 【机械仿真】基于matlab模拟自动摆钟
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......