部分公共基础知识.ppt
《部分公共基础知识.ppt》由会员分享,可在线阅读,更多相关《部分公共基础知识.ppt(33页珍藏版)》请在三一办公上搜索。
1、第一部分 公共基础知识(30分:10道选择题+5道填空题),数据结构与算法数据结构:讨论数据的逻辑结构和存储结构算法:对特定问题求解步骤的一种描述,算法复杂度的概念和意义。程序设计基础结构化程序设计面向对象程序设计方法软件工程基础用科学知识和技术原理来定义、开发、维护软件。数据库设计基础研究数据库的结构、存储、设计、管理和使用的一门软件学科。,一、数据结构含义相互之间存在一种或多种特定关系的数据元素的集合。,数据结构与算法,逻辑结构,集合,线性,树,图,数据的存储结构(物理结构)是指_A)存储在外存中的数据 B)数据所占的存储空间量C)数据在计算机中的顺序存储方式 D数据的逻辑结构在计算机中的
2、表示,D,二、线性结构1、线性表,数据元素:记录,a1,a2,an,空闲,内存状态,顺序存储,a1,a2,an,链式存储,俗称单链表,也可形成循环单链表,双链表,循环双链表。,指针,二、线性结构2、栈和队列,进栈,出栈,栈顶,栈底,a1 a2 a3 an,队头,队尾,入队列,出队列,各自的特点是?,eg:下列数据结构中,能够按照“先进后出”原则存取数据的是_ A)循环队列 B)栈 C)队列 D)二叉树,B,三、非线性结构1、树和二叉树,2、二叉树的性质(1)在二叉树的第i层上至多有 结点。(i1)(2)深度为k的二叉树至多有 结点。(k 1)(3)一棵深度为k且有2k-1结点的二叉树称为满二叉
3、树。(4)深度为k,有n个节点的二叉树,当且仅当其每个节点都与深度为k的满二叉树中编号从1至n的节点一一对应时,称之为完全二叉树。,第i层:1 2 4 8 依次推断,2i-1,深i层:1 3 7 15 依次推断,2i-1,2i-1,2i-1,满二叉树 完全二叉树 非完全二叉树,1,2,3,4,5,6,1,2,3,4,(5)具有n个节点的完全二叉树的深度为log2n+1(6)树的度为所有结点中最大的度(7)任何一棵二叉树如叶子结点数为n1,度为2的结点数n2,则n1=n2+13、遍历二叉树(按某种搜索路径巡访树中各节点)-图1(1)先序遍历(根结点 左子树 右子树)(2)中序遍历(左子树 根结点
4、 右子树)(3)后序遍历(左结点 右子树 根结点)先序:1 2 4 5 3 6 中序:4 2 5 1 6 3后序:4 5 2 6 3 1,图1,根结点,叶子结点,DBXEAYFZC,A,B,C,D,E,F,Z,X,Y,对二叉树进行中序遍历的结果?,对二叉树进行后序遍历的结果?,DXEBYZFCA,eg1:下列叙述中正确的是_A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构,B,eg:一个栈初始状态为空,首先将5,4,3,2,1依次入栈,然后退栈一次,再将元素A,B,C,D依次如栈,之后将所有元素退栈,则
5、所有元素退栈(包括中间退栈的元素)的顺序为_eg:设某循环队列的容量为50,如果头指针front=45(指向队头元素的前一位置),尾指针rear=10(指向队尾元素),则该循环队列中共有_个元素。eg:某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)_A)3 B)4 C)6 D)7eg:一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为 _。eg:下列数据结构中,属于非线性结构的是_ A)循环队列 B)带链队列 C)二叉树 D)带链栈 eg:某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树中共有 _个结点。eg:在
6、深度为7的满二又树中,度为2的结点个数为_,1,D,C,B,A,2,3,4,5,15,D,DEBFCA,C,14,63,1、算法特征 可行性、确定性、有穷性、拥有足够情报2、算法基本运算 算术运算、逻辑运算、关系运算、数据传输3、算法基本控制结构 顺序、选择、循环结构4、算法基本设计方法 列举法、归纳法、递推、回溯等5、算法度量时间复杂度:执行算法所需要的计算工作量空间复杂度:算法在执行过程中所需的计算机存储空间,算法,eg:算法的时间复杂度是指_A)算法的执行时间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的基本运算次数,D,查找(在一个给定的数据结构中查找
7、某个指定的元素)21,46,24,57,99,77,86,查找99顺序查找:从表中第一个记录开始,逐个进行记录关键字和给定值的比较。(适用条件)二分查找:先确定待查记录所在的区间,然后逐步缩小范围直到找到或找不到为止。(适用条件),查找,-线性表为无序表,无论是顺序还是链式存储结构,只能用顺序查找-即使是有序线性表,如果采用链式存储结构,也只能顺序查找,-线性表为有序且顺序存储,log2n,eg:对于长度为n的有序线性表,在最坏情况下,二分查找需比较_次。,Eg:R(45),R(67),R(54),R(98),R(12),R(35),R(45),R(54),R(67),R(45),R(54),
8、R(67),R(98),R(12),R(45),R(54),R(67),R(98),R(12),R(35),R(45),R(54),R(67),R(98),直接插入排序(将一个记录插入到已排好序的有序表中),内部排序,排序(将记录的任意序列,重新排列成按关键字有序的序列)(1)内部排序-内存中的记录排序,Eg:R(30),R(67),R(54),R(98),R(12),R(35),R(54),R(67),交换排序(起泡排序),内部排序,R(12),R(98),R(35),R(98),R(30),R(54),R(67),R(12),R(35),R(98),一趟交换,二趟交换,R(30),R(54
9、),R(12),R(35),R(67),R(98),三趟交换,R(30),R(12),R(35),R(54),R(67),R(98),四趟交换,R(12),R(30),R(35),R(54),R(67),R(98),两两对比,将大数往后移,每一趟将最大的数往下沉,需要比较n-2趟。,Eg:R(30),R(67),R(54),R(98),R(12),R(35),选择排序(每一趟),内部排序,R(12),R(67),R(54),R(98),R(30),R(35),四趟选择,二趟选择,R(12),R(30),R(54),R(98),R(67),R(35),三趟选择,R(12),R(30),R(35)
10、,R(98),R(67),R(54),一趟选择,R(12),R(30),R(35),R(54),R(67),R(98),每i趟在i至n的范围中选出最小的记录,作为有序序列中第i个记录。,eg1:下列叙述中,正确的是()A)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)eg2:下列排序方法中,最坏情况下比较次数最少的是()A)冒泡排序 B)简单选择排序 C
11、)直接插入排序 D)堆排序,A,D,n(n-1)/2,nlog2n,堆排序希尔排序(冒泡排序、简单选择排序、直接插入排序),一、程序设计方法1、结构化程序设计方法:程序=算法+数据结构,围绕信息流。2、面向对象程序设计方法:软件系统是一系列离散对象的集合。二、结构化方法1、特点模块化:待开发系统由功能模块构成自顶向下,逐步求精有顺序、选择和循环三种基本结构形式2、结构化模块设计原则高内聚(模块内各元素联系紧密)低耦合(模块间联系弱),程序设计基础,三、面向对象方法1、对象:对应用具有明确边界或意义的事物。如:一辆自行车,一台彩电,一种思想,一种调度策略。标识唯一性、分类性、多态性、封装性、模块
12、独立性2、类:具有相似属性和相同行为(方法)模式的一组对象。类可以有子类,也可以有父类。对象是类的具体化,类是对象的抽象;继承性:子类继承父类的属性和操作。多态性:同一操作可以由多个不同类的行为或方法来具体实现。,程序设计基础,(人)王成都28,(人)田谋才28,换工作换住址,eg:软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于()A)定义阶段 B)开发阶段 C)维护阶段 D)上述三个阶段eg:面向对象方法中,继承是指()A)一组对象所具有的相似性质 B)一个对象具有另一个对象的性质C)各对象之间的共同性质 D)类之间共享属性和操作的机制eg:结构化程序所要求的基本结构不包括()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 部分 公共 基础知识

链接地址:https://www.31ppt.com/p-6611951.html