数据结构逻辑

一:逻辑关系

        1、线性关系

        2:树型关系

        3:图像关系

二:存储关系

        1:顺序存储、数据在存储中会开辟一块连续的空间进行存储。一般使用数组来存储数据

        2:链式存储、数据在内存中不需要开辟连续的空间进行存储

        3:索引式存储

        算法的复杂度

        分为两种:①时间复杂度、花费的时间越少越好——高效性

                          ②空间复杂度、占用的内存越少越好——低存储

        时间复杂度的

                        1:常数阶(没有循环)  2:线性阶(一次循环)  3:平方阶(两次循环)  4:立方阶(三成循环)  5:对数阶()

                        计算复杂度的公式:f(n) = o((fn)) = o(log2(nn));

        

!!!!!常用的顺序存储,和链式存储

顺序表:线性表的顺序存储

        1、逻辑关系:一对一关系(相邻)

        2、存储关系、物理位置相邻,开辟一块连续的空间

顺序表和数组的区别:

                a:顺序表借助数组来实现,但是不等价于数组

                b:顺序表是线性表的顺序存储

                c:线性表长度:表示顺序表的最大长度,数组容量不可变

                d:顺序表长度:数组中有效数据的个数,可变

        优缺点——————

                优点:①操作简单,本质就是对数组操作、②查找数据方便、③数组有效数据便于确定

                缺点:①效率低、②数组容量确定不能更改,数据超出范围则不能存储        

        单向链表:

                链表优缺点

                优点:①内存利用率高②链表没有满的说法可以一直装③插入删除效率极高

                缺点:①查找数据效率低②占用内存空间多

        单向循环链表:

        

        双向链表:

        双向循环链表:

概念:

  1. 双链表:前一个结点能找到后一个结点,后一个结点也能找到前一个结点。
  2. 双循环链表:前一个结点能找到后一个结点,后一个结点也能找到前一个结点。
    1. 让尾结点的next存储头结点
    2. 头结点中的prev存储着尾结点

相关推荐

  1. Paddleocr数据增强调用逻辑

    2024-06-15 00:38:01       4 阅读
  2. OpenCart程序结构与业务逻辑

    2024-06-15 00:38:01       33 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-15 00:38:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-15 00:38:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-15 00:38:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-15 00:38:01       18 阅读

热门阅读

  1. HCIP认证笔记(判断题)

    2024-06-15 00:38:01       4 阅读
  2. 2024.6.12总结

    2024-06-15 00:38:01       10 阅读
  3. 编程前端看什么书比较好:深入解析与推荐

    2024-06-15 00:38:01       7 阅读
  4. 深入解析 Unix I/O 的五种模型

    2024-06-15 00:38:01       9 阅读
  5. mysql-线上常用运维sql-2

    2024-06-15 00:38:01       9 阅读
  6. ant-desigin-vue动态表头并填充数据

    2024-06-15 00:38:01       8 阅读