全国计算机二级考试基础知识
全国计算机二级基础知识

全国计算机二级根底知识第1章根底知识1.1 知识点1.1.1 计算机开展阶段以计算机物理器件的变革作为标志,计算机的开展经历了四代:第一代〔1946年~1958年〕是电子管计算机。
代表机型有:ENIAC、IBM650〔小型机〕、IBM709〔大型机〕等。
第二代〔1959年~1964年〕是晶体管计算机。
代表机型有:IBM7090、IBM7094、CDC7600等。
第三代〔1965年~1970年〕是集成电路计算机。
代表机型有:IBM360系列、富士通F230系列等。
第四代〔1971年至今〕是大规模和超大规模集成电路计算机。
这个时期,计算机的类型除了小型、中型、大型机之外,开场向巨型机和微型机两个方面开展。
1.1.2 计算机系统的组成一个完整的计算机系统包括硬件系统和软件系统两个局部。
硬件系统计算机硬件是组成计算机物理设备的总称,它们由各种器件和电子线路组成,是计算机完成工作的物质根底。
计算机硬件由5个局部组成:运算器、控制器、存储器、输入设备和输出设备。
〔1〕运算器。
运算器又称算术逻辑单元〔ALU〕,它接收由存储器送来的二进制代码,并对代码进展算术和逻辑运算。
考纲要求1.计算机系统的组成和应用领域。
2.计算机软件根底知识3.计算机网络的根底知识和应用知识4.信息平安的根本概念〔2〕控制器。
控制器是用于控制计算机的各个部件,并按照从存储器取出的指令,向各部件发出操作指令,同时,它接收由各部件传来的反应信息,并对这些信息进展分析,决定下一步操作。
〔3〕存储器。
存储器是存放源数据、中间数据、程序以及最终结果的部件。
它在计算机运行过程中,一方面不停的向运算器提供数据,另一方面又保存从运算器送回的计算结果,存储器还保存程序,且不断的取出指令传送给控制器。
〔4〕输入设备。
输入设备接收用户提交给计算机的源程序、数据及各种信息,并把它们转换成为二进制代码,传送给存储器。
〔5〕输出设备。
输出设备的功能是将计算机内部的二进制信息转换为人和设备能识别的信息。
(完整word版)全国计算机二级公共基础知识--复习

全国计算机二级公共基础知识一、数据结构与算法数据结构指的是数据之间的相互关系,即数据的组织形式。
数据结构用来反映一个数据的内部构成,即一个数据由哪些成分构成、以什么方式构成、呈现什么样的结构。
数据结构有逻辑上的数据结构和物理上的数据结构之分。
逻辑上的数据结构反映数据之间的逻辑关系,而物理上的数据结构反映数据在计算机内部的存储安排.数据结构是数据存在的形式。
算法是解题的步骤,是指令的有限序列。
它们规定了解决某一特定类型问题的一系列运算,是对解题方案的准确与完整的描述。
一个问题的解决方案要以算法为基础。
1。
1 概念介绍◆算法的时间复杂度:算法的时间复杂度是指执行算法所需要的计算工作量。
算法的工作量用算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数,即算法的工作量=f(n)其中n是问题的规模.例如,两个n阶矩阵相乘所需要的基本运算(即两个实数的乘法)次数为n3,即计算工作量为n3,也就是时间复杂度为n3。
◆算法的空间复杂度:算法的空间复杂度一般是指执行这个算法所需要的内存空间。
◆数据的逻辑结构数据元素相互之间的关系,称为结构.数据的逻辑结构:是指反映数据元素之间逻辑关系的数据结构。
◆数据的存储结构数据的存储结构:是数据的逻辑结构在计算机存储空间中的存放形式。
也称数据的物理结构。
各数据元素在计算机存储空间中的位置关系与它们的逻辑关系不一定是相同的.同一种数据的逻辑结构可以根据需要表示成任意一种或几种不同的存储结构.数据的顺序存储方式:是将逻辑上相邻的结点存储在物理位置上亦相邻的存储单元里。
也就是将所有存储结点相继存入在一个连续相邻的存储区里.数据的链式存储方式:是在存储每个结点信息的同时,增加一个指针来表示结点间的逻辑关系.该方式不要求逻辑上相邻结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。
因此,链式存储结构中的每个结点都由两部分组成:一部分用于存储结点本身的信息,称为数据域;另一部分用于存储该结点的后继结点(或前驱结点)的存储单元地址,称为指针域。
全国计算机等考二级公共基础知识

