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