太原理工大学c语言课件,太原理工大学数据结构B,C语言版的课件.ppt

太原理工大学数据结构B,C语言版的课件

第二章 习题   2.6, 2.7, 2.9, 2.11,  2.14, 2.21, 2.22, 2.24 在计算机中,可以用一个线性表来表示: P = (p0, p1, …,pn) 一元多项式 但是对于形如 S(x) = 1 + 3x10000 – 2x20000 的多项式,上述表示方法是否合适? 一般情况下的一元稀疏多项式可写成 Pn(x) = p1xe1 + p2xe2 + ┄ + pmxem 其中:pi 是指数为ei 的项的非零系数, 0≤ e1 < e2 < ┄ < em = n 可以下列线性表表示: ((p1, e1), (p2, e2), ┄, (pm,em) ) P999(x) = 7x3 - 2x12 - 8x999 例如: 可用线性表 ( (7, 3), (-2, 12), (-8, 999) ) 表示 ADT Polynomial { 数据对象: 数据关系: 抽象数据类型一元多项式的定义如下: D={ ai | ai ∈TermSet, i=1,2,...,m, m≥0 TermSet 中的每个元素包含一个 表示系数的实数和表示指数的整数 } R1={ |ai-1 ,ai∈D, i=2,...,n 且ai-1中的指数值<ai中的指数值 } CreatPolyn ( &P, m ) DestroyPolyn ( &P ) PrintPolyn ( &P ) 基本操作: 操作结果:输入 m 项的系数和指数, 建立一元多项式 P。 初始条件:一元多项式 P 已存在。 操作结果:销毁一元多项式 P。 初始条件:一元多项式 P 已存在。 操作结果:打印输出一元多项式 P。 PolynLength( P ) AddPolyn ( &Pa, &Pb ) SubtractPolyn ( &Pa, &Pb ) … … } ADT Polynomial 初始条件:一元多项式 P 已存在。 操作结果:返回一元多项式 P 中的项数。 初始条件:一元多项式 Pa 和 Pb 已存在。 操作结果:完成多项式相加运算,即: Pa = Pa+Pb,并销毁一元多项式 Pb。 本章小结 1.了解线性表的逻辑结构特性是数据元素之间存在着线性关系,在计算机中表示这种关系的两类不同的存储结构是顺序存储结构和链式存储结构。用前者表示的线性表简称为顺序表,用后者表示的线性表简称为链表。 2.熟练掌握这两类存储结构的描述方法,以及线性表的各种基本操作的实现。 3.能够从时间和空间复杂度的角度综合比较线性表两种存储结构的不同特点及其适用场合。 * * 第二章 线性表 一、单链表 二、结点和单链表的 C 语言描述 三、线性表的操作在单链表中的实现 四、其它形式的链表 用一组地址任意的存储单元存放线性表中的数据元素。 一、单链表 以元素(数据元素的映象) + 指针(指示后继元素存储位置) = 结点 (表示数据元素 或 数据元素的映象) 以“结点的序列”表示线性表 ?? 称作链表 以线性表中第一个数据元素 的存储地址作为线性表的地址,称作线性表的头指针。 头结点 a1 a2 … ... an ^ 头指针 头指针 有时为了操作方便,在第一个结点之前虚加一个“头结点”,以指向头结点的指针为链表的头指针。 空指针 线性表为空表时, 头结点的指针域为空 ? Typedef struct LNode { ElemType data; // 数据域 struct Lnode *next; // 指针域 } LNode, *LinkList; 二、结点和单链表的 C 语言描述 LinkList L; // L 为单链表的头指针 三、单链表操作的实现 GetElem(L, i, &e) // 取第i个数据元素 ListInsert(&L, i, e) // 插入数据元素 ListDelete(&L, i, &e) // 删除数据元素 ClearList(&L) // 重置线性表为空表 CreateList(&L, n)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值