• 数据结构复习之线性表


    线性表基本概念

      线性表是零个或多个具有相同数据类型的数据元素的有序序列。

    线性表的存储结构

      1.顺序存储结构

        存储方式:顺序储存结构用一段连续的存储单元一次存储线性表的的数据元素(通常由数组实现)

        适用情况:当线性表频繁查找,很少进行插入和删除操作的情况

        优缺点:

          优点:  无须为表示元素之间的逻辑关系而增加额外的存储空间

              可以快速地存取表中任一位置的元素

          缺点:  插入和删除元素操作需要移动大量元素

              当线性表长度变化较大时,难以确定存储空间的容量

              顺序存储结构需要预分配存储空间,分大了易造成浪费,分小了,易发生向上溢出

              造成存储的碎片化

      2.链式存储结构

        存储方式:单链表采用链式存储结构,用一组任意的存储单元存放线性表元素。

        适用情况:当线性表频繁插入和删除的情况,

             还有是线性表元素个数变化较大或根本不知道有多大的情况,这样无需考虑存储空间问题。

        优缺点:

          优点:  单链表在找出某位置的指针后,插入和删除时间仅为O(1)

              单链表不需要分配存储空间,只要有就可以分配,元素个数不受限制。

          缺点:  查找时需要遍历链表,平均移动表长的一般元素,时间为O(n),效率低。

        区分头指针和头结点。

        链式存储结构顺序表不同类型:

    • 单链表
    • 静态链表 ——   用数组描述的链表,不使用指针
    • 循环链表 —— 将单链表中最后一个结点的指针域由空指针改为指向头结点,形成一个环路,头尾相接的单链表。
    • 双向链表   ——  在单链表的每个结点再增加一个指向其前驱结点的指针域(在插入、删除时的修改两个指针变量)
  • 相关阅读:
    Flux 是什么?
    看深度学习框架排名第一的TensorFlow如何进行时序预测!
    时间序列ARIMA模型预测方法,及相关函数使用方法介绍
    解决MATLAB在K-means提示“KMEANS does not accept complex data.”错误
    机器学习——朴素贝叶斯分类器
    K-近邻分类法及tabulate、rng、categorical、varfun、discretize函数用法介绍
    灰色预测模型及MATLAB实例
    数学建模——预测模型简介
    支持向量机(SVM)MATLAB 实例讲解,及选择训练方式使误差率尽可能减为0
    批量修改文件后缀名,文件批量排序
  • 原文地址:https://www.cnblogs.com/changyaohua/p/4654093.html
Copyright © 2020-2023  润新知