全国计算机等考二级公共基础知识白羊叔计算机一、选择题(1)下面叙述正确的是() [单选题] *A.算法的执行效率与数据的存储结构无关B.算法的空间复杂度是指算法程序中指令(或语句)的条数C.算法的有穷性是指算法必须能在执行有限个步骤之后终止(正确答案)D.以上三种描述都不对(2)以下数据结构中不属于线性数据结构的是() [单选题] *A.队列B.线性表C.二叉树(正确答案)D.栈(3)在一棵二叉树上第5层的结点数最多是() [单选题] *A.8B.16(正确答案)C.32D.15(4)下面描述中,符合结构化程序设计风格的是() [单选题] *A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑(正确答案)B.模块只有一个入口,可以有多个出口C.注重提高程序的执行效率D.不使用goto语句(5)下面概念中,不属于面向对象方法的是() [单选题] *A.对象B.继承C.类D.过程调用(正确答案)(6)在结构化方法中,用数据流程图()作为描述工具的软件开发阶段是(B) * A.可行性分析B.需求分析C.详细设计D.程序编码(正确答案)(7)在软件开发中,下面任务不属于设计阶段的是() [单选题] *A.数据结构设计B.给出系统模块结构C.定义模块算法D.定义需求并建立系统模型(正确答案)(8)数据库系统的核心是() [单选题] *A.数据模型B.数据库管理系统(正确答案)C.软件工具D.数据库(9)下列叙述中正确的是() [单选题] *A.数据库是一个独立的系统,不需要操作系统的支持B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题(正确答案)D.数据库系统中,数据的物理结构必须与逻辑结构一致(10)下列模式中,能够给出数据库物理存储结构与物理存取方法的是() [单选题] *A.内模式(正确答案)B.外模式C.概念模式D.逻辑模式(11)算法的时间复杂度是指() [单选题] *A.执行算法程序所需要的时间B.算法程序的长度C.算法执行过程中所需要的基本运算次数(正确答案)D.算法程序中的指令条数(12)算法的空间复杂度是指() [单选题] *A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间(正确答案)(13)设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为()注:利用公式n=nO+n1+n2、nO=n2+1和完全二叉数的特点可求出 [单选题] *A.349B. 350(正确答案)D.351(14)结构化程序设计主要强调的是() [单选题] *A.程序的规模B.程序的易读性(正确答案)C.程序的执行效率D.程序的可移植性(15)在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是()注:即第一个阶段 [单选题] *A.概要设计B详细设计C.可行性分析D.需求分析(正确答案)(16) 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
全国计算机二级公共基础知识知识点

