C语言数据结构概览:线性表、栈、树结构、图结构、时间复杂度

  • 数据结构

    研究数据存储方式,为了后续更好的利用数据。

  • 数据结构分类

  • 线性表

    存储一对一关系的数据。**“线性表”**这三个字并不是具体的存储结构,而是一种统称。

    1. 顺序表

      顺序表结构的底层实现,借助的就是数组,可以理解为常用的数组。但两者不同,顺序表是一种数据结构,数组是一种数据类型,不是一个层面的事情。

    2. 链表

      顺序表需要一段完整的物理存储空间,而链表数据的存储位置是相互分离的,每个数据块通过指针指向下一个数据库(最后一个数据块的指针指向NULL

    3. 中元素只能从线性表的一段进出(另一端是封死的),遵循“先入后出”原则。

    4. 队列

      队列的元素从一端进,另一端出,遵循“先入先出”原则。

  • 树结构

    树存储结构储存一对多关系的数据。

    1. 普通树
    2. 二叉树
    3. 线索二叉树
  • 图结构

    图储存结构存储多对多关系的数据。

  • 时间复杂度

    程序由三种结构构成:

    1. 顺序结构(代码只运行一次)
    2. 分支结构(代码只运行一次)
    3. 循环结构(代码只运行N次)

    计算时间复杂度,主要看循环结构的运行次数(频度

    表示方法:O(频度)

  • References

  1. C语言中文网
发布了753 篇原创文章 · 获赞 1021 · 访问量 54万+

猜你喜欢

转载自blog.csdn.net/The_Time_Runner/article/details/103700280