• [数据结构与算法]14 搞不懂线性结构,非线性结构?


    在前面文章中介绍的数组,栈,队列这种都是线性结构,在接下来的文章中,会介绍图,这是一种非线性结构.
    朋友,你是不是一脸问号?啥是线性结构,什么又是非线性结构呢?我怎么区别这两者呢.
    别慌,一点点来看.

    线性结构

    我在学习知识的时候,喜欢和以前的知识联系起来.
    线性结构,我就想到了在学数学的时候,常说的线性相关,或者说这两个变量之间呈线性关系.
    那么,在数学的定义上,什么是线性关系呢?
    我就直接把维基百科的定义搬过来了,链接在这儿: 线性关系

    在现代学术界中,线性关系一词存在 2 种不同的含义。其一,若某数学函数或数量关系的函数图形呈现为一条直线或线段,那么这种关系就是一种线性的关系。其二,在代数学和数学分析学中,如果一种运算同时满足特定的“加性”和“齐性”,则称这种运算是线性的。

    咱们着重看第一个含义,和数学上面的定义差不多,大概意思就是 y 和 x 的关系在图中表示为一条直线或线段,比如 y=x ,那么这种关系我们就可以称之为是线性关系.
    OK ,那 y=x 有什么特殊之处呢?是不是每一个 x 的取值,都唯一对应一个 y 值?
    Nice !能够想到这一点,就触及到了线性结构的本质,即:数据元素之间存在着"一对一"的线性关系的数据结构就称为 线性结构.

    了解本质之后,咱们应该就很好理解了,像: 线性表,栈,队列,双队列 这种都是线性结构.

    非线性结构

    在了解线性结构之后,再来理解非线性结构就好说了.
    既然线性结构是一对一的关系,那么非线性结构就存在不是一对一的关系了呗,比如一对多?
    恭喜你,答对了!
    那么我们常见的: 二维数组,多维数组,树,图 就都是非线性结构了.

    以上就是想要分享的内容了
    最近感觉自己写文章遇到了瓶颈一般,总是觉得没有写出自己想要的效果
    关于我的文章,欢迎各位留言和我交流哇

  • 相关阅读:
    小写数字转化为大写工具类
    java中关于日期类Calendar的简单使用
    ArrayList用法总结
    滚动条(附:定时调用)
    百度Echarts的使用总结
    Datatables 使用总结
    字符串(String、StringBuffer、StringBuilder)
    sqlserver 脚本方式导出数据到excel
    前端面试
    数据库面试
  • 原文地址:https://www.cnblogs.com/zll-0405/p/12900535.html
Copyright © 2020-2023  润新知