公共基础知识第一章数据结构与算法1.1 算法1.1.1 算法的基本概念1、算法的基本特征可行性、确定性、有穷性、拥有足够的情报所谓算法,是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。
2、算法的基本要素(1)算法中对数据的运算和操作在一般的计算机系统中,基本的运算和操作:算术运算、逻辑运算、关系运算、数据传输(2)算法的控制结构描述算法的工具:传统流程图、N-S结构化流程图、算法描述语言等一个算法一般都可以用顺序、选择、循环三种基本控制结构组合而成3、算法设计基本方法列举法、归纳法、递推(本质上也属于归纳法,递推关系式往往是归纳的结果)、递归(基础也是归纳,分为直接递归和间接递归两种)、减半递推技术、回溯法(“试”)1.1.2 算法复杂度1、算法的时间复杂度(执行算法所需要的计算工作量)算法的工作量用算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数算法的工作量=f(n),n是问题的规模两个n阶矩阵相乘所需要的基本运算(即两个实数的乘法)次数为n3,即计算工作量为n3,也就是时间复杂度为n3对于一个固定的规模,算法所执行的基本运算次数还可能与特定的输入有关——可以用两种方法来分析算法的工作量:平均性态、最坏情况复杂性2、算法的空间复杂度(执行这个算法所需要的内存空间)如果额外空间量相对于问题规模来说是常数,则称该算法是原地工作的1.2 数据结构的基本概念数据结构主要有三个方面的问题:●数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构●在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构●对各种数据结构进行的运算提高数据处理的效率,主要包括两个方面:●提高数据处理的速度●尽量节省在数据处理过程中所占用的计算机存储空间1.2.1 什么是数据结构无序表,只能用顺序查找对分查找只适用于有序表(在词典中查单词的方法类似于对分查找)数据结构是指相互有关联的数据元素的集合(向量、矩阵、图书馆中的图书卡片目录……)在数据处理领域中,通常把数据元素之间这种固有的关系简单地用前后件关系(直接前驱与直接后继关系)来描述,前后件关系所表示的实际意义随具体对象的不同而不同1、数据的逻辑结构一个数据结构应包含以下两方面的信息:●表示数据元素的信息●表示各数据元素之间的前后件关系(数据元素之间的前后件关系是指它们的逻辑关系,而与它们在计算机中的存储位置无关)一个数据结构可以表示成:B=(D,R)D为数据元素的集合,R为D中各数据元素之间的前后件关系(一般用二元组来表示)a与b是D中的两个数据,则二元组(a,b)表示a是b的前件,b是a的后件2、数据的存储结构各数据元素在计算机存储空间中的位置关系与它们的逻辑关系不一定是相同的,而且一般也不可能相同一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接、索引等存储结构1.2.2 数据结构的图形表示在数据结构中,没有前件的结点称为根结点,没有后件的结点称为终端结点(叶子结点)数据结构中除了根结点与终端结点外的其他结点一般称为内部结点在对数据结构的处理过程中,不仅数据结构中的结点(即数据元素)个数在动态地变化,而且,各数据元素之间的关系也有可能在动态地变化1.2.3 线性结构与非线性结构根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构和非线性结构如果一个非空的数据结构满足两个条件:●有且只有一个根结点●每一个结点最多有一个前件,也最多有一个后件则称该数据结构为线性结构。
计算机二级内容

计算机二级内容
计算机二级考试内容
一、计算机基础知识
1、计算机体系结构:硬件结构、软件结构、存储结构;
2、计算机硬件结构:处理器、主存储器、输入设备、输出设备、控制器等;
3、计算机操作系统:功能、特点;
4、计算机语言:汇编语言、高级语言;
5、计算机网络:网络结构、网络类型、网络安全;
6、数据库系统:系统功能、数据库类型及特点;
7、计算机安全:安全技术、安全策略、安全管理、安全框架;
8、人机交互:人机交互原理、语言交互、图形交互、多媒体交互;
9、信息安全:网络安全、数据安全及认证等;
二、软件开发知识
1、软件开发流程:需求分析、设计、实现、测试、部署及维护;
2、软件工程:软件工程理论、软件开发项目管理、软件开发质量管理;
3、软件工具:编程语言、编程环境、编译器、调试工具、项目管理工具及测试工具;
4、编程技术:基本的编程技术、面向对象的编程、算法设计、数据结构和算法分析等;
5、数据库开发:SQL语言、数据库设计、数据库编程、数据库优化等;
6、网络技术:网络组成、网络通信协议、网络编程及网络安全等;
7、Web开发:Web服务器、Web编程技术及Web相关安全技术等;
8、软件测试:测试技术、测试方法及测试工具;
三、计算机应用知识
1、办公自动化:文字处理、电子表格、演示文稿、数据库应用等;
2、图形图像处理:图形设计、图像处理;
3、数据处理:数据采集、数据处理、数据挖掘等;
4、计算机应用:教学辅助、科学计算、网络应用及多媒体应用等;
5、计算机辅助工程:计算机辅助分析、计算机辅助设计等;
6、计算机维护:软件维护、硬件维护、网络维护等。
全国计算机二级公共基础知识

