当前位置: 首页 > web >正文

7. 线性表的定义及特点

本节主要讲了线性表的几个案例和存储方式。

本文部分ppt、视频截图来自:[青岛大学-王卓老师的个人空间-王卓老师个人主页-哔哩哔哩视频]

1. 线性表案例

1.1 一元多项式的运算:实现两个多项式加、减、乘运算

在这里插入图片描述

  • 计算和的多项式

指数相同的项的系数依次相加

在这里插入图片描述

  • 指数项并不是每一项都有,大部分项系数为0的多项式稀疏多项式,如果还按照下标依次存储的话,会造成极大空间浪费。
  • 为了减少空间浪费,只需要存储系数不为0的项。

在这里插入图片描述

1.2 稀疏多项式的运算

  • 稀疏多项式

只存储系数不为0的项,存放系数和指数。

在这里插入图片描述
在这里插入图片描述

线性表A = ((7, 0), (3, 1), (9, 8), (5, 17))
线性表B = ((8, 1), (22, 7), (-9, 8))

  • 创建一个新数组C
  • 分别从头遍历比较a和b的每一项
    在这里插入图片描述
  • 一个多项式已遍历完毕时,将另一个剩余项依次复制到c中即可(问题:数组c定义多大合适?
    在这里插入图片描述
  • 存储空间分配

用链表存储:从头分别遍历A、B两个多项式。从第一项开始比较两个多项式的指数,A的是0,B的是1,A的指数较小,所一保留A的第一项。

在这里插入图片描述

比较A、B第二项的指数,都是1,求两个的和11更新到表中

在这里插入图片描述

再比较下一项,A的指数是8,B的指数是7,保留较小的7存储

在这里插入图片描述

再比较下一项,A、B都是8,系数求和为0,该项不要。此时多项式B中没有元素项了,将多项式A中剩余项依次存入

在这里插入图片描述

2.3 图书信息管理系统

一个图书馆有如下文件:需要功能①查找 ②插入 ③删除 ④修改 ⑤排序 ⑥计数。该问题同样可以用线性表来解决

  • 图书表抽象为线性表
  • 表中每本图书抽象为线性表中的数据元素

在这里插入图片描述

存储图书表:顺序表 或者 链表。
选择哪个存储结构需要参考实际情况,比较两种情况异同,各自好处,然后:

  • 选择适当的存储结构
  • 实现此存储结构上的基本操作(增删查改等)
  • 利用基本操作完成功能

在这里插入图片描述
在这里插入图片描述

2.4 总结

  • 线性表中的数据元素的类型可以为简单类型,也可以为复杂类型
  • 许多实际应用问题所涉的基本操作有很大相似性,不应为每个具体应用单独编写一个程序。
  • 从具体应用中抽象出共性的逻辑结构和基本操作(抽象数据类型),然后实现其存储结构和基本操作。
http://www.xdnf.cn/news/12447.html

相关文章:

  • PyQt常用控件的使用:QFileDialog、QMessageBox、QTreeWidget、QRadioButton等
  • 护网行动面试试题(2)
  • go语言学习 第7章:数组
  • HarmonyOS运动语音开发:如何让运动开始时的语音播报更温暖
  • 【MySQL基础】数据库的备份与还原
  • 第三章支线一 ·原能之核:语法起源
  • Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践
  • 【Python训练营打卡】day45 @浙大疏锦行
  • k8s下离线搭建elasticsearch
  • 力扣100-移动0
  • Jmeter如何进行多服务器远程测试?
  • Podman 和 Docker
  • 关于如何使用VScode编译下载keil工程的步骤演示
  • BugKu Web渗透之网站被hei(仅仅是ctf题目名称)
  • Three.js中AR实现详解并详细介绍基于图像标记模式AR生成的详细步骤
  • CSS中justify-content: space-between首尾贴边中间等距(两端元素紧贴左右边缘,中间元素等距均匀分布)
  • NLP学习路线图(二十七):Transformer编码器/解码器
  • 传输层:udp与tcp协议
  • 分布式微服务系统架构第144集:FastAPI全栈开发教育系统
  • 基于 Vue 和 Spring Boot 实现滑块验证码的机器验证
  • Linux编程:1、文件编程
  • AI预测3D新模型百十个定位预测+胆码预测+去和尾2025年6月6日第100弹
  • pdf2zh 简明本地部署和api调用,以及离线部署总结
  • 行业案例 | ASOS 借助 Azure AI Foundry(国际版)为年轻时尚爱好者打造惊喜体验
  • 在Windows下利用LoongArch-toolchain交叉编译Qt
  • QuaggaJS用法详解
  • 分布式协同自动化办公系统-工作流引擎-流程设计
  • aardio 简单网页自动化
  • 命令行以TLS/SSL显式加密方式访问FTP服务器
  • 应用分享 | 精准生成和时序控制!AWG在确定性三量子比特纠缠光子源中的应用