全国计算机等级考试公共基础知识总结及历年真题及答案
全国计算机等级考试真题及答案

全国计算机等级考试真题及答案全国计算机等级考试(National Computer Rank Examination,简称NCRE)是由中国国家教育部主管,由中国软件评测中心承办的计算机基础知识和应用技能考试。
该考试覆盖了计算机科学与技术领域的各个方面,是评价个人计算机能力水平的重要标准之一。
下面将为大家介绍一些NCRE的真题及答案。
1.单选题:1) 题目:在Excel中,用于搜索某个值并返回该值所在地址的函数是()。
A. VLOOKUPB. HLOOKUPC. MATCHD. INDEX答案:A. VLOOKUP解析:VLOOKUP函数是Excel中用于垂直搜索的函数,根据指定的值在指定的范围内进行搜索,并返回该值所在的地址。
2) 题目:Java中,用于创建对象的关键字是()。
A. newB. createC. objectD. instance答案:A. new解析:在Java中,使用关键字new来创建对象,通过调用类的构造方法来完成对象的创建和初始化。
2.多选题:1) 题目:C语言中,下列关键字用于定义函数返回类型的是()。
A. voidB. intC. mainD. double答案:A. void,B. int,D. double解析:在C语言中,void表示函数不返回任何值,int表示函数返回一个整数,double表示函数返回一个双精度浮点数。
2) 题目:下列属于HTML常用标签的是()。
A. <div>B. <function>C. <body>D. <script>答案:A. <div>,C. <body>,D. <script>解析:HTML中,<div>用于定义文档中的一个部分,<body>用于定义文档的主体部分,<script>用于插入或引用JavaScript代码。
计算机二级公共基础知识题库及答案分析

计算机二级公共基础知识题库及答案分析在计算机技术发展日新月异的今天,计算机二级公共基础知识已经成为了一项非常重要的考试内容。
为了帮助考生更好地备考和理解知识点,本文将介绍一份计算机二级公共基础知识题库,并提供详细的答案分析。
一、计算机基础知识1. 计算机硬件是由哪些基本组成部分构成的?答案:计算机硬件由中央处理器(CPU)、内存、硬盘、显示器、键盘、鼠标等多个基本组成部分构成。
分析:计算机硬件是计算机系统中的物理部分,包括了处理器、存储器、输入设备、输出设备等。
在答题时要注意列举全面,确保不遗漏任何一个部分。
2. 什么是二进制?答案:二进制是一种以2为基数的数字系统,只包含0和1两个数字。
分析:二进制是计算机中最基本的数字系统,计算机内部所有的数据都是以二进制形式进行存储和运算的。
这是非常重要的基础知识点,要描述清楚二进制的特点。
二、操作系统1. 操作系统的主要功能是什么?答案:操作系统的主要功能包括文件管理、内存管理、进程管理和设备管理。
分析:操作系统是计算机系统的核心软件,它负责管理和控制计算机的各种资源,确保计算机能够正常高效地运行。
理解操作系统的主要功能对于理解计算机系统的工作原理非常重要。
2. 什么是多任务操作系统?答案:多任务操作系统是指能够同时处理多个任务的操作系统。
分析:多任务操作系统允许多个程序同时运行,通过时间片轮转或优先级调度等方式来管理多个任务的执行。
理解多任务操作系统的概念对于理解操作系统的运行机制和任务调度算法非常重要。
三、网络基础知识1. 什么是IP地址?答案:IP地址是用来标识互联网上的计算机或者网络设备的一串数字。
分析:IP地址是互联网中计算机或者网络设备的唯一标识,它由一串数字组成,分为IPv4和IPv6两种格式。
理解IP地址的概念和格式对于网络通信的理解和配置非常重要。
2. TCP/IP协议栈包括哪几个层次?答案:TCP/IP协议栈包括物理层、数据链路层、网络层、传输层和应用层。
计算机等级考试试题及答案