全国计算机全国计算机二级公共基础知识二级公共基础知识二级公共基础知识((重点部分重点部分))第一章 数据结构基础1.1算法1.1.1 算法的基本概念算法是解题方案的准确而完整的描述算法是解题方案的准确而完整的描述,,它不等于程序它不等于程序,,也不等计算方法也不等计算方法。
算法的基本特征可行性(effectiveness) 确定性(definiteness) 有穷性(finiteness) 拥有足够的情报 算法的时间复杂度执行算法所需要的计算工作量 与下列因素有关:书写算法的程序设计语言 ,编译产生的机器语言,代码质量 机器执行指令的速度 ,问题的规模 问题的规模函数 算法的工作量=f(n)算法中基本操作重复执行的频率T(n),是问题规模n 的某个函数f(n),记作记作::T(n)=O(f(n)) 记号“O ”读作“大O ”。
表示随问题规模n 的增加,算法执行时间的增长率和f(n)相应增加。
常见算法复杂度常见算法复杂度::O(1):常数阶 O(n):作线性阶 O(n2):平方阶 O(n3):立方阶 O(logn):对数阶 O(2n):指数阶算法的空间复杂度算法执行过程中所需的最大存储空间 存储量包括以下三部分算法程序所占的空间 ,输入的初始数据所占的存储空间 ,算法执行过程中所要的额外空间1.2 数据结构的基本概念数据的逻辑结构对数据元素之间的逻辑关系的描述只抽象地反映数据元素之间的逻辑关系,与计算机中的存储无关 数据的存储结构数据的逻辑结构在计算机存储空间中的存放形式 常用的存储结构:顺序, 链式, 索引一种数据结构可根据需要采用不同的存储结构。
采用不同的存储结构,其数据处理的效率是不同 线性结构如果一个非空数据结构满足下列两个条件:有且只有一个根结点;每一个结点最多有一个前件,也最多有一个后件。
常见的线性结构有:线性表、栈与队列、线性链表非线性结构1.数据的逻辑结构2、数据的存储结构3、数据的运算:检索、排序、插入、删除、修改等。
全国计算机二级基础知识点汇总(76点含答案)

全国计算机二级基础知识点汇总1.算法丌等亍程序,也丌等亍计算方法。
程序的编制丌可能优亍算法的设计2.算法的特点:可行性、确定性、有穷性、拥有足够的情报3.算法复杂度主要包括时间复杂度和空间复杂度。
4.时间复杂度指的是需要运算的次数空间复杂度指的是运算所需要的内存空间5.数据结构包括数据的逻辑结构和数据的存储结构6.算法的执行效率不数据的存储结构有关数据的存储结构有顺序、链接、索引等。
7.数据结构中不所使用的计算机无关的是数据的逻辑结构8.数据结构应该包含的信息由:数据元素的集合 d 和数据的前后件关系 r9.数据结构中包括两种基本操作:插入运算和删除运算10.根结点:表示没有前件的结点叶子结点:表示没有后件的结点11.线性表表中的每一个数据元素,除了第一个外,有且叧有一个前件,除了最后一个外,有且叧有一个后件12.常见的线性结构有线性表、栈、队列和线性链表等。
13.常见的非线性结构有树、二叉树和图等。
14.线性表是一种存储结构,它的存储方式:顺序和链式15.栈是限定在一端进行插入不删除运算的线性表。
16.栈是按照“先进后出”或“后进先出”的原则组织数据的17.队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表18.队列是“先进先出”或“后进后出”的线性表。
19.线性链表:是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接来实现的20.每个结点由两部分组成:一部分用亍存放数据元素的值,称为数据域;另一部分用亍存放指针,称为指针域,用亍指向该结点的前一个或后一个结点(即前件或后件)21.线性链表分为单链表、双向链表和循环链表三种类型。
22.顺性表的插入运算时需要秱动元素,在等概率情况下,平均需要秱动n/2 个元素。
23.在树结构中,每一个结点叧有一个前件,称为父结点。
24.没有前件的结点叧有一个,称为树的根结点,简称树的根。
25.每一个结点可以有多个后件,称为该结点的子结点。
全国计算机二级考试基础知识

