1 / 63
文档名称:

数据结构-线性结构非线性结构线性表.ppt

格式:ppt   大小:765KB   页数:63页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构-线性结构非线性结构线性表.ppt

上传人:sanshenglu2 2021/6/27 文件大小:765 KB

下载得到文件列表

数据结构-线性结构非线性结构线性表.ppt

文档介绍

文档介绍:本 课 程 内 容 结 构
数据结构
线性结构
非线性结构
线性表

队列

数组和广义表
顺序表
链表
循环链表
两种存储结构
顺序存储
链式存储


二叉树的遍历
树和森林
哈夫曼树及哈夫曼编码
图的存储
图的遍历
最小生成树
拓扑排序和关键路径
最短路径
排序
静态
动态
内部
外部
数据结构-线性结构非线性结构线性表
一、问题引入
程序
实际问题
数学模型
计算机
实际问题中元素的数学抽象
建立和解决数学模型的方法
算 法
数据结构
+
数据结构-线性结构非线性结构线性表
2
定义
含义
int i;
int *p;
int a[n];
int *p[n];
int (*p)[n];
int f();
int *p();
int (*p)();
int **p;
定义整型变量i
p为指向整型数据的指针变量
定义含n个元素的整型数组a
n个指向整型数据的指针变量组成的指针数组p
p为指向含n个元素的一维整型数组的指针变量
f为返回整型数的函数
p为返回指针的函数,该指针指向一个整型数据
p为指向函数的指针变量,该函数返回整型数
p为指针变量,它指向一个指向整型数据的指针变量
指针的数据类型
数据结构-线性结构非线性结构线性表
C语言 +“数据结构”“数据库”= “会武会功”
第1章 C语言概述:了解该语言程序的格式、构成及基本要求;编程的基本思路和方法;上机调试的基本步骤和方法;注意在书写或输入程序时采用缩进格式。
第2章 C语言程序设计的初步知识:标识符,基本数据类型及不同之间赋值规律,算术运算符;编辑、编译、链接和运行的过程。
第3章 顺序结构程序设计:各种类型数据的输入输出方法,格式转换字符;顺序结构;程序设计的一般思路。
第4章 选择结构程序设计:关系和逻辑运算符及表达式值;if和switch语句;简单的算法。
第5章 循环结构程序设计:循环含义;while和for和do-while语句;break和continue的作用;算法:如穷举、迭代、递推;自顶向下、逐步求精。
第6章 数组:一二维的应用;字符数组;数组算法(排序)
第7章 函数:定义;形参,实参,值传递;调用自定义函数条件及嵌套和递归调用;变量的作用域和存储类别;多文件程序;模块化程序设计。
第8章 编译的预处理:宏定义;文件包含处理;条件编译。
第9章 指针:指针变量;数组(字符串)的指针和指向数组(字符串或函数)的指针变量;指向指针的用法。
第10章 构造数据类型:结构体类型变量、数组、链表的操作,共用体类型;typedef。
第11章 文件:缓冲文件,文件指针;打开、关闭、读、写文件操作。
第12章 位运算:使用位运算、某些位的操作。
数据结构-线性结构非线性结构线性表
上机题P44第9题讲解
指导老师:许晓飞
数据结构-线性结构非线性结构线性表
题面
设有多项式:A(x)=7+3x+9x8+3x15
B(x)=5x+6x7-9x8
(1) 用单链表给出A(x)的存储表示;
(2)用单链表给出B(x)的存储表示;
(3)以上述两个单链表为基础,通过插入和删除等运算给出A(x)+B(x)的存储表示,其存储空间覆盖A(x)和B(x)的存储空间
数据结构-线性结构非线性结构线性表
首先,我们自己会做一元多项式的相加:
不失一般性,设有两个一元多项式:
P(x)=p0+p1x+p2x2+ … +pnxn ,
Q(x)=q0+q1x+q2x2+ … +qmxm (m<n)
R(x)=P(x)+ Q(x)
R(x)由线性表R((p0+q0) ,(p1+q1) ,(p2+q2) , … ,(pm+qm) , … , pn)唯一表示。
分步走:第一步,寻找和比较相加项的幂指数(操作条件);
第二步,幂指数相同,系数相加(操作内容);
数据结构-线性结构非线性结构线性表
解:首先要解决多项式的表征问题,即在程序中如何表征多项式,如写成:
f(x)=p1 xe1 +p2xe2+p3xe3+…+pnxen
很明显,我们可以把多项式看作是一个线性表,线性表中的数据元素是一个二元组(系数,指数)。用线性表((p1,e1),(p2,e2),…(pn,en))唯一代表一个多项式。
其次,是选取顺序表还是链表来存储多项式?如果用户输