【精品】国二公共基础知识.doc

合集下载

二级公共基础知识

二级公共基础知识

二级公共基础知识公共基础知识是指在各个领域中都需要掌握的基本知识,是构建学科体系的基础。

而二级公共基础知识则是在基础知识的基础上,进一步深化和扩展的知识内容。

下面将从几个方面介绍二级公共基础知识。

一、科学知识科学知识是指人类通过科学方法获得的关于自然界和社会现象的认识。

二级公共基础科学知识包括物理、化学、生物、地理、天文等学科的基本概念和原理。

例如,物理学中的力、能量、电磁波等概念;化学中的元素周期表、化学键等概念;生物学中的细胞、遗传等概念;地理学中的地形、气候等概念;天文学中的行星、恒星等概念。

掌握这些科学知识可以帮助我们更好地理解和解释自然界中的现象。

二、数学知识数学是一门研究数量、结构、变化以及空间等概念的学科。

二级公共基础数学知识包括代数、几何、概率统计等内容。

例如,代数中的方程、函数、不等式等概念;几何中的平面几何、立体几何等概念;概率统计中的样本、概率分布等概念。

数学是一门逻辑性强的学科,掌握数学知识可以培养我们的逻辑思维能力,提高问题解决能力。

三、文化知识文化知识是指人类在社会发展过程中创造的各种文化现象和文化遗产。

二级公共基础文化知识包括历史、文学、艺术等方面的知识。

例如,历史中的重要事件、历史人物等概念;文学中的名著、文学流派等概念;艺术中的绘画、音乐、舞蹈等概念。

掌握文化知识可以增加我们的文化素养,丰富我们的精神世界。

四、技术知识技术知识是指应用科学知识和技能解决实际问题的知识。

二级公共基础技术知识包括计算机、通信、机械等方面的知识。

例如,计算机中的操作系统、网络等概念;通信中的信号传输、网络通信等概念;机械中的机械原理、结构设计等概念。

掌握技术知识可以提高我们的实际操作能力,适应现代社会的发展需求。

五、思维方法思维方法是指在解决问题和开展工作时所采用的思考方式和方法。

二级公共基础思维方法包括逻辑思维、创造性思维、系统思维等。

逻辑思维是指按照严密的逻辑关系进行思考和推理;创造性思维是指寻找新的思路和解决方案;系统思维是指从整体和系统的角度考虑问题。

【公共基础】二级公共基础总结

【公共基础】二级公共基础总结

二级公共基础知识总结第一章数据结构与算法1.1 算法算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。

算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。

特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。

算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。

指令系统:一个计算机系统能执行的所有指令的集合。

基本运算包括:算术运算、逻辑运算、关系运算、数据传输。

算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。

算法时间复杂度是指执行算法所需要的计算工作量。

算法空间复杂度是指执行这个算法所需要的内存空间。