1算法的基本概念1、算法一般应具有以下几个基本特征:可行性、确定性、有穷性、拥有足够的情报。
算法是对解题方案的准确而完整的描述,是一组严谨地定义运算顺序的规则,并且每一个规则都是有效和明确的,此顺序将在有限的次数下终止。
2、算法的基本要素(1)算法中对数据的运算和操作。
通常有4类:算术运算,逻辑运算,关系运算和数据传输。
(2)算法的控制结构。
算法的功能不仅仅取决于所选择的操作,还与操作之间的执行顺序及算法的控制结构有关。
3、算法设计基本方法算法设计的基本方法有列举法、归纳法和递推法、递归法和减半递推技术.4、算法的复杂度(在算法正确的前提下,评价算法的标准)(1)算法的时间复杂度算法的时间复杂度是指执行算法所需要的计算工作量。
算法的工作量用算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数。
(2)算法的空间复杂度算法的空间复杂度,一般是指执行这个算法所需要的内存空间。
一个算法所占的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间.数据结构,直接影响算法的选择和效率。
而数据结构包括两方面,即数据的逻辑结构和数据的存储结构。
数据之间的相互关系称为逻辑结构。
通常分为4类基本逻辑结构,即集合、线性结构、树形结构和图状结构或网状结构。
存储结构图是逻辑结构在存储器中的映象,它包含数据元素的映象和关系的映象。
存储结构在计算机有两种,即顺序存储结构和链式存储结构。
时间复杂度与空间复杂度之间没有必然的联系.2数据结构基本概念1、 数据结构是指反映数据元素之间的数年据元素集合的表示.2、 所谓数据的逻辑结构,是指所映数据元素之间逻辑关系的数据结构.数据的逻辑结构有两个要素:一是数据元素的集合;二是数据元素之间的关系。
3、 各数据元素在计算机存储空间中的位置关系与它们的逻辑关系不一定是相同的.数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1算法的基本概念1、算法一般应具有以下几个基本特征:可行性、确定性、有穷性、拥有足够的情报。
算法是对解题方案的准确而完整的描述,是一组严谨地定义运算顺序的规则,并且每一个规则都是有效和明确的,此顺序将在有限的次数下终止。
2、算法的基本要素(1)算法中对数据的运算和操作。
通常有4类:算术运算,逻辑运算,关系运算和数据传输。
(2)算法的控制结构。
算法的功能不仅仅取决于所选择的操作,还与操作之间的执行顺序及算法的控制结构有关。
3、算法设计基本方法算法设计的基本方法有列举法、归纳法和递推法、递归法和减半递推技术.4、算法的复杂度(在算法正确的前提下,评价算法的标准)(1)算法的时间复杂度算法的时间复杂度是指执行算法所需要的计算工作量.算法的工作量用算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数。
(2)算法的空间复杂度算法的空间复杂度,一般是指执行这个算法所需要的内存空间。
一个算法所占的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。
数据结构,直接影响算法的选择和效率。
而数据结构包括两方面,即数据的逻辑结构和数据的存储结构。
数据之间的相互关系称为逻辑结构.通常分为4类基本逻辑结构,即集合、线性结构、树形结构和图状结构或网状结构。
存储结构图是逻辑结构在存储器中的映象,它包含数据元素的映象和关系的映象。
存储结构在计算机有两种,即顺序存储结构和链式存储结构。
时间复杂度与空间复杂度之间没有必然的联系。
2数据结构基本概念1、 数据结构是指反映数据元素之间的数年据元素集合的表示。
2、 所谓数据的逻辑结构,是指所映数据元素之间逻辑关系的数据结构。
数据的逻辑结构有两个要素:一是数据元素的集合;二是数据元素之间的关系。
3、 各数据元素在计算机存储空间中的位置关系与它们的逻辑关系不一定是相同的。
数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。
3线性表和线性链表1、 线性结构与非线性结构根据数据结构中各数据元素之间前后件关系复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。
如果一个非空的数据结构满足下列两个条件:(1) 有且只有一个根结点.(2)每一个结点最多有一个前件,也最多有一个后件。
则称该数据结构不是线性结构,则称之为非线性结构。
如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字2、 线性表的基本概念线性表是由n (n>=0)个数据元素n a a a a ,...,,,321组成的一个有限序列,表中的每一个数据元素,除了第一个外,有且只有一个前件,除了最后一个外,有且只有一个后件。
3、线性表的顺序存储结构线性表的顺序存储结构具有以下两个基本特点:线性表中所有元素所占的存储空间是连续的。
线性表中各数据元素在存储结构中,其前后件两个元素在存储空间中是紧邻的,且前件元素一定存储在后件元素的前面。
在顺序存储结构中,线性表中每一个数据元素在计算机存储空间中的存储地址由该元素在线性表中的位置序号唯一确定。
3、线性链表大的线性表,特别是元素变动频繁的大线性表不宜采用顺序存储结构,而应采用链式存储结构.在链式存储结构中,要求每个结点由两部分组成:一部分用于存放数据元素值,称为数据域;另一部分用于存放指针,称为指针域。
其中指针于指向该结点的前一个或后一个结点。
在链式存储结构称为线性链表。
一般来说,在线性表的链式存储结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。
栈和队列也是线性表,也可以采用链式存储结构。
4、线性链表的基本运算线性链表的基本运算有:在非空线性链表中寻找包含指定元素值X的前一个结点P,线性链表的插入,线性链表的删除.5、循环链表及其基本运算循环链表的结构与一般的单链表相比,具有以下两个特点:(1)在循环链表中增加了一个表头结点,其数据域为任意或者根据需要来设置,指针域指向线性表的第一个元素的结点。
循环链表的头指针指向表头结点.(2)循环链表中最后一个结点的指针域不是空,而是指向表头结点。
(3)在单链表中,增加头结点的目的是方便运算的实现。
(4)循环链表的主要优点是从表中任一结点出发都能访问到整个链表。
(5)线性表的顺序存储结构和线性表的链式存储结构分别是随机存取的存储结构、顺序存取的存储结构4栈和队列栈是限定在一端进行插入与删除的线性表.栈是按照“先进后出”或“后进先出”的原则组织数据的。
栈的运算、退栈运算、读栈顶元素。
队列是是允许在一端进行插入、而在另一端进行删除的线性表.队列又称为“先进先出”或“后进后出”的线性表,它体现了“先来先服务"的原则.所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上环状空间,供队列循环使用。
循环队列的初始状态为空,即rear=front=m。
循环队列主要有两个基本运算:入队运算和退队运算。
5树与二叉树1、树的基本概念树是一种简单的非线性结构。
树结构中,每一个结点只有一个前件,称为父结点。
在树中,没前件的结点只有一个,称为树的根结点,简称为树的根。
在树结构中,每一个结点可以有多个后件,它们都称为该结点的子结点。
没有后件的结点称为叶子结点。
在树结构中,一个结点所拥有的后件个数称为结点的度。
树结构具有明显的层次关系,树是是一种层次结构.根结点在第1层.同一层上所有结点的所有子结点在下一层。
树的最大层次称为树的深度.在树中,以某结点的一个子结点为根构成的树称为该结点的一棵子树.要树中,叶子结点没有子树.2、二叉树的特点(1)非空二叉树只有一个根结点;每一个结点最多有两个棵子树,且分别称为该结点的左子树与与右子树.(2)在二叉树中,每一个结点的度最大为2,即所有子树(左子树或右子树)也均为二叉树。
而树结构中的每一个结点的度可以是任意的.另外,二叉树中的每一个结点的子树被明显地分为左子树与右子树.在二叉树中,一个结点可以只有左子树而没有右子树,也可以只有右子树而没有左子树.当一个结点既没有左子树也没有右子树时,该结点即是叶子结点.3、二叉树的性质(1)在二叉树的第K层上,最多有2 k—1(k≥1)个结点.(2)深度为m的二叉树最多有2 m-1个结点.(3)在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个. (4)具有n个结点的二叉树,其深度至少为[log2n]+1,其中[log2n]表示取log2n 的整数部分.4、满二叉树与完全二叉树(1)满二叉树,除最后一层外,每一层上的所有结点都有两个子结点。
这就是说,在满二叉树中,每一层上的结点数都达到最大值,即在满二叉树的第k层上有2 k—1个结点,且深度为m的满二叉树有2 m-1个结点。
(2)完全二叉树。
除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。
对于完全二叉树来说,叶子结点只可能在层次最大的两层上出现;对于任何一个结点,若其右分支下的子孙结点的最大层次为p,则其左分支下的子孙结点的最大层次或为p,或为p+1. 满二叉树也是完全二叉树,而完全二叉树一般不是满二叉树。
具有n个结点的完全二叉树的深度为[log2n]+1。
5、二叉树的存储结构二叉树通常采用链式存储结构。
与线性链表类似,用于存储二叉树中各元素的存储结点也由两部分组成:数据域与指针域。
6、二叉树的遍历二叉树的遍历是指不重复地访问二叉树中的所有结点.在遍历二叉树的过程中,一般先遍历左子树,然后再遍历右子树。
在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为3种:前序遍历、中序遍历、后序遍历。
(1)前序遍历(DLR)。
所谓前序遍历是首先访问根结点,然后遍历左子树,最后遍历右子树;并且,在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。
因此,前序遍历二叉树的过程是一个递归的过程。
(2)中序遍历(LDR).所谓中序遍历是首先遍历左子树,然后访问根结点,最后遍历右子树;并且,在遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树.因此,中序遍历二叉树的过程也是一个递归的过程.(3)后序遍历(LRD).所谓后序遍历是首先遍历左子树,然后遍历右子树,最后访问根结点,并且,在遍历左、右子树时,仍然先遍历左子树,然后右子树,最后访问根结点。
因此,后序遍历二叉树的过程也是一个递归的过程。
6查找技术1、顺序查找顺序查找又称顺序搜索.顺序查找一般是指在线性表中查找指定的元素。
如果线性表中的第一个元素就是被查找的元素,则只需做一次比较就查找成功,最坏的情况是被查元素是线性表中的最后一个元素,或者被查元素在线性表中根本不存在,则为了查找这个元素需要与线性表中所有的元素进行比较。
平均情况下,利用顺序查找法在线性表中查找一个元素,大约要与线性表中一半的元素进行比较.2、二分法查找二分法查找只适用于顺序存储的有序表。
设有序线性表的长度为n,被查元素为x,则对分查找的方法为:将x与线性表的中间项进行比较,如果中间项的值等于x,则说明查到,查找结束;如果x小于中间项的值,则在线性表的前半部分以相同的方法进行查找;如果大于中间项的值,则在线性表的后半部分以相同的方法进行查找,这个过程一直进行到查找成功或子表长度为0(说明线性表中没有该元素)为止。
当有序线性表为顺序存储时才能采用二分查找,效率比顺序查找高得多。
对于长度为n的有序线性表,在最坏的情况下,二分查找只需要比较log2n次.最简单的交换排序方法是冒泡排序法。
7排序技术排序是指将一个无序序列整理成按值非递减顺序排序的有序序列。
1、交换类排序法交换类排序法是指借助数据元素之间的互相交换进行排序的一种方法。
冒泡排序法和快速排序法都属于交换类的排序方法。
(1)冒泡排序。
假设线性表的长度为n,则在最坏情况下,冒泡排序需要经过n/2遍的从前往后的扫描和n/2遍的从后往前的扫描,需要的比较次数为n(n-1)/2.(2)快速排序.快速排序法的基本思想为:从线性表中选取一个元素,设为T,将线性表后面小于T的元素移到前面,而前面大于T的元素移到后面,结果就将线性表分成了两部分,T插入到分界线的位置处,这个过程称为线性表的分隔。
如果对分割后的各子表再按上述原则进行分割,并且,这种分割过程可以一直做下去,直到所有子表为空为止,则此时的线性表就变成了有序表。
2、插入排序法所谓插入排序,是指将无序序列中的各元素依次插入到已经有序的线性表中。
(1)简单插入排序法。
在简单插入排序中,每一次比较后最多移掉一个逆序,因此,这种排序方法的效率与冒泡排序法相同。
在最坏情况下,简单插入排序需要n(n —1)/2次比较。