全国二级基础知识讲义Word文档下载推荐.docx
- 文档编号:18212578
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:38
- 大小:190.14KB
全国二级基础知识讲义Word文档下载推荐.docx
《全国二级基础知识讲义Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《全国二级基础知识讲义Word文档下载推荐.docx(38页珍藏版)》请在冰豆网上搜索。
2、数据结构主要研究和讨论以下三个方面的问题:
(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构。
数据的逻辑结构有线性(主要有线性表、栈、队列等)、非线性(主要有树、图等)。
(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构。
数据的存储结构有顺序、链接、索引等。
数据的逻辑结构反映数据元素之间的逻辑关系,数据的存储结构(也称数据的物理结构)是数据的逻辑结构在计算机存储空间中的存放形式。
同一种逻辑结构的数据可以采用不同的存储结构,但影响数据处理效率。
(3)对各种数据结构进行的运算。
3、数据的逻辑结构还可表示为(D,R),D:
数据元素的集合;
R:
各数据元素之间的关系的集合;
三、线性表
1、线性表是由n个具有相同特性的数据元素组成的线性序列。
2、逻辑结构:
线性结构
3、存储结构:
顺序存储结构/链式存储结构
顺序存储结构的线性表需要一组连续的存储单元依次存储元素,因此知道存储的起始地址以及每个元素所占空间即可求出第I个元素的存储地址,而链式存储结构的线性表则无需连续空间,因此也无法计算其地址,即无法随机存取;
链式存储结构的线性表进行插入、删除等运算时不需要移动其他结点,而顺序存储结构的线性表则不然;
4、顺序存储结构的线性表的运算
插入、删除以及其算法分析
(1)顺序表的插入运算:
在一般情况下,要在第i(1≤i≤n)个元素之前插入一个新元素时,首先要从最后一个(即第n个)元素开始,直到第i个元素之间共n-i+1个元素依次向后移动一个位置,移动结束后,第i个位置就被空出,然后将新元素插入到第i项。
插入结束后,线性表的长度就增加了1。
顺性表的插入运算时需要移动元素,在等概率情况下,平均需要移动n/2个元素。
(2)顺序表的删除运算:
在一般情况下,要删除第i(1≤i≤n)个元素时,则要从第i+1个元素开始,直到第n个元素之间共n-i个元素依次向前移动一个位置。
删除结束后,线性表的长度就减小了1。
进行顺性表的删除运算时也需要移动元素,在等概率情况下,平均需要移动(n-1)/2个元素。
插入、删除运算不方便。
5、链表的运算
6、循环链表
7、双向链表
四、栈
1、栈是一种特殊的表,这种表只在表头进行插入和删除操作,且进行插入删除操作时不需要移动表中其他元素。
我们称表头为栈顶,表尾为栈底。
不含任何元素的栈称为空栈。
栈的修改是按“后进先出”(LIFO)或“先进后出”的原则进行的。
top指示着栈顶位置;
bottom指向栈底。
4、栈的运算(顺序存储结构/链式存储结构):
栈空的判别条件
进栈、出栈、读栈顶元素
五、队列
1、队列是一种特殊的线性表。
对这种线性表,删除操作只在表头(称为队头,用front指向队头元素的前一个位置)进行,插入操作只在表尾(称为队尾,用rear指向队尾元素)进行。
队列的修改是按先进先出的原则进行的,所以队列又称为先进先出(FirstInFirstOut)表,简称FIFO表。
4、循环队列(环形队列)
(1)判别条件
队列空:
s=0;
队列满:
s=1且front=rear
(2)队列的运算
入队、出队
上溢和下溢
六、树与二叉树
1、基本术语
(1)结点的度:
结点的子树个数(即分枝数目)
(2)树的度:
树中结点的最大度
(3)树的深度:
树中结点的最大层数称为树的深度(或高度)
(4)父结点、根、子结点、叶子结点
2、二叉树及其基本性质
(1)二叉树的度可以为0(叶结点)、1(只有一棵子树)或2(有2棵子树)。
(2)二叉树的基本性质
性质1在二叉树的第k层上,最多有2k-1(k≥1)个结点。
性质2深度为m的二叉树最多有2m-1个结点。
性质3任意一棵二叉树,度数为0的结点(即叶子结点)总比度为2的结点多一个。
性质4具有n个结点的二叉树,其深度至少为[log2n]+1,其中[log2n]表示取log2n的整数部分。
3、满二叉树与完全二叉树
(1)满二叉树:
除最后一层外,每一层上的所有结点都有两个子结点。
(2)完全二叉树:
除最后一层外,每一层上的结点数均达到最大值;
在最后一层上只缺少右边的若干结点。
度为1的结点的个数为0或1。
(3)了解它们的特性
4、二叉树的逻辑结构:
树型
5、二叉树的存储结构:
通常采用链式存储结构。
6、二叉树的遍历
(1)前序遍历(DLR):
先根再左再右
(2)中序遍历(LDR):
先左再根再右
(3)后序遍历(LRD):
先左再右再根
七、查找技术
平均查找长度:
查找过程中关键字和给定值比较的平均次数。
1、顺序查找
(1)基本思想:
从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比较,直到两者相符,查到所要找的元素为止。
否则就是表中没有要找的元素,查找不成功。
(2)在平均情况下,利用顺序查找法在线性表中查找一个元素,大约要与线性表中一半的元素进行比较,最坏情况下需要比较n次。
顺序查找一个具有n个元素的线性表,其平均复杂度为O(n)。
(3)下列两种情况下只能采用顺序查找:
如果线性表是无序表(即表中的元素是无序的),则不管是顺序存储结构还是链式存储结构,都只能用顺序查找。
即使是有序线性表,如果采用链式存储结构,也只能用顺序查找。
2、二分法查找
先确定待查找记录所在的范围,然后逐步缩小范围,直到找到或确认找不到该记录为止。
(2)用此法查找的前提:
必须在具有顺序存储结构的有序表中进行。
(3)查找过程(以升序序列为例):
若中间项(中间项mid=(n-1)/2,mid的值四舍五入取整)的值等于x,则说明已查到;
若x小于中间项的值,则在线性表的前半部分查找;
若x大于中间项的值,则在线性表的后半部分查找。
(4)特点:
比顺序查找方法效率高。
最坏的情况下,需要比较log2n次。
八、排序技术
1、交换类排序法(方法:
冒泡排序,快速排序)。
2、插入类排序法(方法:
简单插入排序,希尔排序)。
3、选择类排序法(方法:
简单选择排序,堆排序)。
4、总结:
九、历届真题
【05年4月1】数据的存储结构是指__________
。
A.存储在外存中的数据B.数据所占的存储空间量
C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示
【05年4月2】下列关于栈的描述中错误的是__________
A.栈是先进后出的线性表
B.栈只能顺序存储
C.栈具有记忆作用
D.对栈的插入与删除操作中,不需要改变栈底指针
【05年4月3】对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是__________
A.冒泡排序为n/2B.冒泡排序为nC.快速排序为nD.快速排序n(n-1)/2
【05年4月4】对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为__________
A.log2nB.n/2C.nD.n+1
【05年4月5】下列对于线性链表的描述中正确的是__________
A.存储空间不一定是连续,且各元素的存储顺序是任意的
B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面
C.存储空间必须连续,且前件元素一定存储在后件元素的前面
D.存储空间必须连续,且各元素的存储顺序是任意的
【05年9月2】下列数据结构中,能用二分法进行查找的是__________。
A.顺序存储的有序线性表B.线性链表
C.二叉链表D.有序线性链表
【05年9月3】下列关于栈的描述正确的是__________。
A.在栈中只能插入元素而不能删除元素
B.在栈中只能删除元素而不能插入元素
C.栈是特殊的线性表,只能在一端插入或删除元素
D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素
【05年9月4】下列叙述中正确的是__________。
A.一个逻辑数据结构只能有一种存储结构
B.数据的逻辑结构属于线性结构,存储结构属于非线性结构
C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率
D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率
【06年4月4】按照”后进先出”原则组织数据的数据结构是__________。
A.队列B.栈C.双向链表D.二叉树
【06年4月5】下列叙述中正确的是__________。
A.线性链表是线性表的链式存储结构B.栈与队列是非线性结构
C.双向链表是非线性结构D.只有根结点的二叉树是线性结构
【06年4月6】对如下二叉树
进行后序遍历的结果为__________。
A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA
【06年4月7】在深度为7的满二叉树中,叶子结点的个数为__________。
A.32B.31C.64D.63
【06年9月7】下列叙述中正确的是__________。
A.一个算法的空间复杂度大,则其时间复杂度也必定大
B.一个算法的空间复杂度大,则其时间复杂度必定小
C.一个算法的时间复杂度大,则其空间可复杂度必定小
D.上述三种说法都不对
【06年9月8】在长度为
64
的有序线性表中进行顺序查找,最坏情况下需要比较的次数为__________。
A.63B.64C.6D.7
【06年9月10】对下列二叉树
进行中序遍历的结果是__________。
A.ACBDFEGB.ACBDFGEC.ABDCGEFD.FCADBEG
【07年4月1】下列叙述中正确的是__________。
A.算法的效率只与问题的规模有关,而与数据的存储结构无关
B.算法的时间复杂度是指执行算法所需要的计算工作量
C.数据的逻辑结构与存储结构是一一对应的
D.算法的时间复杂度与空间复杂度一定相关
【07年4月5】下列队列的叙述正确的是__________。
A.队列属于非线性表B.队列按“先进后出”原则组织数据
C.队列在队尾删除数据D.队列按“先进先出”原则组织数据
【07年4月6】对下列二叉树
进行前序遍历的结果为__________。
A.DYBEAFCZXB.YDEBFZXCAC.ABDYECFXZD.ABCDEFXYZ
【07年4月7】
某二叉树中有n个度为2的结点,则该二叉树中的叶子结点为__________。
A.n+1B.n-1C.2nD.n/2
【07年9月5】下列叙述中正确的是__________。
A.程序执行的效率与数据的存储结构密切相关
B.程序执行的效率只取决于程序的控制结构
C.程序执行的效率只取决于所处理的数据量
D.以上三种说法都不对
【07年9月6】下列叙述中正确的是__________。
A.数据的逻辑结构与存储结构必定是一一对应的
B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构
C.程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构
【07年9月7】冒泡排序在最坏情况下的比较次数是__________。
A.n(n+1)/2B.nlog2nC.n(n-1)/2D.n/2
【07年9月8】一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为__________。
A.219B.221C.229D.231
【08年4月5】算法的有穷性是指__________。
A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的
C.算法程序的长度是有限的D.算法只能被有限的用户使用
【08年4月6】对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是__________。
A.快速排序B.冒泡排序C.直线插入排序D.堆排序
【08年4月7】下列关于栈的叙述正确的是__________。
A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据
C.只能在栈底插入数据D.不能删除数据
【08年9月1】一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是__________。
A.12345ABCDEB.EDCBA54321C.ABCDE12345D.54321EDCBA
【08年9月2】下列叙述中正确的是__________。
A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构
B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况
D.循环队列中元素的个数是由队头指针和队尾指针共同决定
【08年9月3】在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是__________。
A.O(n)B.O(n2)C.O(log2n)D.O(nlog2n)
【08年9月4】下列叙述中正确的是__________。
A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的
B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
C.顺序存储结构能存储有序表,链式存储结构不能存储有序表
D.链式存储结构比顺序存储结构节省存储空间
【05年4月填空1】某二叉树中度为2的结点有18个,则该二叉树中有__________
个叶子结点。
【05年4月填空5】问题处理方案的正确而完整的描述称为__________
【05年9月填空2】算法复杂度主要包括时间复杂度和__________复杂度。
【05年9月填空4】一棵二叉树第六层(根结点为第一层)的结点数最多为__________个。
【05年9月填空5】数据结构分为逻辑结构和存储结构,循环队列属于__________结构。
【06年4月填空1】对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为__________。
【06年9月填空4】按“先进后出”原则组织数据的数据结构是__________。
【06年9月填空5】数据结构分为线性结构和非线性结构,带链的队列属于__________。
【07年4月填空1】
在深度为7的满二叉树中,度为2的结点个数为__________。
【07年9月填空3】线性表的存储结构主要分为顺序存储结构和链式存储结构。
队列是一种特殊的线性表,循环队列是队列的__________存储结构。
【07年9月填空4】对下列二叉树进行中序遍历的结果为__________。
【08年4月填空2】深度为5的满二叉树有__________个叶子结点。
【08年4月填空3】设某循环队列的容量为50,头指针front=5(指向队头元素的前一位置),尾指针rear=29(指向对尾元素),则该循环队列中共有__________个元素。
【08年9月填空1】对下列二叉树进行中序遍历的结果是__________。
数据库
一、数据库系统的基本概念
1、数据:
实际上就是描述事物的符号记录。
2、数据库(DB):
是数据的集合。
数据库存放数据是按数据所提供的数据模式存放的,具有集成与共享的特点,亦即是数据库集中了各种应用的数据,进行统一的构造和存储,而使它们可被不同应用程序所使用。
数据库技术的根本目标是解决数据的共享问题。
3、数据库管理系统(DBMS):
一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,是数据库的核心。
数据库管理系统功能:
(1)数据模式定义。
数据库管理系统负责为数据库构建模式,也就是为数据库构建其数据框架。
(2)数据存取的物理构建。
数据库管理系统负责为数据模式的物理存取与构建提供有效的存取方法与手段。
(3)数据操纵。
数据库管理系统为用户使用数据库中的数据提供方便,它一般提供如查询、插入、修改以及删除数据的功能。
此外,它自身还具有做简单的算术运算及统计的能力,而且还可以与某些过程性语言结合,使其具有强大的过程性操作能力。
(4)数据的完整性、安生性定义与检查。
数据库中的数据具有内在语义上的关联性与一致性,它们构成了数据的完整性,数据的完整性是保证数据库中数据正确的必要条件,因此必须经常检查以维护数据正确。
数据库中的数据具有共享性,而数据共享可能会引发数据的非法使用,因此必须要对数据正确使用做出必要的规定,并在使用时做检查,这就是数据的安全性。
数据完整性与安全性的维护是数据库系统的基本功能。
(5)数据库的并发控制与故障恢复。
数据库是一个集成、共享的数据集合体,它能为多个应用程序服务,所以就存在着多个应用程序对数据库的并发操作。
在并发操作中如果不加控制和管理,多个应用程序间就会相互干扰,从而对数据库中的数据造成破坏。
因此,数据库管理系统必须对多个应用程序的并发操作做必要的控制以保证数据不受破坏,这就是数据库的并发控制。
数据库中的数据一旦遭到破坏,数据库管理系统必须有能力及时进行恢复,这就是数据库的故障恢复。
(6)数据的服务。
数据库管理系统提供对数据库中数据的多种服务功能,如数据拷贝、转存、重组、性能监测、分析等。
4、为了实现以上功能,数据库管理系统一般提供相应的数据语言,他们是:
数据定义语言、数据操纵语言、数据控制语言。
(1)数据定义语言DDL:
负责数据的模式定义与数据的物理存取构建。
(2)数据操纵语言DML:
负责数据的操纵,包括查询及增、删、改等操作。
(3)数据控制语言DCL:
负责数据的完整性、安全性的定义与检查以及并发控制、故障恢复等功能。
5、数据库管理员(DBA):
对数据库进行规划、设计、维护、监视等的专业管理人员。
6、数据库系统(DBS):
由数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、硬件平台(硬件)、软件平台(软件)五个部分构成的运行实体。
7、数据库应用系统:
由数据库系统、应用软件及应用界面三者组成。
二、数据库系统的发展
数据库管理发展至今已经历了三个阶段:
人工管理阶段、文件系统阶段和数据库系统阶段。
下表是数据管理三个阶段的比较:
人工管理阶段
文件系统阶段
数据库系统阶段
背
景
应用背景
科学计算
科学计算、管理
大规模管理
硬件背景
无直接存取存储设备
磁盘、磁鼓
大容量磁备盘
软件背景
没有操作系统
有文件系统
有数据库管理系统
处理方式
批处理
联机实时处理、批处理
联机实时处理、分布处理、批处理
特
点
数据的管理者
用户(程序员)
文件系统
数据库管理系统
数据面向的对象
某一应用程序
某一应用
现实世界
数据的共享程度
无共享,冗余度极大
共享性差,冗余度大
共享性高,冗余度小
数据的独立性
不独立,完全依赖于程序
独立性差
具有高度的物理独立性和一定的逻辑独立性
数据的结构化
无结构
记录内有结构,整体无结构
整体结构化,用数据模型描述
数据控制能力
应用程序自己控制
由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力
三、数据库系统的基本特点
1、数据的高集成性。
2、数据的高共享性与低冗余性。
数据库系统可以减少数据冗余,但无法避免一切冗余。
3、数据独立性:
数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。
也就是说,数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。
数据独立性一般分为物理独立性与逻辑独立性两级。
(1)物理独立性:
物理独立性即是数据的物理结构(包括存储结构,存取方式等)的改变,如存储设备的更换、物理存储的更换、存取方式改变等都不影响数据库的逻辑结构,从而不致引起应用程序的变化。
(2)逻辑独立性:
数据库总体逻辑结构的改变,如修改数据模式、增加新的数据类型、改变数据间联系等,不需要相应修改应用程序,这就是数据的逻辑独立性。
4、数据统一管理与控制。
数据统一管理与控制主要包含以下三个方面:
(1)数据的完整性检查:
检查数据库中数据的正确性以保证数据的正确。
(2)数据的安全性保护:
检查数据库访问者以防止非法访问。
(3)并发控制:
控制多个应用的并发访问所产生的相互干扰以保证其正确性。
四、数据库系统的内部结构体系
1、数据库系统的三级模式:
(1)概念模式:
数据库系统中全局数据逻辑结构的描述,是全体用户(应用)公共数据视图。
(2)外模式:
也称子模式或用户模式,它是用户的数据视图,也就是用户所见到的数据模式,它由概念模式推导而出。
(3)内模式:
又称物理模式,它给出了数据库物理存储结构与物理存取方法。
内模式的物理性主要体现在操作系统及文件级上,它还未深入到设备级上(如磁盘及磁盘操作)。
内模式对一般用户是透明的,但它的设计直接影响数据库的性能。
2、数据库系统的两级映射:
(1)概念模式/内模式的映射:
实现了概念模式到内模式之间的相互转换。
当数据库的存储结构发生变化时,通过修改相应的概念模式/内模式的映射,使得数据库的逻辑模式不变,其外模式不变,应用程序不用修改,从而保证数据具有很高的物理独立性。
(2)外模式/概念模式的映射
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 二级 基础知识 讲义