小工具      在线工具  汉语词典  css  js  c++  java

数据结构:线性结构和非线性结构的理解

数据结构,数据结构:线性结构和非线性结构的理解 额外说明

收录于:112天前

我们知道数据结构是计算机存储、组织数据的方式。常见的数据结构分类方式如下图:

在这里插入图片描述
我们这里主要说一下线性结构和非线性结构

1. 线性结构

线性结构是什么?
数据结构中线性结构指的是数据元素之间存在着“一对一”的线性关系的数据结构。线性结构是一个有序数据元素的集合。

线性结构特点:
线性结构有唯一的首元素(第一个元素)
线性结构有唯一的尾元素(最后一个元素)
除首元素外,所有的元素都有唯一的“前驱”
除尾元素外,所有的元素都有唯一的“后继”
数据元素之间存在“一对一”的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。

如数组(a1,a2,a3,…,an),a1为第一个元素,an为最后一个元素,此集合即为一个线性结构的集合。

常用的线性结构有 线性表,栈,队列,双队列,循环队列,一维数组,串。
线性表中包括顺序表、链表等,其中,栈和队列只是属于逻辑上的概念,实际中不存在,仅仅是一种思想,一种理念;线性表则是在内存中数据的一种组织、存储的方式。

2.非线性结构

线性结构是什么?
非线性结构中各个数据元素不再保持在一个线性序列中,数据元素之间是一对多,或者是多对一的关系。根据关系的不同,可分为层次结构(树)和群结构(图)。

常见的非线性结构有二维数组,多维数组,广义表,树(二叉树等),图。(其中多维数组是由多个一维数组组成的, 可用矩阵来表示,他们都是两个或多个下标值对应一个元素,是多对一的关系,因此是非线性结构。)

相对应于线性结构,非线性结构的逻辑特征是一个结点元素可能对应多个直接前驱和多个后继。

线性结构和非线性结构就先介绍到这里。

. . .

相关推荐

额外说明

springcloud dashboard Hystrix monitor 查看熔断工具

  Springcloud Hystrix 使用dashboard进行监控配置     Circuit :Open 表示发生了熔断。     这个圆越大,表示流量越大。这个圆越偏向红色,表示越不健康。 不停变化的线,就代表一段时间来,流量的变化   第一

额外说明

Eclipse+gcc+STM32+OpenOCD调试

1. 什么是OpenOCD OpenOCD(Open On-Chip Debugger)开源片上调试器,是一款开源软件,最初是由Dominic Rath同学还在大学期间发起的(2005年)项目。OpenOCD旨在提供针对嵌入式设备的调试、系统编程和边界扫

额外说明

不知道代码如何实现循环断言?只需6步!

对于使用jmeter工具完成接口测试的测试工程师而言。在工作中,或者在面试中,都会遇到一个问题—— “CSV文档做了一大笔测试数据后,怎么去校验这个结果呢?” 现在大部分测试工程师可能都是通过人工的方法去查看结果,十几个还好,那要很多很多呢? OK,此时

额外说明

C语言_典型的储存器安排图解 举例解析code

如下: 栈空间向下开辟,堆空间想上开辟; 单片机为例:如果在定义变量时,其大小超过了数据段大小时,可以使用code+初始化变量,将其放置在代码段储蓄,让程序能够正常运行,(因为代码段比数据段大大滴大)但要注意这个变量在后期不可以被修改(因为其是只读属性)

额外说明

SUID提权

SUID 以下语句可以用来搜索具备SUID权限的程序 find / -perm -g=s -type f 2>/dev/null find / -perm -u=s -type f 2>/dev/null find / -user root -perm

额外说明

Java学习笔记1.1.2 搭建Java开发环境 - 安装配置JDK

文章目录 零、本讲学习目标 一、下载JDK11 (一)Oracle官网下载JDK11.0.14 (二)百度网盘下载JDK11.0.7 (三)百度网盘下载OpenJDK11.0.2 二、安装JDK11 (一)进入安装向导 (二)选择安装位置 (三)安装JD

额外说明

AST注入-从原型链污染到RCE

文章目录 概念 漏洞 Handlebars pug 例题 [湖湘杯 2021 final]vote 概念 什么是AST注入 在NodeJS中,AST经常被在JS中使用,作为template engines(引擎模版)和typescript等。对于引擎模版

额外说明

设置swagger文档自动同步到YApi

SpringBoot项目引入swagger文档后,每次都要手工维护接口到YApi很麻烦,有没有设置自动化同步的办法?操作如下: 进入YApi后添加项目 添加完项目后,点击设置,配置基本项目信息,由于我这边走的是网关,所以接口基本路径设置了一个 /api的

额外说明

SSH访问机器时免密码

生命是有限的, 不想浪费在线上N多机器的密码输入上。 那么就来研究一下如何免密码SSH到各个机器吧。 首先要生成密钥, Linux机器上输入 ssh-keygen -t rsa -b 1024 Ubuntu 需要用rsa算法 然后敲3次回车, 保持默认选

额外说明

d3dcompiler_39.dll文件丢失如何解决?

其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或者损坏了,这时你只需下载这个d3dcompiler_39.dll文件进行安装(前提是找到适

ads via 小工具