数据结构基础讲义.pptx
《数据结构基础讲义.pptx》由会员分享,可在线阅读,更多相关《数据结构基础讲义.pptx(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 概要2 线性表3 栈和队列4 树和二叉树 5 查找和排序主要内容第1页/共45页1.1 讨论的范畴算法+数据结构=程序设计 处理问题的策略给出问题的数学模型编制出的指令集处理问题用计算机问题问题构建数学模型构建数学模型程序实现程序实现第2页/共45页1.1 讨论的范畴例1 求小红C语言和数据结构两门语言的考试的平均成绩成绩和总成绩。全省的呢?例2 酒店管理中的客房分配问题。例3 煤气管道的铺设问题。等等 例子中的数学模型正是数据结构要讨论的问题。第3页/共45页1.2 定义 数据结构是一门讨论描述现实世界实体的数学模型及其上的操作在计算机中如何表示和实现的学科。a.在解决问题时可能遇到的典
2、型的逻辑结构(数据结构)b.逻辑结构的存储映象(存储实现)c.数据结构的相关操作及其实现。(算法)通俗点讲,数据结构研究的是数据的存储和操作。第4页/共45页1.3 三个方面 数据的逻辑结构数据的逻辑结构 数据的存储结构数据的存储结构 数据的运算:查找、排序、插入、删除、修改等数据的运算:查找、排序、插入、删除、修改等 线性结构线性结构 非线性结构非线性结构 顺序存储顺序存储 链式存储链式存储 线性表线性表栈栈队列队列树形结构树形结构图形结构图形结构第5页/共45页1.3 逻辑和物理结构逻辑结构物理结构第6页/共45页数学模型集合和关系数据和信息数据元素数据项关键码抽象数据类型1.4 相关概念
3、第7页/共45页算法是特定问题求解步骤的描述,在计算机中表现为指令的有限序列,算法是独立存在的一种解决问题的方法和思想。对于算法而言,语言并不重要,重要的是思想。数据结构和算法的关系:数据结构是专门研究数据的存储问题,而对存储后的数据进行相应的操作就是算法。1.5 算法的定义第8页/共45页1.5 算法效率的度量我们通过大O表示法来表示算法的效率:时间复杂度、空间复杂度。规则如下:(1)只关注最高次项,常数项和次要项忽略;(2)时间复杂度是指最坏时间复杂度;(3)只有常数项记做1。执行次数函数执行次数函数阶阶非正式术语非正式术语12O(1)常数阶2n+3O(n)线性阶3n2+2n+1O(n2)
4、平方阶5log2n+20O(logn)对数阶2n+3nlog2n+19O(nlogn)nlogn阶6n3+2n2+3n+4O(n3)立方阶2nO(2n)指数阶第9页/共45页1.6 时间复杂度举例线性阶:O(n)平方阶:O(n2)第10页/共45页1.6 空间复杂度举例空间复杂度:O(n)第11页/共45页2.1 线性表概念线性结构的基本特点是节点之间满足线性关系。数组、链表、栈、队列都属于线性结构。他们的共同之处,是节点中有且只有一个开始节点和终端节点。他们分别属于几种不同的抽象数据类型实现,它们之间的区别,主要就是操作的不同。线性表是零个或者多个数据元素的有限序列,数据元素之间是有顺序的,
5、数据元素个数是有限的,数据元素的类型必须相同第12页/共45页2.1 编程实战动态数组数组到底应该有多大才合适,通常不得而知。所以希望能够在运行时具有改变数组大小的能力。(基本操作:创建、销毁、插入、删除、遍历打印)单向链表 第13页/共45页2.3 编程实战经典双向链表主要操作:初始化头结点、添加、删除、获取元素、遍历第14页/共45页Q1.创建两循环单向链表并将它们合为一各链表?Q2.头指针和头节点有什么区别?头结点和其他节点有什么区别?第1天 习题第15页/共45页3.1 栈的特点栈为一种可以实现“先进后出”的存储结构,凡是对数据的处理具有“后进先出(LIFO)”的特点,都可以用栈这种数
6、据结构来操作。栈的特殊之处在于限制了这个线性表的插入和删除的位置,它始终只在栈顶进行。第16页/共45页3.2 编程实战栈的顺序存储利用一组地址连续的的存储单元依次存放自栈底到栈顶的数据元素,同时附设指针top只是栈顶元素在顺序表中的位置。栈的链式存储第17页/共45页3.4 队列的特点队列为一种可以实现“先进先出”(FIFO)的存储结构。队列是一种特殊的受限制的线性表,只允许在一端进行插入操作,而在另一端进行删除操作的线性表,队列不允许在中间部位进行操作。第18页/共45页3.5 编程实战队列的顺序存储第19页/共45页3.6 编程实战队列的链式存储第20页/共45页Q1.假设以带头结点的循
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 基础 讲义
限制150内