数据结构与算法数据结构与算法实验.ppt
《数据结构与算法数据结构与算法实验.ppt》由会员分享,可在线阅读,更多相关《数据结构与算法数据结构与算法实验.ppt(71页珍藏版)》请在三一办公上搜索。
1、数据结构与算法数据结构与算法实验,纸上得来终觉浅,绝知此事要躬行读+写+讨论,学习方法,所有作业按时交,注释不少于30%所有作业分为必做(80%)和选做(20%),上课时间:周一6-7节 周四1-2节上机时间:周一8-9节答疑时间:周一16:30-17:30 408讨论时间:周四 9:40-10:40 508?,放慢速度?时常复习以前讲的?8个小时?只会课上讲的?答疑了吗?,讲但不是全部部分内容需要自己学习希望预习复习自主学习,希望:提前5分钟到教室,不迟到 不吃东西 手机静音 随时提问,积极响应 按时交作业,对老师的希望?,数据结构学什么数据结构的地位和作用怎么学好数据结构,教学内容,特点:
2、用数学方程进行数值运算,称这类问题的数学模型是数学方程,第一章绪论,例1:数学方程(1)用二分法求方程的根(2)用迭代法求a的平方根,例2:图书管理系统,建立一个小型图书管理系统,该系统具有输入、查询、排序、修改、插入、删除、输出等功能。实验要求:(1)从文件中读入图书信息,每本图书至少包括书号、书名、作者、出版社、出版日期、单价等信息;图书数量不少于16本(2)能根据书号或书名或出版社查询所有满足条件的图书(3)系统界面自行设计(4)能够按照书名或出版日期排序(5)能能修改图书除书号外的所有信息(6)能从文件中追加新的图书数据(7)对已经遗失的图书从系统中删除相应的图书信息,涉及:数据录入数
3、据查询数据维护数据排序、输出,需要:建一张表确定表中前后数据的关系实现对表进行操作的方法,例3:扑克牌接龙游戏,洗牌 发牌、出牌、移牌 比较、判断 输赢判断,(1)表示所有扑克牌(2)实现各种游戏动作,特点:两个数据之间有一定顺序 主要操作有:插入、查找、修改、删除 称这类问题的数学模型为线性表(线性结构),学生成绩管理系统,扑克牌接龙游戏,.,.,例4 人机对奕,.,.,.,.,.,井字棋、中国象棋、国际象棋对奕过程中可能出现的棋盘状态称为格局,格局之间的关系由下棋规则确定从一个格局中可以派生出若干个新格局从新格局又可以派生出更新的格局 整个对奕过程可能派生出的所有格局就象一棵倒挂的树树根为
4、对奕开始的格局树叶为可能出现的一种结局对奕的过程就是从树根走到树叶的过程,表示每一种格局表示格局之间的派生关系给出对奕的算法:从所有儿子格局中找出 最有利的格局,需要,例5 文件系统,/(root),bin,lib,user,etc,math,ds,clg,yin,tao,xie,Stack.cpp,Queue.cpp,Tree.cpp,这类问题的数学模型称为树(树型结构、层次结构)树的特点:除根外每个结点有唯一一个双亲(上级,祖先)除叶子结点外,每个结点可以有多于一个儿子树的操作:各种遍历搜索,例6 多叉路口交通灯管制 多叉路口需要设几种颜色的灯才能使车辆互不相撞且车流量最大,需要:表示圆圈
5、(道路)表示边(是否冲突)给出染色方法,四色定理-着色问题,例7 最短路径问题 油田铺设管道,把原油送到加工厂,要求所铺设的管道最短,农夫过河,一个农夫带着只狼、一只羊和棵白菜,身处河的南岸。他要把这些东西全部运到北岸。他面前只有一条小船,船只能容下他和件物品,另外只有农夫才能撑船。如果农夫在场,则狼不能吃羊,羊不能吃白菜,否则狼会吃羊,羊会吃白菜,所以农夫不能留下羊和白菜自己离开,也不能留下狼和羊自己离开,而狼不吃白菜。请求出农夫将所有的东西运过河的方案。,出发地,目的地,人羊狼菜(初始)人羊狼人羊菜人狼菜羊狼菜(不可能),出发地,目的地,人(不可能)羊狼菜空(结束),狼菜人菜(不可能)羊菜
6、(不可能)人羊人狼(不可能),出发地所有状态,特点:任何两个数据之间都可以有关系(单向、双向)操作:遍历、染色、最短路径这种数学模型称为图,用计算机解决一个实际问题的步骤:,问题分析 建立模型 确定算法 设计程序 上机调试 结 果,数据结构是一门研究计算机的操作对象 以及操作对象之间的关系 和对操作对象实施的典型操作 的学科,1.1 什么是数据结构,操作对象关系典型操作,1.2 基本概念和术语,数据:Data 数据是计算机化的信息(对现实世界的事物采用计算机能够识别、存储和处理的形式所进行的描述)数值性数据非数值性数据,数据元素:Data Element 数据的基本单位,如格局、结点 通常作为
7、一个整体进行考虑和处理 数据元素的组成成员称为数据项,数据项:Data Item 数据的最小单位 一个数据元素由多个数据项组成,数据对象:Data Object 具有相同性质的数据元素的集合 如所有书目、所有扑克牌、所有格局、所有道路,数据类型:Data Type,数据结构:Data Structure,(1)相互间存在一种或多种特定关系的数据元素的集合 一种或多种关系称为结构 有4种基本结构:,数据的逻辑结构,数据的逻辑结构,线性结构 线性表(表,栈,队列,串等)非线性结构 树(二叉树,Huffman树,二叉排序树等)图(有向图,无向图等),图 树 二叉树 线性表,数据的存储结构(物理结构)
8、,逻辑结构到物理存储空间的映射,内存,.,顺序、链式、索引、散列,a1,a2,a3,a4,a5,逻辑结构,物理结构(一),物理结构(二),a1,a2,a3,a4,a5,a3,a4,a2,a5,a1,0,struct student/数据类型 int num;char name12;char sex;int age;int score5;int scoresum;s50;/数据对象,数据项,s0、s1、s2、.数据元素数组-数据关系的表示,struct stu/数据类型int num;int score;struct stu*next;*head,*p1;,数据项,*p1、*head、.数据元素
9、链表-数据关系的表示head为首的数据元素构成数据对象,数据的存储结构借助于高级语言中的数据类型来描述,顺序链式索引散列,顺序映象,非顺序映象,(2)数据元素+关系 数据结构是一个二元组:Data_structure=(D,S)D:数据元素的有穷集合 S:数据之间有穷关系的集合,例:DS1=(D,S)D=V1,V2,V3,V4S=,(3)数据之间的结构关系 它包括数据的逻辑结构和 数据的物理结构(4)是一类普通数据的表示及其相关操作(5)根据各种不同的数据集合和数据之间的关系研究如何表示、存储、操作这些数据的技术,研究数据结构从三个方面进行:(1)逻辑结构(2)存储结构(3)操作(运算)对数据
10、进行的处理,定义在数据的逻辑结构上 具体实现于数据的存储结构,引用,引用(reference)作用是为变量起一个别名例如:int a;int 说明:(1)b是一个引用变量,它的作用与a相同(2)b与a占用相同的内存空间,假设变量a的地址为1000,值为123,定义了int&b=a后:,(3)b的作用域与a相同,在其作用域内,不能作为其它变量或其它变量的别名(4)定义一个引用变量的同时必须初始化-说明它是谁的别名,输出:a=10 b=10 a=100,main()int a=10;int,(5)定义引用变量的作用是使得函数调用时,实参与形参之间不仅有传值方式,还有传地址方式 引用变量做参数,相当
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 算法 实验
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6296834.html