- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1、线性表:该结构的数据元素之间存在着一对一的逻辑关系。通常记为: (a1,a2,…,ai-1,ai,ai+1,…,an) (1)顺序表:用地址连续的一块存储空间顺序存放线性表的各元素。 (2)单链表:不用地址连续的一块存储空间顺序存放线性表的各元素,元素之间的逻辑关系由指针指向。 4.3.3 基本数据结构介绍 图 链表示意图 a1 an ∧ H … a2 线性表的基础操作:构造、插入、删除、查找 1、栈和队列:是一种操作受限的线性表。 (1)栈的操作原则:先进后出,后进先出。LIFO 栈的基本操作:入栈、出栈、判断栈是否为空和溢出。 栈示意图 a3 a2 a1 入栈 出栈 top (1)栈的操作原则:先进后出,后进先出。LIFO 栈的基本操作:入栈、出栈、判断栈是否为空和溢出。 图5.13 队列示意图 a1 a2 a3 a4 a5 入队 出队 3、树形结构:该结构的数据元素之间存在着一对多的关系。 二叉树:每个结点最多只有两个子树,且分左子树和右子树。 二叉树的应用:哈夫曼编码、二分查找树、二叉排序树、堆排序。 满二叉树 完全二叉树 非完全二叉树 二叉树的存储 顺序存储结构 用一组连续的存储单元(数组)存放二叉树中的结点。一般是按照二叉树结点从上至下、从左到右的顺序存储。 链式存储结构 用链表来表示一棵二叉树。链表中每个结点由三个域组成,除了数据域外,还有两个指针域,分别用来给出该结点的左子结点和右子结点所在的链结点的存储地址。 非完全二叉树的链式存储 4、图形结构:该结构的数据元素之间存在着多对多的关系,图形结构也称作网状结构。 图的类别:无向树、有向树、带权无向树、带树有向树。 B A D C G2 : B A D C G3 : 2 3 4 5 6 B A D C G4 : 2 3 4 5 6 图的基本运算:图的遍历(深度优先、宽度优先)、图的最小生树、最生路径、拓朴排序。 图的应用 求最短路径 网络性能分析 思考题 名词解释:机器语言、汇编语言、高级语言、程序、算法、数据、数据项、数据元素、数据对象、数据结构、线性结构、树、二叉树、图。 说明程序与算法的联系和区别。描述算法的方法有哪些? 程序设计语言有哪些类,每个类的语言有什么特点?请尽可能多列举你所知道的程序设计语言。 学习一种高级语言,应主要掌握哪些内容? 面向对象程序设计语言与面向过程程序设计语言有什么区别? 结构化程序三种基本控制结构是什么? 高级语言中,变量一般要先定义再使用,这样一种规定有什么好处? 什么是数据结构?有哪几种基本逻辑结构? 学习数据结构课程的目的是什么? 什么是线性表、栈和队列? 什么是树和二叉树?查阅文献,举例说明树或二叉树在程序设计中的作用。 图有哪几种形式?举例说明图的应用 。 程序设计语言、数据结构、算法分析与设计3门课程对于提高程序设计能力和培养程序设计思维各有什么作用? * * Desktop publishers mix text and graphics Image editors modify bitmap image files Illustrators modify vector files Image galleries are libraries of electronic images Graphic suites bundle separate programs * Desktop publishers mix text and graphics Image editors modify bitmap image files Illustrators modify vector files Image galleries are libraries of electronic images Graphic suites bundle separate programs * 计算机科学导论 */30 第4讲 程序设计基础知识 4.1 算法 了解什么是算法,算法的描述方式。 4.2 程序设计语言 ?以c语言为例,介绍高级程序设计语言的基本语法、程序结构,以及程序设计的一般方法,应用高级语言进行程序设计。 4.3 数据结构 为要解决的目标问题设计出高效的数据逻辑结构和存储结构,保证算法和程序的效率; 4.1算法与程序(教材第5章) 4.1.1算法的概念 为解决一个问题而采取得方法和步骤,称为算法。 算法就是被精确定义的一组规则,规定先做什么,再做什么,以及判断某种情况下做哪种操作;
文档评论(0)