计算机等级考试试题及答案一、选择题(每题2分,共20分)1. 在计算机系统中,CPU指的是什么?A. 中央处理器B. 存储器C. 输入设备D. 输出设备答案:A2. 下列哪个选项是网络协议?A. USBB. TCP/IPC. HDMID. VGA答案:B3. 在Windows操作系统中,用于查看计算机硬件信息的命令是?A. ipconfigB. tasklistC. systeminfoD. netstat答案:C4. 下列哪个软件不是操作系统?A. Windows 10C. LinuxD. Microsoft Office答案:D5. 数据库管理系统(DBMS)的主要功能不包括以下哪项?A. 数据存储B. 数据加密C. 数据访问D. 数据备份答案:B6. 在HTML中,用于创建无序列表的标签是?A. <ul>B. <ol>C. <li>D. <dl>答案:A7. 下列哪个算法是排序算法?A. 快速排序B. 深度优先搜索C. 广度优先搜索D. 动态规划答案:A8. 在C语言中,用于声明一个结构体的关键字是?B. unionC. enumD. typedef答案:A9. 下列哪个是面向对象编程(OOP)的主要概念?A. 过程B. 函数C. 类和对象D. 变量答案:C10. 在关系数据库中,用于执行查询的语句是?A. INSERTB. UPDATEC. SELECTD. DELETE答案:C二、填空题(每题3分,共15分)11. 在计算机科学中,URL代表________。
答案:统一资源定位器12. 数据加密的目的是________和________。
答案:保护数据完整性;防止未授权访问13. 在Java中,用于实现异常处理的关键字是________。
答案:try, catch, finally14. 在计算机网络中,DNS指的是________。
答案:域名系统15. 数据结构中的栈(Stack)是一种遵循________原则的数据集合。
计算机二级公共基础知识题及答案

计算机⼆级考试是全国计算机等级考试(National Computer Rank Examination,简称NCRE)四个等级中的⼀个等级,考核计算机基础知识和使⽤⼀种⾼级计算机语⾔编写程序以及上机调试的基本技能。
那么计算机⼆级公共基础知识会怎么考?以下仅供参考! 1.如果在⼀个⾮零⽆符号⼆进制整数之后添加⼀个0,则此数的值为原数的()。
答案:B A)4倍 B)2倍 C)1/2 D)1/4 2.已知"装"字的拼⾳输⼊码是"zhuang",⽽"⼤"字的拼⾳输⼊码是"da",则存储它们内码分别需要的字节个数是()。
答案:C A)6,2 B)3,1 C)2,2 D)3,2 3.微机中,西⽂字符所采⽤的编码是()。
答案:B A)EBCDIC码 B)ASCII码 C)国标码 D)BCD码 4.根据汉字国标码GB2312-80的规定,将汉字分为常⽤汉字(⼀级)和⾮常⽤汉字(⼆级)两级汉字。
⼀级常⽤汉字的排列是按()。
答案:B A)偏旁部⾸ B)汉语拼⾳字母 C)笔划多少 D)使⽤频率多少 5.存储⼀个48×48点阵的汉字字形码需要的字节个数是()。
答案:B A)384 B)288 C)256 D)144 6.⽆符号⼆进制整数10000001转换成⼗进制数是()。
答案:D A)119 B)121 C)127 D)129 7.根据汉字国标码GB2312-80的规定,⼀级常⽤汉字数是()。
答案:C A)3477个 B)3575个 C)3755个 D)7445个 8.在标准ASCII码表中,已知英⽂字母D的ASCII码是01000100,英⽂字母B的ASCII码是()。
答案:B A)01000001 B)01000010 C)01000011 D)01000000 9.标准ASCII码字符集有128个不同的字符代码,它所使⽤的⼆进制位数是()。
计算机等级考试公共基础知识365题题库及答案