1.2 数据结构的基本基本概念数据结构研究的三个方面:(1(2(3)对各种数据结构进行的运算。

数据结构是指相互有关联的数据元素的集合。

数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。

数据的存储结构有顺序、链接、索引等。

线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。

非线性结构:不满足线性结构条件的数据结构。

1.3 线性表及其顺序存储结构线性的。

非空线性表的结构特征:(1)且只有一个根结点a1,它无前件;(2)有且只有一个终端结点an,它无后件;(3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。

结点个数n n=0线性表的顺序存储结构具有以下两个基本特点:(1)线性表中所有元素的所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。

ai的存储地址为:ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)为第一个元素的地址,k代表每个元素占的字节数。

二级公共基础知识重点讲义资料

二级公共基础知识重点讲义资料

二级公共基础知识总结请大家认真仔细的背诵该资料,至少要看三遍,划了横线的和 方框的都是重点!第一章 数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述。

算法不等于程序,也不等计算机方法,程序的编制 不可能优于算法的设计。

算法的特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义 性;(3)有穷性,算法必须能在有限的时间内做完,包括合理的执行时间的含义;(4)拥有足够的情报。

算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。

指令系统:一个计算机系统能执行的所有指令的集合。

基本运算包括:算术运算、逻辑运算、关系运算、数据传输。

算法的控制结构:顺序结构、选择结构、循环结构。

算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。

1.2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,(2)在对数据进行处理时,各数据元素在计算机中的(3)对各种数据结构进行的运算。

数据结构是指相互有关联的数据元素的集合。

数据的存储结构有顺序、链接、索引等。

线性结构条件:(1)有 且只有一个根结点;(2)每 一个结点最多有一个前件,也最多有一个后件。

非线性结构:不满足线性结构条件的数据结构。

1.3 线性表及其顺序存储结构线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是 线性的。

在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。

线性表的顺序存储结构具有以下两个基本特点:(1)线 性表中所有元素的所占的存储空间是连续的;(2)线 性表中各数据元素在存储空间中是按逻辑顺序依次存放的。

1.4 栈和队列栈是限定在一端进行插入与删除的线性表。

1、先进后出 FILO;1、支持子程序调用;2、具有记忆功能;3、可以不用顺序存放数据;4、只能够在 top 首部进行操作,bottom 是绝对不动的;1、Rear 指针指向队尾,front 指针指向队头。

二级公共基础知识.docx

二级公共基础知识.docx

全国计算机等级考试二级公共基础知识复习资料二级公共基础知识考试大纲一、基本要求1.掌握算法的基本概念2.掌握基本数据结构及其操作3.掌握基本排序和查找算法4.掌握逐步求精的结构化程序设计方法5.掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力6.掌握数据库的基本知识,了解关系数据库的设计二、考试要求(一)数据结构与算法1.算法的基本概念,算法复杂度的概念和意义(吋间与空间复杂度)2.数据结构的定义,数据的逻辑结构和存储结构,数据结构的图形表示,线性结构与非线性结构的概念3.线性表的定义,线性农的顺序存储结构及其插入与删除运算4.栈和队列的定义,栈和队列的顺序存储结构及其基本运算5.线性单链表、双向链表与循环链表的结构及其基本运算6.树的基本概念,二叉树的定义及其存储结构,二叉树的前序、中序和后序遍历7.顺序查找与二分法查找算法,基本排序算法(交换类排序,选择类排序,插入类排序)(二)程序设计基础1.程序设计方法与风格2.结构化程序设计3.面向对象的程序设计方法,对象,方法,属性及继承与多态性(三)软件工程基础1.软件工程基本概念,软件生命周期概念,软件工具与软件开发环境2.结构化分析方法,数据流图,数据字典,软件需求规格说明书3.结构化设计方法,总体设计与详细设计4.软件测试的方法,黑、白盒测试,测试用例设计,测试的实施,讥元测试、集成测试和系统测试5.程序的调试,静态调试与动态调试(四)数据库设计基础1.数据库的基本概念:DB,DBMS,DBS2.数据模型,实体联系模型与E-R图,从E-R图导出关系数据模型3.关系代数运算,包括集合运算、选择、投彩、连接运算,数据库规范化理论4.数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略三、考试方式1•公共基础知识的考试为笔试,所有语言都和用一张试卷,30分2.10道选择题和5道填空题,均为2分每题第1章数据结构与算法1.1算法1.1.1算法的基本概念1.算法的定义:算法计算机解题方案的准确而完整的描述,它要求定义明确、规则严谨、实施有效。

二级公共基础知识

二级公共基础知识

二级公共基础知识在当今信息爆炸的时代,知识已经成为我们生活的重要组成部分。

无论是在学校还是在工作中,我们都需要掌握一定的基础知识来应对各种问题。

其中,二级公共基础知识作为更高级别的知识体系,对于提升我们的综合素质和应对复杂问题具有不可替代的作用。

一、二级公共基础知识的定义和涵盖领域二级公共基础知识,通常是指在某一特定领域内的高级知识体系,它涵盖了该领域的核心概念、理论、方法和技能等方面的知识。

这些知识具有较高的专业性和深度,对于从事相关领域的工作和研究具有重要的作用。

二、二级公共基础知识的重要性1、提升综合素质:掌握二级公共基础知识可以帮助我们提高综合素质,更好地适应社会发展的需要。

它不仅可以丰富我们的知识储备,还可以拓展我们的视野,提高我们的思考能力和判断力。

2、增强竞争力:在日益激烈的社会竞争中,拥有扎实的二级公共基础知识可以帮助我们更好地应对各种挑战。

它可以使我们在工作中更具创造性和创新性,提高我们的竞争力。

3、解决实际问题:二级公共基础知识是解决实际问题的关键。

它可以帮助我们更好地理解和分析问题,提出切实可行的解决方案,提高我们的工作效率和质量。

三、如何学习和掌握二级公共基础知识1、制定学习计划:制定合理的学习计划可以帮助我们更好地掌握二级公共基础知识。

我们应该根据自己的实际情况和时间安排,合理分配学习时间和精力。

2、注重实践应用:实践是检验真理的唯一标准。

我们应该注重将所学的二级公共基础知识应用到实际工作中,加深对知识的理解和掌握。

3、多角度学习:学习二级公共基础知识应该多角度进行。

除了阅读相关书籍和资料外,我们还可以参加培训课程、听取专家讲座、与同行交流等方式来丰富自己的知识体系。

4、持续学习:二级公共基础知识是一个不断发展和更新的知识体系,我们应该保持持续学习的态度,不断更新自己的知识储备。

二级公共基础知识是我们提升自身素质和竞争力的重要武器。

通过学习和掌握这些知识,我们可以更好地适应社会发展的需要,解决实际问题,实现自我价值。

二级等级考试公共基础知识共104页文档

二级等级考试公共基础知识共104页文档
第9页
二、 线形结构与非线形结构、栈和对列的定义
(1)数据结构的基本概念 数据结构主要研究和讨论以下三个方面的问题:
① 数据集合中各数据元素之间所固有的逻辑关系,即 数据的逻辑结构。 ② 在对数据进行处理时,各数据元素在计算机中的存 储存储关系,即数据的存储结构。 ③ 对各种数据结构进行的运算。
第10页
√(A) 便于插入和删除操作
(B) 数据元素的物理顺序与逻辑顺序相同 (C) 花费的存储空间较顺序存储少 (D) 便于随机存取
第11页
(3)栈是一种特殊的线性表:只能在固定的一端进行 插入和删除操作,后进先出表。
(4)队列可看作是插入在一端(队尾)进行,删除在 另一端(队头)进行的线性表,先进先出表。
(5)线性单链表、双向链表与循环链表的结构及其基 本运算:在链表的运算过程中,采用链接方式即循环链 表的结构把空表与非空表的运算统一起来。
√(C) 算法的有穷性是指算法必须能在执行有限个步骤之后终止
(D) 算法的时间复杂度是指执行算法程序所需要的时间
例5:在计算机中,算法是指____。(6-1)
(A) 查询方法
(B) 加工方法
√(C) 解题方案的准确而完整的描述 (D) 排序方法
例6: 算法分析的目的是________。(8-1) (A) 找出数据结构的合理性 (B) 找出算法中输入以下数据结构属于非线性数据结构的是____。(1-2)
(A) 队列
(B) 线性表 √(C) 二叉树
(D) 栈
例:下列叙述中正确的是____。(2-2)

(A) (C)
线形表是线形结构 线形链表是非线形结构
(B) 栈与队列是非线形结构 (D) 二叉树是线形结构
例:下列关于栈的叙述中正确的是____。(3-2)

计算机国二office公共基础知识(完整资料).doc

计算机国二office公共基础知识(完整资料).doc

在另一端进行删除
front:队头 出队
Rear:队尾 入队
四、树与二叉树(非线性结构)
1、树
节点:树中的每一个点叫做节点,分为根节点(0 或 1 个)、父节点、
子节点
度:一个结点拥有的子树数称为该结点的度。一棵树的度是指该树
中结点的最大度数。度为 1 的点节叫做 n1,度为 2 的节点叫做 n2 树
五、排序
冒泡排序:是最简单的一种交换类排序法。在最坏的情况下,对长
度为 n 的线性表排序,冒泡排序需要比较的次数为 n(n-1)/2,其时间
复杂度为 O(n2)
直接选择排序:最坏情况要比较的次数为 O(n2) ,其时间复杂度为
O(n2)
直接插入排序:最坏的情况下,时间复杂度为 O(n2)
快速排序:平均时间为 O(nlog2n),最坏情况下,时间效率为 O(n2)
储、链式存储
C
栈的计算:求栈中元素的个数:栈底元素—栈顶元
B

A
栈是限定在一端进行插入与删除的线性表,允许插 栈底 bottom
入元素的一端为栈顶,允许删除元素的一端为栈底,
栈顶元素总是最后被插入的元素,也是最先被删除
的元素;栈底元素则总是最先被插入而最后被删除
的元素
三、队列
队列也是一种运算受限的线性表,是一种“先
此文档下载后即可编辑 第 1 章 数据结构与算法(10-12 分)
考点: 1. 算法(****) 2. 数据结构(***) 3. 线性表及其顺序存储结构(**) 4. 栈和队列(*****) 5. 线性链表(**) 6. 树与二叉树(*****) 7. 查找技术(****) 8. 排序技术(***)
一、数据结构与算法 1、概念

【精品】国二公共基础知识.doc

【精品】国二公共基础知识.doc

【精品】国二公共基础知识.doc国二公共基础知识第一章数据结构与算法算法1.算法的基木特征:可行性、确定性、有穷性、拥有足够的情报。

2.算法的基本要素:(1)算法屮对数据的运算和操作,包括:算术、逻辑、关系运算以及数据传输。

(2)算法的控制结构,一般部可由顺序、选择、循坏(重复)三种控制结构纟H?合而成。

3.算法的设计基方法:列举法、归纳法、递推、递归、减半递推、冋溯法。

4.算法的时间复杂度:是指算法所需要的计算工作量,由基木运算次数来度量。

5算法的空间复杂度:指执行算法所需要的内存空间。

包括,算法程序所占空间、输入初始数据所占的存储空间、算法执行过程屮所需要的额外空间。

1.2数据结构的基本概念1.数据结构主要研究以下三个方面:(1)逻辑结构:数据集合屮各数据元素Z间所固有的逻辑关系。

(2)存储结构:在对数据讲行处理时,备数据元素在计算机屮的存储关系。

(3)对各种数据结构进行的运算。

2.数据处理:指对数据集合屮各元索以各种方式进行运算,包括插入、删除、查找、更改、以及对数据元素进行分析。

3.数据结构:是指带有结构的数据元素的集合,它包含以下两方血信息:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。

4.数据逻辑结构:B= (D, R) B:数据结构D:数据元素集合R:备数据元素Z间的前后件关系5.数据存储结构:数据的逻辑结构在计算机存储空间屮的存放形式,也叫物理结构。

常用的存储结构有顺序、链接、索引。

&线性结构:若非空数据结构满足:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。

则称线性结构,也叫线性表。

1.3线性表及其顺序存储结构1.线性表是由一纟R元素纟R成,可是以是矩阵。

2.线性表的顺序存储结构有两个基木特点:(1)线性表屮所有元素所占的存储空间是连续的;(2)线性表屮各数据元素在存储空间屮是按逻辑顺序依次存放的。

3.线性表屮笫i个元素在计算机存储空间屮的存储地址为:ADR (ai)=ADR(al)+(i-l)k4.在程序设计语言屮,通常定义一个一维数纟R来表示线性表的顺序存储空间。

国二公共基础知识

国二公共基础知识

第1章数据结构与算法经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是算法复杂度、数据结构的概念、栈、二叉树的遍历、二分法查找,读者应对此部分进行重点学习。

详细重点学习知识点:1.算法的概念、算法时间复杂度及空间复杂度的概念2.数据结构的定义、数据逻辑结构及物理结构的定义3.栈的定义及其运算、线性链表的存储方式4.树与二叉树的概念、二叉树的基本性质、完全二叉树的概念、二叉树的遍历5.二分查找法6.冒泡排序法1.1算法考点1 算法的基本概念考试链接:考点1在笔试考试中考核的几率为30%,主要是以填空题的形式出现,分值为2分,此考点为识记内容,读者还应该了解算法中对数据的基本运算。

计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法。

1.算法的基本特征:可行性、确定性、有穷性、拥有足够的情报。

2.算法的基本要素:(1)算法中对数据的运算和操作一个算法由两种基本要素组成:一是对数据对象的运算和操作;二是算法的控制结构。

在一般的计算机系统中,基本的运算和操作有以下4类:算术运算、逻辑运算、关系运算和数据传输。

(2)算法的控制结构:算法中各操作之间的执行顺序称为算法的控制结构。

描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等。

一个算法一般都可以用顺序、选择、循环3种基本控制结构组合而成。

考点2 算法复杂度考试链接:考点2在笔试考试中,是一个经常考查的内容,在笔试考试中出现的几率为70%,主要是以选择的形式出现,分值为2分,此考点为重点识记内容,读者还应该识记算法时间复杂度及空间复杂度的概念。

1.算法的时间复杂度算法的时间复杂度是指执行算法所需要的计算工作量。

同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行,效率均不同。

这表明使用绝对的时间单位衡量算法的效率是不合适的。

撇开这些与计算机硬件、软件有关的因素,可以认为一个特定算法"运行工作量"的大小,只依赖于问题的规模(通常用整数n表示),它是问题规模的函数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

国二公共基础知识第一章数据结构与算法算法1.算法的基木特征:可行性、确定性、有穷性、拥有足够的情报。

2.算法的基本要素:(1)算法屮对数据的运算和操作,包括:算术、逻辑、关系运算以及数据传输。

(2)算法的控制结构,一般部可由顺序、选择、循坏(重复)三种控制结构纟H•合而成。

3.算法的设计基方法:列举法、归纳法、递推、递归、减半递推、冋溯法。

4.算法的时间复杂度:是指算法所需要的计算工作量,由基木运算次数来度量。

5算法的空间复杂度:指执行算法所需要的内存空间。

包括,算法程序所占空间、输入初始数据所占的存储空间、算法执行过程屮所需要的额外空间。

1.2数据结构的基本概念1.数据结构主要研究以下三个方面:(1)逻辑结构:数据集合屮各数据元素Z间所固有的逻辑关系。

(2)存储结构:在对数据讲行处理时,备数据元素在计算机屮的存储关系。

(3)对各种数据结构进行的运算。

2.数据处理:指对数据集合屮各元索以各种方式进行运算,包括插入、删除、查找、更改、以及对数据元素进行分析。

3.数据结构:是指带有结构的数据元素的集合,它包含以下两方血信息:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。

4.数据逻辑结构:B= (D, R) B:数据结构D:数据元素集合R:备数据元素Z间的前后件关系5.数据存储结构:数据的逻辑结构在计算机存储空间屮的存放形式,也叫物理结构。

常用的存储结构有顺序、链接、索引。

&线性结构:若非空数据结构满足:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。

则称线性结构,也叫线性表。

1.3线性表及其顺序存储结构1.线性表是由一纟R元素纟R成,可是以是矩阵。

2.线性表的顺序存储结构有两个基木特点:(1)线性表屮所有元素所占的存储空间是连续的;(2)线性表屮各数据元素在存储空间屮是按逻辑顺序依次存放的。

3.线性表屮笫i个元素在计算机存储空间屮的存储地址为:ADR(ai)=ADR(al)+(i-l)k4.在程序设计语言屮,通常定义一个一维数纟R来表示线性表的顺序存储空间。

5.对线性表的各种处理:插入、删除、查找、排序、分解、合并、复制、逆转等。

6.插入:从最后一个元素开始向后移动,直到第i个元素。

7.删除:从第i+1个元素开始向后移动,直到第n个元素。

1・4栈和队列1.栈:是限定在一端进行插入与删除的线性表,先进后出或后进先出。

2.栈顶:允许插入的一端,用top表示;栈底:允许删除的另一端,用bottom来表示。

3.用一维数组S (1: m)作为栈的顺序存储空间,其屮m为栈的最大容量。

4.Top=0表示栈空;top=m表示栈满。

5.栈的基木运算有三种:(1)入栈运算:在栈顶位置插入一个新元素(2)退栈运算:取出栈顶元素并赋给一个指定的变量(3)读栈顶元素:指将栈顶元素赋给一个指定的变量1・2队列:指允许在一端进行插入、而在另一端进行删除的线性表,先进先出或后进后出。

1•队尾:允许插入的一端,用尾指针(rear)来指向队尾元素2.排头:允许删除的一端,用排头指针(front)指向排头元索3•入队运算:在队尾插入一个元素,只涉及尾指针(rear)的变化4.退队运算:在排头删除一个元素,只涉及排头指针(front)的变化5.循环队列:将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列环状使用。

&循环队列的初始状态为空,即rear=front=m3每进行一次入队运算,队尾指针就进一。

当队尾指针rear=m+l时,则置rear=lo 第进行一次退队运算,排头指针就进一。

当排头指针front=m+l时,则置front"。

7.当队列满和空时,都有front=rear用30表示队列空,用SJ表示队列非空(1)队列空的条件为S=0;(2)队列满的条件为S=1 front二rear。

1.5线性链表的基本概念1.链式存储方式,要求毎个结点由两部分纟R成:(1)用于存放数据元素值,称数据域;(2)用于存放指针,称指针域。

2•线性链表:线性表的链式存储结构。

最后一个结点指针域为空(NULL或0 ),表链表终II,3.线性单链表只能找到后件结点,不能找到前件结点。

4.线性双链表:(1)左指针,用以指向前件结点;(2)右指针,有以指向向件结点。

5.带链的栈:采用链式存储结构的栈,称为可利用栈。

6.循环链表有以下两个特点:(1)在循环链表屮增加了一个表头结点,其数据域为任意或根据需要来设置,指针域指向线性链表的第一个元素的结点。

循环链表的头指针指向表头结点。

(2)循坏链表屮最后一个结点的指针域不是空,而是指向表头结点。

7.在循环链表屮,只要指出表屮任何一个结点的位置,就可以从它出发访问到表屮其他所有的结占,面线性单链表做不到这一点。

1.6树与二叉树1.树:树是一种简单的非线性结构。

2.具有层次关系的数据都可以用树这种数据结构來描述。

3.在树结构屮,每一个结点都只有一个前件,称为父结点;没有前件的结点只有一个,称为根结点,简称树的根。

4.第一个结点可以有多个后件,它们祁称为该结点的子结点;没行后件的结点称为叶子结点5.度:一个结点拥有的后件个数称该结点的度。

在树屮,所有结点屮的最大的度称为树的度6.深度:树的最大层次称为树的深度。

7 •二叉树的性质:(1)在二叉树的第k层上,最多有个结点。

(2)深度为m的二叉树最多有个结点。

(3)任意一棵二叉树屮,度为0的结点(树子结点)总比度为2的结点多一个。

(4)具有n个结点的二叉树,其深度至少为[log2n]+l,其屮[]表示取整。

完全二叉树有以下两个性质:(5)具有n个结点的完全二叉树的深度为[log2n]+lo(6)设完全二叉树有n结点。

如果从根结点开始,按层序(每一层从左到右)用自然数字1,2, 3,……,n给结点进行编号,则对于编号为k的结点有以下结论:a.若kJ,则该结点为根结点;若k>l,则该结点的父结点的编号为int(k/2)ob.若2k<=n,则编号为k的结点的左了结点编号为2k;否则该结点无左了结点(和右了结点)c.若2k+l<=n,则编号为k的结点的右子结点编号为2k+l,否则该结点无右子结点。

8•二叉树通常采用链式存储结构,也由两部分组成:数据域和指针域(左指针域、右指针域)9.二叉树的链式存储结构称为二叉链表,盯称为二叉链表的头指针。

1.6二叉树的遍历(递归过程)1•前序遍历:(1)访问根结点;(2)前序遍历左了树;(3)前序遍历右了树。

2.中序遍历:(1)中序遍历左子树;(2)访问根结点;(3)中序遍历右子树。

3.后序遍历:(1)后序遍历左了树:(2)后序遍历右了树:(3)访问根结点。

注:这里的前序、屮序、示序是指根结点的访问次序,左了树始终比右了树先访问。

1.7査找技术1.顺序查找:无序表、链式存储的有序表只能用顺序法查找。

最多要查找n次。

2.二分杳找:只适用于顺序存储的有序表。

最多要杳找log2n o1.8排序技术1.交换类排序法:(1)冒泡排序法(下沉排序法),最多n(n-l)/2次。

(2)快速排序法2.插入类排序法:(1)简单插入排序法,最多n(n-l)/2次。

(2)希杀排序法,最多0 ()3.选择类排序法(1)简单选择类排序法,最多n(n-l)/2次(2)堆排序法,最多0 (nlog2n)次。

第二章程序设计基础2.1程序设计方法与风格1.稈序编写风格:是指编写稈序时所表现出的特点、习惯和逻辑思路,2.要形成良好的稈序设计风格,应注重和考虑以下因素:(1)源程序文档化:符号名的命名、程序注释(序言性注释和功能性注释)、视觉组织。

(2)数据说明的方法:(1)数据说明的次序规范化(2)说明语句中变量安排有序化(3)使用注释来说明复杂数据的结构(3)语句结构(4)输入和输出2.2结构化程序设计(20世纪70年代提出)1.结构化程序设计的原则:白顶向下、逐步求精、模块化、限制使用got。

语言。

2.程序设计的三种基本结构:(1)顺序结构:按照程序语句,一条语旬一条语句地执行程序。

(2)选择结构:又称分支结构,包括简单选择和多分支选择结构。

(3)重复结构:又称循环结构。

3.结构化程序设计的优点:(1)程序易于理解、使用和维护;(2)提高了编程工作的效率了软件开发的成木。

4.结构化程序设计原则和方法的应用(1)使用稈序设计语言屮顺序、选择、循环等有限的控制结构表示稈序的控制逻辑; (2)使用的控制结构只准许有一个入口和一个出口;(3)程序语句纽•成容易识别的块,每块只有一个入口和一个出口;(4)复杂结构应该用嵌套的基木控制结构进行组合嵌套来实现;(5)语言屮所没有的控制结构,应该采用前后一致的方法来模拟;(6)严格限制goto语言的使用。

2.2.3面向对象的稈序设计1.面向对象方法的优点:(1)与人类的习惯思维方法一致(2)稳定性好(3)可重用性好(4)易于开发大型软件产品(5)可维护性好2.对彖:对彖是可以用来表示客观世界屮的任何实体,也就是说,应用领域屮有意义的、与所要解决问题有关的任何事物都可以作为对象。

3.对象的操作称为方法或服务4.属性:对象所包含的信息。

属性值应该是指纯粹的数据值,还不能指对象。

5.对彖的基木特点:(1)标识唯一性:指对彖是可区分的,且由对彖的内在木质区分,不是通过描述来区分。

(2)分类性:指可以将具有相同属性和操作的对象抽象成类。

(3)多态性:指同样的消息被不同的对象接受时可导致完全不同的行为。

(4)封装性:从外面只能看到对象的外部特性。

(5)模块独立性好:对象内部各种元素结合得很紧密,同聚性强。

6.类:将属性和操作相似的对彖归为类。

类是对彖的抽彖,而一个对彖是对应类的一个实例。

类是关于对象性质的描述,它同对象一样,包括一组数据性性和在数据上的一组合法的操作。

7.消息:一个实例与另一个实例Z间传递的信息,它由以下三部分组成:(1)接收消息的对象的名称;(2)消息标识符(也称为消息名)(3)零个或多个参数如:Mycircle.Show(GREEN)Mycircle是接收消息的对象的名字,Show消息名,Green是消息参数。

8.继承:是指能够直接获得己有的性质和特征,不必重复定义它们。

多继承可有多个父类。

第三章软件工程基础3.1软件工稈基木概念1•计算机软件:是计算机系统中与硬件相互依存的另一部分,是包括程序、的完整集合。

2.软件的特点:(1)软件是一种逻辑实体,而不是物理实体,具有抽彖性。

(2)软件的生产与硬件不同,它没有明显的制作过程。

(3)软件在运行、使用期间不存在磨损、老化问题。

(4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,有软件移植问题。

(5)软件复杂性高,成木昂贵。

相关文档
最新文档