数据结构与算法数据结构与算法实验课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据结构与算法数据结构与算法实验课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 算法 实验 课件
- 资源描述:
-
1、数据结构与算法数据结构与算法数据结构与算法实验数据结构与算法实验2014.9-2015.1纸上得来终觉浅,绝知此事要躬行纸上得来终觉浅,绝知此事要躬行读读+写写+讨论讨论所有作业按时交,注释不少于所有作业按时交,注释不少于30%30%所有作业分为必做(所有作业分为必做(80%80%)和选做()和选做(20%20%)上课时间上课时间:周一周一6-7节节 周四周四1-2节节上机时间上机时间:周一周一8-9节节答疑时间答疑时间:周一周一16:30-17:30 408讨论时间讨论时间:周四周四 9:40-10:40 508?放慢速度?时常复习以前讲的?8个小时?只会课上讲的?答疑了吗?讲但不是全部部分
2、内容需要自己学习希望预习复习自主学习希望:提前5分钟到教室,不迟到 不吃东西 手机静音 随时提问,积极响应 按时交作业对老师的希望?数据结构学什么数据结构的地位和作用怎么学好数据结构教学内容)(211nnnxaxx特点:用数学方程进行数值运算用数学方程进行数值运算 称这类问题的数学模型数学模型是数学方程数学方程第一章绪论例1:数学方程(1)用二分法求方程的根(2)用迭代法求a的平方根例例2:图书管理系统图书管理系统建立一个小型图书管理系统,该系统具有输入、建立一个小型图书管理系统,该系统具有输入、查询、排序、修查询、排序、修改、插入、删除改、插入、删除、输出等功能。、输出等功能。实验要求:实验
3、要求:(1)从文件中读入图书信息,每本图书至少包括书号、书名、作者、出版社、出版日期、单价等信息;图书数量不少于16本(2)能根据书号或书名或出版社查询所有满足条件的图书(3)系统界面自行设计(4)能够按照书名或出版日期排序(5)能能修改图书除书号外的所有信息(6)能从文件中追加新的图书数据(7)对已经遗失的图书从系统中删除相应的图书信息涉及:涉及:l数据录入数据录入l数据查询数据查询l数据维护数据维护l数据排序、输出数据排序、输出需要:需要:建一张表建一张表确定表中前后数据的关系确定表中前后数据的关系实现对表进行操作的方法实现对表进行操作的方法书号书号书名书名作者作者出版社出版社出版日期出版
4、日期数量数量单价单价例例3:扑克牌接龙游戏扑克牌接龙游戏 洗牌洗牌 发牌、出牌、移牌发牌、出牌、移牌 比较、判断比较、判断 输赢判断输赢判断(1)表示所有扑克牌)表示所有扑克牌(2)实现各种游戏动作)实现各种游戏动作 特点:两个数据之间有一定顺序特点:两个数据之间有一定顺序 主要操作有:插入、查找、修改、删除主要操作有:插入、查找、修改、删除 称这类问题的数学模型为称这类问题的数学模型为线性表线性表(线性结构线性结构)学生成绩管理系统学生成绩管理系统扑克牌接龙游戏扑克牌接龙游戏.例例4 人机对奕人机对奕.井字棋、中国象棋、国际象棋井字棋、中国象棋、国际象棋对奕过程中可能出现的棋盘状态称为格局对
5、奕过程中可能出现的棋盘状态称为格局格局之间的关系由下棋规则确定格局之间的关系由下棋规则确定从一个格局中可以派生出若干个新格局从一个格局中可以派生出若干个新格局从新格局又可以派生出更新的格局从新格局又可以派生出更新的格局 整个对奕过程可能派生出的所有格局就象一棵倒挂的树整个对奕过程可能派生出的所有格局就象一棵倒挂的树树根为对奕开始的格局树根为对奕开始的格局树叶为可能出现的一种结局树叶为可能出现的一种结局对奕的过程就是从树根走到树叶的过程对奕的过程就是从树根走到树叶的过程表示每一种格局表示每一种格局表示格局之间的派生关系表示格局之间的派生关系给出对奕的算法:从所有儿子格局中找出给出对奕的算法:从所
6、有儿子格局中找出 最有利的格局最有利的格局需要需要/(root)binlibuseretcmathdsclgyintaoxieStack.cppQueue.cppTree.cpp这类问题的数学模型称为这类问题的数学模型称为树树(树型结构、层次结构)树的特点:树的特点:除根外每个结点有唯一一个双亲除根外每个结点有唯一一个双亲(上级,祖先)除叶子结点外,每个结点可以有多于一个儿子除叶子结点外,每个结点可以有多于一个儿子树的操作:各种遍历搜索树的操作:各种遍历搜索例例6 多叉路口交通灯管制多叉路口交通灯管制 多叉路口需要设几种颜色的灯才能使车辆互不相撞多叉路口需要设几种颜色的灯才能使车辆互不相撞且车
7、流量最大且车流量最大需要:表示圆圈(道路)需要:表示圆圈(道路)表示边(是否冲突)表示边(是否冲突)给出染色方法给出染色方法四色定理-着色问题例例7 最短路径问题最短路径问题 油田铺设管道,把原油送到加工厂,要求所铺设油田铺设管道,把原油送到加工厂,要求所铺设的管道最短的管道最短农夫过河农夫过河 一个农夫带着只狼、一只羊和棵白菜,身处河的南岸。他要把这些东西全部运到北岸。他面前只有一条小船,船只能容下他和件物品,另外只有农夫才能撑船。如果农夫在场,则狼不能吃羊,羊不能吃白菜,否则狼会吃羊,羊会吃白菜,所以农夫不能留下羊和白菜自己离开,也不能留下狼和羊自己离开,而狼不吃白菜。请求出农夫将所有的东
8、西运过河的方案。出发地目的地人羊狼菜人羊狼菜(初始)(初始)人羊狼人羊狼人羊菜人羊菜人狼菜人狼菜羊狼菜(不可能)出发地目的地人(不可能)羊羊狼狼菜菜空(结束)空(结束)狼菜狼菜人菜(不可能)羊菜(不可能)人羊人羊人狼(不可能)出发地所有状态出发地所有状态特点:任何两个数据之间都可以有关系特点:任何两个数据之间都可以有关系(单向、双向单向、双向)操作:遍历、染色、最短路径操作:遍历、染色、最短路径这种数学模型称为这种数学模型称为图图l用计算机解决一个实际问题的步骤:用计算机解决一个实际问题的步骤:典型的数学模型:表、树、图典型的数学模型:表、树、图各种模型的典型算法各种模型的典型算法典型的查找、
9、排序算法典型的查找、排序算法简单的算法设计方法简单的算法设计方法l数据结构数据结构是一门研究是一门研究计算机的计算机的操作对象操作对象 以及以及操作操作对象之间的对象之间的关系关系 和和对对操作操作对象实施的典型对象实施的典型操作操作 的学科的学科1.1 什么是数据结构什么是数据结构操作对象操作对象关系关系典型操作典型操作1.2 基本概念和术语基本概念和术语数据数据:DataData 数据是计算机化的信息(对现实世界的事物采用计算机能够识别、存储和处理的形式所进行的描述)数值性数据数值性数据 非数值性数据非数值性数据 数据元素数据元素:Data Element 数据的基本单位,如格局、结点数据
10、的基本单位,如格局、结点 通常作为一个整体进行考虑和处理通常作为一个整体进行考虑和处理 数据元素的组成成员称为数据项数据元素的组成成员称为数据项 :Data Structure数学数学模型模型表表 树树 图图 实例实例图书图书管理管理扑克牌扑克牌游戏游戏人机人机对弈对弈目录目录管理管理信号灯信号灯设置设置管道管道铺设铺设数据数据元素元素图书图书牌牌格局格局目录目录道路道路连接点连接点数据数据项项书名、书名、书号、书号、作者等作者等花色、花色、点数、点数、正反正反行、行、列、列、值值名字、名字、物理物理位置位置起点、起点、终点、终点、颜色颜色地理地理位置位置数据数据对象对象所有所有图书图书54张
11、牌张牌所有所有格局格局所有所有目录目录所有所有道路道路所有连所有连接点接点关系关系顺序顺序先后先后派生派生从属从属冲突冲突架设架设 线性结构 线性表(表,栈,队列,串等)非线性结构 树(二叉树,HuffmanHuffman树树,二叉排序树二叉排序树等)等)图(有向图,无向图等)图图 树树 二叉树二叉树 线性表线性表逻辑结构到物理存储空间的映射逻辑结构到物理存储空间的映射 内存.顺序、链式、索引、散列顺序、链式、索引、散列 a1a2a3a4a5逻辑结构逻辑结构物理结构(一)物理结构(一)物理结构(二)物理结构(二)a1a2a3a4a5a3a4a2a5a10struct student /数据类型
12、 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、.数据元素数据元素链表链表-数据关系的表示数据关系的表示head为首的数据元素构成数据对象为首的数据元素构成数据对象顺序顺序链式链式索引索引散列散列 例:例:DS1=(D,S)D=V1,V2,V3,V4S=,(3)数据之
13、间的结构关系)数据之间的结构关系 它包括数据的逻辑结构和它包括数据的逻辑结构和 数据的物理结构数据的物理结构(4)是一类普通数据的表示及其相关操作)是一类普通数据的表示及其相关操作(5)根据各种不同的数据集合和数据之间的关系研究)根据各种不同的数据集合和数据之间的关系研究如何表示、存储、操作这些数据的技术如何表示、存储、操作这些数据的技术 研究数据结构从三个方面进行:研究数据结构从三个方面进行:(1)逻辑结构逻辑结构(2)存储结构存储结构(3)操作操作(运算)(运算)对数据进行的处理,对数据进行的处理,定义在数据的逻辑结构上定义在数据的逻辑结构上 具体实现于数据的存储结构具体实现于数据的存储结
14、构引用引用引用(引用(referencereference)作用是为变量起一个别名)作用是为变量起一个别名例如:例如:int a;int&b=a;int a;int&b=a;说明:(说明:(1 1)b b是一个引用变量,它的作用与是一个引用变量,它的作用与a a相同相同 (2 2)b b与与a a占用相同的内存空间占用相同的内存空间1231000a假设变量假设变量a的地址为的地址为1000,值为,值为123定义了定义了int&b=a后后:1231000ab(3 3)b b的作用域与的作用域与a a相同,在其作用域内,不能相同,在其作用域内,不能作为其它变量或其它变量的别名作为其它变量或其它变量
展开阅读全文