计算机等级考试公共基础知识365题题库及答案(1)下面叙述正确的是______。
(C)A. 算法的执行效率与数据的存储结构无关B. 算法的空间复杂度是指算法程序中指令(或语句)的条数(指的是算法所占用的空间) (错误,单指条数)C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止D. 以上三种描述都不对(2) 以下数据结构中不属于线性数据结构的是______。
(C)A. 队列B. 线性表C. 二叉树D. 栈(3) 在一棵二叉树上第5层的结点数最多是______。
(B)2^n-1A. 8B. 16C. 32D. 15(4) 下面描述中,符合结构化程序设计风格的是______。
(A)A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B. 模块只有一个入口,可以有多个出口(可以有0个入口)C. 注重提高程序的执行效率D. 不使用goto语句(只是限制使用)(5) 下面概念中,不属于面向对象方法的是______。
(D)A. 对象B. 继承C. 类D. 过程调用(6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______。
(B)A. 可行性分析B. 需求分析C. 详细设计D. 程序编码(7) 在软件开发中,下面任务不属于设计阶段的是______。
(D)A. 数据结构设计B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型(8) 数据库系统的核心是______。
(B)A. 数据模型B. 数据库管理系统C. 软件工具D. 数据库(9) 下列叙述中正确的是______。
(C)A. 数据库是一个独立的系统,不需要操作系统的支持B. 数据库设计是指设计数据库管理系统C. 数据库技术的根本目标是要解决数据共享的问题D. 数据库系统中,数据的物理结构必须与逻辑结构一致(10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是______。
(A)A. 内模式B. 外模式C. 概念模式D. 逻辑模式(11) 算法的时间复杂度是指______。
全国计算机等级考试历年真题及答案

全国计算机等级考试二级笔试试卷公共基础知识及C++语言程序设计(考试时间90分钟,满分100)分)一、选择题((1)~(35)每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1) 下面叙述正确的是A)算法的执行效率与数据的存储结构无关B)算法的空间复杂度是指算法程序中指令(或语句)的条数C)算法的有穷性是指算法必须能在执行有限个步骤之后终止D)以上三种描述都不对(2)以下数据结构中不属于线性数据结构的是A)队列 B)线性表 C)二叉树 D)栈(3)在一棵二叉树上第5层的结点数最多是A)8 B)16 C)32 D)15(4)下面描述中,符合结构化程序设计风格的是A)使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B)模块只有一个入口,可以有多个出口C)注重提高程序的执行效率D)不使用goto语句(5)下面概念中,不属于面向对象方法的是A)对象 B)继承 C)类 D)过程调用(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是A)可行性分析 B)需求分析 C)详细设计 D)程序编码(7)在软件开发中,下面任务不属于设计阶段的是A)数据结构设计 B)给出系统模块结构C)定义模块算法 D)定义需求并建立系统模型(8)数据库系统的核心是A)数据模型 C)软件工具B)数据库管理系统 D)数据库(9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库设计是指设计数据库管理系统C)数据库技术的根本目标是要解决数据共享的问题D)数据库系统中,数据的物理结构必须与逻辑结构一致(10)下列模式中,能够给出数据库物理存储结构与物理存取方法的是A)内模式 B)外模式 C)概念模式 D)逻辑模式(11)关于面向对象的程序设计方法,下列说法正确的是A)“封装性”指的是将不同类型的相关数据组合在一起,作为一个整体进行处理B)“多态性”指的是对象的状态会根据运行时要求自动变化C)基类的私有成员在派生类的对象中不可访问,也不占内存空间D)在面向对象的程序设计中,结构化程序设计方法仍有着重要作用(12)判断字符型变量ch是否为大写英文字母,应使用表达式A ) ch>='A' & ch<='Z'B ) ch<='A' ||ch>='Z'C ) 'A'<=ch<='Z'D ) ch>='A' && ch<='Z'(13)已知下列语句中的x和y都是int型变量,其中错误的语句A ) x=y++;B ) x=++y;C ) (x+y)++;D ) ++x=y;(14)执行语句序列int n;cin >> n;switch(n){ case 1:case 2: cout << '1';case 3:case 4: cout << '2'; break;default: cout << '3';}时,若键盘输入1,则屏幕显示A)1 B)2 C)3 D)12(15)下列程序的输出结果是#include <iostream>using namespace std;int main(){char a[] = "Hello, World";char *ptr = a;while (*ptr){if (*ptr >= 'a' && *ptr <= 'z')cout << char(*ptr + 'A' -'a'); else cout << *ptr;ptr++;}return 0;}A ) HELLO, WORLDB ) Hello, WorldC ) hELLO, wORLD D ) hello, world(16)已知:int m=10;在下列定义引用的语句中,正确的是A ) int &x=m;B )int y=&m;C )int &z;D ) int &t=&m;(17)下列函数原型声明中错误的是A ) void Fun(int x=0, int y=0);B ) void Fun(int x, int y);C ) void Fun(int x, int y=0);D ) void Fun(int x=0, int y);(18)已知程序中已经定义了函数test,其原型是int test(int, int, int);,则下列重载形式中正确的是A ) char test(int,int,int);B ) double test(int,int,double);C ) int test(int,int,int=0);D ) float test(int,int,float=3.5F);(19)有以下程序#include<iostream>int i = 0;void fun(){ {static int i = 1;std::cout<<i++<<',';}std::cout<<i<<',';}int main(){fun(); fun();return 0;}程序执行后的输出结果是A)1,2,1,2, B)1,2,2,3, C)2,0,3,0,D)1,0,2,0,(20)已知函数f的原型是:void f(int *a, long &b); 变量v1、v2的定义是:int v1;long v2;,正确的调用语句是A) f(v1, &v2); B) f(v1, v2);C) f(&v1, v2); D) f(&v1, &v2);(21)有以下类定义class MyClass{public:MyClass(){cout<<1;}};则执行语句MyClass a, b[2], *p[2];后,程序的输出结果是A)11 B)111 C)1111 D)11111(22)关于友元,下列说法错误的是A)如果类A是类B的友元,那么类B也是类A的友元B)如果函数fun()被说明为类A的友元,那么在fun()中可以访问类A的私有成员C)友元关系不能被继承D)如果类A是类B的友元,那么类A的所有成员函数都是类B的友元(23)关于动态存储分配,下列说法正确的是A)new和delete是C++语言中专门用于动态内存分配和释放的函数B)动态分配的内存空间也可以被初始化C)当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间D)当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new(24)有以下程序#include<iostream>using namespace std;class MyClass{public:MyClass(int n){number = n;}4 C.) cout << "OK"; else cout << "FAIL";后,如果文件打开成功显示“OK”,否则就显示“F厶n。
全国计算机二级考试公共基础知识

