博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA知识(四):浅谈线性结构和非线性结构的区别
阅读量:3916 次
发布时间:2019-05-23

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

     

       在讲线性结构和非线性结构之前,我们必须了解数据结构是什么,它包含什么内容,现在我用一个图大概的表示一下。

              

        数据结构就是一种计算机存储的方式,比如说磁盘,磁盘是用链式存储的,这样可以节省内存空间。可以看到两两数据之间是存在关系的,他们可以通过这些关系来提高资源和存储效率。


一、线性结构

    线性结构最典型的数据关系就是一对一,它是一种有序数据的集合,什么叫有序呢?比如说一维数组,决定数组块中的数据元素只有一个因素,也就是从左往右或者从右往左的行因素,而不是像二维和多维数组受行和列及更多因素影响,这就是一对一的关系。线性结构,除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。

 

  常用的线性结构有:线性表,栈,队列,双队列,数组,串

特点:

1.集合中必存在唯一的一个"第一个元素";
2.集合中必存在唯一的一个"最后的元素";
3.除最后元素之外,其它数据元素均有唯一的"后继";
4.除第一元素之外,其它数据元素均有唯一的"前驱"。
数据结构中线性结构指的是数据元素之间存在着“一对一”的线性关系的数据结构。
如(a1,a2,a3,…,an),a1为第一个元素,an为最后一个元素,此集合即为一个线性结构的集合。
相对应于线性结构,非线性结构的逻辑特征是一个结点元素可能对应多个直接前驱和多个后继。

 

二、非线性结构

    相对于线性结构,非线性结构有一个最明显的区别就是:各个数据元素不再保持在一个线性序列中每个数据元素可能与零个或者多个其他数据元素发生联系。这就是所谓的一对多或者多对一,总之不是一对一。同时也会根据关系的不同,可分为层次结构和群结构。

常见的非线性结构有:二维数组,多维数组,广义表,树(二叉树等),图


 

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

你可能感兴趣的文章
利用Storyboard实现复杂项目
查看>>
关于iPhone和iPad的图标的思考
查看>>
IOS UITableView中行的操作
查看>>
UIViewController生命周期
查看>>
symbol(s) not found for architexture i386 路径错误
查看>>
iPhone的九宫格实现代码
查看>>
iPhone开发中UIPageControl实现自定义按钮
查看>>
关于UIButton的highlighted状态的总结
查看>>
先学再做、先做再学、边做边学,到底一样以什么样的方式来学一项新技术
查看>>
iphone开发-地图注解(地图上的大头针)
查看>>
Java:类与继承
查看>>
深入理解Java:String
查看>>
Java异常处理和设计
查看>>
Java设计模式之观察者模式
查看>>
一位资深程序员大牛给予Java初学者的学习路线建议
查看>>
浅谈Java中的hashcode方法
查看>>
Java NIO:NIO概述
查看>>
Java中的static关键字解析
查看>>
Java多态性理解
查看>>
Java IO流学习总结
查看>>