计算机导论7 数据结构与算法ppt课件.ppt
《计算机导论7 数据结构与算法ppt课件.ppt》由会员分享,可在线阅读,更多相关《计算机导论7 数据结构与算法ppt课件.ppt(37页珍藏版)》请在三一办公上搜索。
1、计算机导论,第 7 讲,数据结构与算法,数据结构(data structure)数据结构的基本概念典型的数据结构 算法(algorithm)算法的基本概念算法的描述方法衡量算法的优劣,数据结构与算法,1、数据结构的基本概念 数据结构(data structure):数据元素之间抽象化的关联构造。(重在元素之间的逻辑关系及数据处理) 数据结构的作用 (1)Pascal之父Nicklaus Wirth:算法 + 数据结构 = 程序 (2)数据结构是程序设计之前必须先考虑好的问题 (3)以数据为中心设计程序,因此,数据结构是关键。数据结构设计得当,程序设计得心应手,事半功倍;数据结构设计不好,程序设
2、计事倍功半,甚至无从下手。,数据结构,1、数据结构的基本概念 数据结构的使用 强调灵活运用,数据结构课程讲授典型的数据结构与处理算法,但 实际应用中要综合,要变通,要深刻理解数据结构的思想,要有自己的 设计。要学会将看似截然不同的问题抽象成相同的数据结构。例如:(1)某班级学生信息表的处理:线性表 (2)某单位组织结构信息的处理:树 (3)某地区公路网信息的处理:图以上问题都能在数据结构课程中找到标准的数据结构和处理算法。 (4)补考排考场的处理这个问题可用“图”来组织数据,但在数据结构课程中没有相应算法。,数据结构,1、数据结构的基本概念 数据元素和数据项 (1)数据(data):所有能输入
3、计算机并被计算机程序所处理的符号的总称。 (2)数据元素(data element):数据的基本单位,通常作为一个整体进行处理。又称结点(node)或记录(record)。 (3)数据项(data item):数据的不可分割的、具有独立意义的最小单位。有时称为字段或域(field)。(数据元素有哪些组成成分),数据结构,数据元素(一名学生),学号,6012410109,姓名,张三,性别,男,政治面貌,党员,数据项1,数据项2,数据项3,数据项4,1、数据结构的基本概念 逻辑结构与物理结构 (1)数据逻辑结构(data logical structure):数据元素之间存在的一种或多种特定的关系
4、。 (2)数据物理结构(data physical structure):数据在计算机中的存放方式,即数据逻辑结构在计算机存储器中的实现。(数据是如何在存储器中存放的),数据结构,1、数据结构的基本概念 四种基本的逻辑结构,数据结构,集合,线性结构,树形结构,图形结构,2、典型的数据结构 线性表(list):n (n0)个数据元素的有限序列(a1 , a2 , , an)。 (1)长度:线性表中数据元素的个数。 (2)空表:长度为0的线性表。 (3)直接前驱(immediate predecessor)与直接后继(immediate successor)ai是ai+1的直接前驱,ai+1是ai
5、的直接后继。 (4)基本操作:初始化空表、求长度、判断空表、置空、取第i号元素、定位(给定元素值)、修改元素、插入元素、删除元素。,数据结构,2、典型的数据结构 线性表 (5)栈(stack):只能在一端进行插入和删除操作的线性表。栈的插入:进栈、入栈、压栈栈的删除:退栈、出栈、弹栈栈的操作特点:先进后出(后进先出) (6)队列(queue):只允许在表的一端插入元素,在表的另一端删除元素。队头:删除端队尾:插入端。队列的操作特点:先进先出(后进后出),数据结构,2、典型的数据结构 线性表 (7)线性表的应用(1)一组数据元素,互相之间地位平等(可能有先后次序,除此 之外没有其他逻辑关系)。
6、例如:30名学生、10个班级、100本书等 例如:操作系统中的进程表、FAT表(2)栈的应用: 例如:子程序调用的实现、表达式计算的实现、语法分析等(3)队列的应用: 例如:操作系统中的作业队列、打印队列、缓冲区等,数据结构,2、典型的数据结构 树(tree): n(n0)个结点的非线性结构;有且只有一个结点称为 根(root);余下结点分为m(m0)个不相交的集合,每个集合又是一 棵树,称为根的子树(subtree)。,数据结构,A,B,C,D,G,E,F,I,H,J,根,子树,2、典型的数据结构 树 树的应用:一组数据元素,互相之间地位不平等,有严格的上下级层次 关系。 例如:文件索引的B
7、+树、目录组织的树形结构网络交换机的生成树某单位的组织结构(如辽科院,之下分n多二级教学单位和职能部门,每个 二级单位/部门下又分教研室、科室等)某些棋类对弈问题,数据结构,例:人机对奕问题,2、典型的数据结构 图(graph):n个数据元素,任意两个元素之间都可能存在逻辑关系。 (1)逻辑结构:G = ( V, E )V:顶点(图结点)的有穷集合。E:边(两个顶点间的关系)的有穷集合。,数据结构,1,2,3,4,1,3,4,无向图,有向图,2,2、典型的数据结构 图 (2)图的应用:一组数据元素,互相之间地位平等,互相之间都可能 存放某种逻辑关系。 例如:网络中的路由器交通图、电路图、列车运
8、行图、地下管网棋类对弈迷宫、一笔画很多人工智能问题 ,数据结构,例:多叉路口交通灯管理问题,例:多城市间最小距离问题,例:【八皇后问题】高斯1850年提出:在88格的国际象 棋上摆放八个皇后,使其不能互相攻击,即任意两个 皇后都不能处于同一行、同一列或同一斜线上,问有 多少种摆法?这个问题可以抽象成图的问题,用图形结构和图的遍历算法来解决。,例:【华容道游戏】如何使大方块(曹操)从重围中走出 来?(除大方块可以最终移出出口外,所有块都只 能在盒内向相邻的空格移动,),这个问题可以抽象成图的问题,用图形结构和图的遍历算法来解决。,出 口,1、算法的基本概念 算法(algorithm):为求解问题
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机导论7 数据结构与算法ppt课件 计算机 导论 数据结构 算法 ppt 课件
链接地址:https://www.31ppt.com/p-1438771.html