全国计算机二级考试公共基础知识一、选择题1.八进制基数为8,因此在八进制数中可使用的数字符号是0和1。
A、正确B、错误*2.第三代计算机时代是从1965年到1971年。
A、正确*B、错误3.硬盘的转速指的是每秒多少转。
A、正确B、错误*4.计算机存储的基本单位的比特。
A、正确B、错误*5.显示器的垂直扫描频率又称为刷新率,刷新率越高图像越稳定,闪烁感越小。
A、正确*B、错误6.每个汉字具有唯一的内码和外码。
A、正确B、错误*7.在Windows中,可以对桌面上的图标顺序进行重新排列。
A、正确*B、错误8.在数据表中设置字段标题后,如果查询中输入了该字段也将显示字段标题而不是字段名。
A、正确B、错误*9.查询记录表中显示的字段必须是数据库中已有的字段。
A、正确B、错误*10.两个之间必须存在着相互关联的字段,才能在两个表之间建立关系。
A、正确*B、错误11.回收站是内存中的一块区域,用于暂存被删除的文件。
A、正确B、错误*12.共享软件是作者免费让用户使用的软件,不需要缴费购买。
A、正确B、错误*13.删除多余的输入法可以提高计算机的性能。
A、正确*B、错误14.剪切板中只能存放文字,不能存放图像。
A、正确B、错误*15.证书机制是非对称密码算法的一种应用。
A、正确*B、错误16.计算机网络的通信子网负责全网面向用户的数据处理与管理。
A、正确B、错误*。
计算机二级公共基础知识题汇总5套真题

第一套2008年9月一、选择题(1)一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后依次出栈,则元素出栈的顺序是________。
A)12345ABCDEB)EDCBA54321C)ABCDE12345D)54321EDCBAB【解析】栈的特点是先进后出,所以全部入栈后再全部出栈所得的序列顺序必然与入栈序列的顺序相反。
(2)下列叙述中正确的是________。
A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定的D【解析】循环队列是线性表的一种,所以选项A)错误。
循环队列的入队和出队需要队尾指针和队头共同指针完成,所以选项B)和C)错误。
(3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是________。
A)O(n)B)O(n2)C)O(log2n)D)O(nlog2n)C【解析】二分查找法也称为折半查找法。
它的基本思想是:将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x作比较,如果x=a[n/2],则找到x,算法终止;如果x<a[n/2],则只要在数组a的左半部继续搜索x(这里假设数组元素呈升序排列);如果x>a[n/2],则只要在数组a的右半部继续搜索x。
每次余下n/(2i)个元素待比较,当最后剩下一个时,即n/(2i)=1。
故,n=2i; 所以i=log2n。
(4)下列叙述中正确的是________。
A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间A【解析】顺序存储方式是把逻辑上相邻的结点存储在物理上相邻的存储单元里,结点之间的关系由存储单元的邻接关系来体现。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全国计算机等级考试二级公共基础知识总结第一章数据结构与算法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代表每个元素占的字节数。
顺序表的运算:插入、删除。
(详见14--16页)1.4 栈和队列栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。
栈按照“先进后出”(FILO)或“后进先出”(LIFO)组织数据,栈具有记忆作用。
用top 表示栈顶位置,用bottom表示栈底。
栈的基本运算:(1)插入元素称为入栈运算;(2)删除元素称为退栈运算;(3)读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化。
队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。
Rear 指针指向队尾,front指针指向队头。
队列是“先进行出”(FIFO)或“后进后出”(LILO)的线性表。
队列运算包括(1)入队运算:从队尾插入一个元素;(2)退队运算:从队头删除一个元素。
循环队列:s=0表示队列空,s=1且front=rear表示队列满1.5 线性链表数据结构中的每一个结点对应于一个存储单元,这种存储单元称为存储结点,简称结点。
结点由两部分组成:(1)用于存储数据元素值,称为数据域;(2)用于存放指针,称为指针域,用于指向前一个或后一个结点。
在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。
链式存储方式即可用于表示线性结构,也可用于表示非线性结构。
线性链表,HEAD称为头指针,HEAD=NULL(或0)称为空表,如果是两指针:左指针(Llink)指向前件结点,右指针(Rlink)指向后件结点。
线性链表的基本运算:查找、插入、删除。
1.6 树与二叉树树是一种简单的非线性结构,所有元素之间具有明显的层次特性。
在树结构中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点,简称树的根。
每一个结点可以有多个后件,称为该结点的子结点。
没有后件的结点称为叶子结点。
在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度。
树的最大层次称为树的深度。
二叉树的特点:(1)非空二叉树只有一个根结点;(2)每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。
二叉树的基本性质:(1)在二叉树的第k层上,最多有2k-1(k≥1)个结点;(2)深度为m的二叉树最多有2m-1个结点;(3)度为0的结点(即叶子结点)总是比度为2的结点多一个;(4)具有n个结点的二叉树,其深度至少为[log2n]+1,其中[log2n]表示取log2n的整数部分;(5)具有n个结点的完全二叉树的深度为[log2n]+1;(6)设完全二叉树共有n个结点。
如果从根结点开始,按层序(每一层从左到右)用自然数1,2,….n给结点进行编号(k=1,2….n),有以下结论:①若k=1,则该结点为根结点,它没有父结点;若k>1,则该结点的父结点编号为INT(k/2);②若2k≤n,则编号为k的结点的左子结点编号为2k;否则该结点无左子结点(也无右子结点);③若2k+1≤n,则编号为k的结点的右子结点编号为2k+1;否则该结点无右子结点。
满二叉树是指除最后一层外,每一层上的所有结点有两个子结点,则k层上有2k-1个结点深度为m的满二叉树有2m-1个结点。
完全二叉树是指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点。
二叉树存储结构采用链式存储结构,对于满二叉树与完全二叉树可以按层序进行顺序存储。
二叉树的遍历:(1)前序遍历(DLR),首先访问根结点,然后遍历左子树,最后遍历右子树;(2)中序遍历(LDR),首先遍历左子树,然后访问根结点,最后遍历右子树;(3)后序遍历(LRD)首先遍历左子树,然后访问遍历右子树,最后访问根结点。
1.7 查找技术顺序查找的使用情况:(1)线性表为无序表;(2)表采用链式存储结构。
二分法查找只适用于顺序存储的有序表,对于长度为n的有序线性表,最坏情况只需比较log2n次。
1.8 排序技术排序是指将一个无序序列整理成按值非递减顺序排列的有序序列。
交换类排序法:(1)冒泡排序法,需要比较的次数为n(n-1)/2;(2)快速排序法。
插入类排序法:(1)简单插入排序法,最坏情况需要n(n-1)/2次比较;(2)希尔排序法,最坏情况需要O(n1.5)次比较。
选择类排序法:(1)简单选择排序法,最坏情况需要n(n-1)/2次比较;(2)堆排序法,最坏情况需要O(nlog2n)次比较。
第二章程序设计基础2.1 程序设计设计方法和风格如何形成良好的程序设计风格1、源程序文档化;2、数据说明的方法;3、语句的结构;4、输入和输出。
注释分序言性注释和功能性注释,语句结构清晰第一、效率第二。
2.2 结构化程序设计结构化程序设计方法的四条原则是:1. 自顶向下;2. 逐步求精;3.模块化;4.限制使用goto语句。
结构化程序的基本结构和特点:(1)顺序结构:一种简单的程序设计,最基本、最常用的结构;(2)选择结构:又称分支结构,包括简单选择和多分支选择结构,可根据条件,判断应该选择哪一条分支来执行相应的语句序列;(3)重复结构:又称循环结构,可根据给定条件,判断是否需要重复执行某一相同程序段。
2.3 面向对象的程序设计面向对象的程序设计:以60年代末挪威奥斯陆大学和挪威计算机中心研制的SIMULA 语言为标志。
面向对象方法的优点:(1)与人类习惯的思维方法一致;(2)稳定性好;(3)可重用性好;(4)易于开发大型软件产品;(5)可维护性好。
对象是面向对象方法中最基本的概念,可以用来表示客观世界中的任何实体,对象是实体的抽象。
面向对象的程序设计方法中的对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,由一组表示其静态特征的属性和它可执行的一组操作组成。
属性即对象所包含的信息,操作描述了对象执行的功能,操作也称为方法或服务。
对象的基本特点:(1)标识惟一性;(2)分类性;(3)多态性;(4)封装性;(5)模块独立性好。
类是指具有共同属性、共同方法的对象的集合。
所以类是对象的抽象,对象是对应类的一个实例。
消息是一个实例与另一个实例之间传递的信息。
消息的组成包括(1)接收消息的对象的名称;(2)消息标识符,也称消息名;(3)零个或多个参数。
继承是指能够直接获得已有的性质和特征,而不必重复定义他们。
继承分单继承和多重继承。
单继承指一个类只允许有一个父类,多重继承指一个类允许有多个父类。
多态性是指同样的消息被不同的对象接受时可导致完全不同的行动的现象。
第三章软件工程基础3.1 软件工程基本概念计算机软件是包括程序、数据及相关文档的完整集合。
软件的特点包括:(1)软件是一种逻辑实体;(2)软件的生产与硬件不同,它没有明显的制作过程;(3)软件在运行、使用期间不存在磨损、老化问题;(4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题;(5)软件复杂性高,成本昂贵;(6)软件开发涉及诸多的社会因素。
软件按功能分为应用软件、系统软件、支撑软件(或工具软件)。
软件危机主要表现在成本、质量、生产率等问题。
软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。
软件工程包括3个要素:方法、工具和过程。
软件工程过程是把软件转化为输出的一组彼此相关的资源和活动,包含4种基本活动:(1)P——软件规格说明;(2)D——软件开发;(3)C——软件确认;(4)A——软件演进。
软件周期:软件产品从提出、实现、使用维护到停止使用退役的过程。
软件生命周期三个阶段:软件定义、软件开发、运行维护,主要活动阶段是:(1)可行性研究与计划制定;(2)需求分析;(3)软件设计;(4)软件实现;(5)软件测试;(6)运行和维护。
软件工程的目标和与原则:目标:在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。
基本目标:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发软件易于移植;需要较低的费用;能按时完成开发,及时交付使用。