数据结构

数据结构
数据结构

《数据结构》综合复习资料

一、填空题

1.数据结构是()。

2.堆栈的特点是(),队列的特点是(),字符串中的数据元素为()。

3.列举三种树的存储方式()、()和()。

4.哈希表查找技术的性能取决于三个因素,它们是()、()和()。

5.ADT称为抽象数据类型,它是指()。

6.求下列程序的时间复杂度,并用大O表示方法表示()。

for( i=1 ; i<=n ; + + i)

for( j=1 ; j<=i; + + j )

{ ++x;

a[i][j] = x;

}

7.用堆栈求中缀表达式a+b*c/d+e*f的后缀表达式,求出的后缀表达式为()。

8.含零个字符的串称为()串,用 表示。其他串称为()串。任何串中所含字符的个数称为该串的()。

9.设有字母序列{Q,D,F,X,A,P,N,B,,Y,M,C,W},请写出按2路归并排序方法对该序列进行一趟排序后的结果()。

10.数据的逻辑结构被分为()、()、()和()四种。

11.算法设计的评价标准为()、()、()、()。

12.在线性表的单链接存储中,若一个元素所在结点的地址为p,则其后继结点的地址为(),若假定p为一个数组a中的下标,则其后继结点的下标为()。

13.()通常称作串的模式匹配。在一个主串中查找子串是否存在,存在返回();不存在返回( )。

14.在一棵二叉树中,第5层上的结点数最多为();在一棵二叉树中,假定双分支结点数为5个,单分支结点数为6个,则叶子结点数为()个。

15.对于一个具有n个顶点和e条边的无向图,当分别采用邻接矩阵、邻接表表示时,求任一顶点度数的时间复杂度依次为()、()。

16.给出一组关键字序列{29,18,25,47,58,12,15,10},增量为4的希尔(SHELL)排序结果为()。

17.数据结构的四种基本形式为集合、()、()和()。

18.线性表的常见链式存储结构有()、()和()。

19.设T是一个m*n阶矩阵,T按列序存储在一组连续的存储单元中,每个元素占用w个存储单元,若T[1,1]的存储地址为base,则T[i,j]的存储地址为()。

20.在邻接表上,无向图中顶点vi的度恰为()。对有向图,顶点vi的出度是()。为了求入度,必须遍历整个邻接表,在所有单链表中,其邻接点域的值为()的结点的个数是顶点vi的入度。

21.一般情况下,当待排序序列关键字是随机情况时,快速分类是所有数量级()的排序方法中最好的。对快速排序来讲,其最好情况下的时间复杂度是(),其最坏情况下的时间复杂度是()。

22.以下为冒泡排序的算法。请分析算法,并在____上填充适当的语句。

void bulbblesort(int n,list r)

{ int i, j, flag; /*flag为特征位*/

for(i=1;i<=n;i++)

{___ ____;

for(j=1; _;j++)

if(r[j+1].key

{ ;

p=r[j]; r[j]=r[j+1]; r[j+1]=p; }

if(flag) return ;

}

}

二、选择题

1、关于算法,下面描述正确的是()。

A、时间复杂度就是算法的执行时间

B、算法必须有输入量和输出量

C、算法就是程序

D、时间复杂度仅反映算法运行时间关于问题规模的增长率

2、若某线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用()存储方式最节省时间。

A、顺序表

B、单链表

C、双链表

D、单循环链表

3、以下说法错误的是()。

A、对循环链表来说,从表中任一结点出发都能通过前后操作而扫描整个循环链表。

B、对单链表来说,只有从头结点开始才能扫描表中全部结点。

C、双链表的特点是找结点的前趋和后继都很容易。

D、对双链表来说,某个结点的存储位置既存放在其前趋结点的后继指针域中,也存放在它的后继结

点的前趋指针域中。

4、一个堆栈的入栈序列为abcde,若出栈和入栈操作可间隔进行,则出栈序列不可能的为()。

A、edcba

B、decba

C、decab

D、 abcde

5、设定树根的层次为1,则有64个结点的完全二叉树的深度为()。

第2章 数据库系统的数据模型

第2章数据库系统的数据模型 第二章数据库系统的数据模型 本章主要内容 数据库是个具有一定数据结构的数据集合,这个结构是根据现实世界中事物之间的联系来确定的。在数据库系统中不仅要存储和管理数据本身,还要保存和处理数据之间的联系,这种数据之间联系与就是实体之间的联系。研究如何表示和处理这种联系是数据库系统的一个核心问题,用以表示实体以及实体之间联系的数据库的数据结构称为数据模型。本章将着重介绍一下概念模型、层次模型、网状模型、关系模型、面向对象模型等数据库系统的数据模型的基本概念和设计方法,为后面的数据库设计打下基础。 2.1 数据模型概述 数据模型(Data Model)是对现实世界数据特征的抽象,是用来描述数据的一组概念和定义。 为了把现实世界的具体事物抽象、组织为某一DBMS现实世界支持的数据模型,通常首先把现实世界中的客观对象抽象 认识抽象为概念模型,然后把概念模型转换为某一DBMS支持的数 据模型,这一过程如图2,1所示。概念数据模型:信息世界 数据模型按不同的应用层次可划分为两类: 转换 (1)概念数据模型(又称概念模型) 是一种面向客观世界、面向用户的模型,独立于计算逻辑数据模型:DBMS支持的数据模型机系统的数据模型,完全不涉及信息在计算机中的表示,

只是用来描述某个特定组织所关心的信息结构。概念模型是按用户的观点对数据建模,是用户和数据设计人员之间进行交流的工具,主要是用于数据库设计。例如E,R模型、扩充E,R模型属于这一类模型。 (2)逻辑数据模型(又称数据模型) 是一种直接面向数据库系统的模型,主要用于DBMS的实现。例如层次模型、网状模型、关系模型均属于这一类模型。这类模型有严格的形式化定义,以便于在计算机系统中实现。 2.1.1 数据模型的基本组成 数据模型是现实世界中的事物及其间联系的一种抽象表示,是一种形式化描述数据、数据间联系以及有关语义约束规则的方法。通常一个数据库的数据模型由数据结构、数据操作和数据的约束条件三个部分组成。 (1)数据结构 是指对实体类型和实现间联系的表达实现。它是数据模型最基本的组织部分,规定了数据模型的静态特性。在数据库系统中通常按照数据结构的类型来命名数据模型,例如,采用层次型数据结构、网状型数据结构、关系型数据结构的数据模型分别称为层次模型、网状模型和关系模型。 (2)数据操作 是指对数据库进行的检索和更新(包括插入、删除和修改)两类操作。它规定了数据模型的动态操作。 (3)数据的约束条件 数据的约束条件是一组完整性规则的集合,它定义了给定数据模型中数据及其联系应具 1 有的制约和依赖规则。以确保数据库中数据的正确性、有效性和相容性。

数据结构整理完整版

第二章线性表 一、顺序表和链表的优缺点 1.顺序表 定义:用一组连续的存储单元(地址连续)依次存放线性表的各个数据元素。即:在顺序表中逻辑结构上相邻的数据元素,其物理位置也是相邻的。 优点 逻辑相邻,物理相邻 可随机存取任一元素 存储空间使用紧凑 缺点 插入、删除操作需要移动大量的元素(平均约需移动一半结点,当n很大时,算法的效率较低) 预先分配空间需按最大空间分配,利用不充分 表容量难以扩充 2.链式存储结构 定义:由分别表示a1,a2,…,a i-1,a i,…,a n的N 个结点依次相链构成的链表,称为线性表的链式存储表示 优势: (1)能有效利用存储空间; 动态存储分配的结构,不需预先为线性表分配足够大的空间,而是向系统“随用随取”,在删除元素时可同时释放空间。 (2)用“指针”指示数据元素之间的后继关系,便于进行“插入”、“删除”等操作; 插入或删除时只需要修改指针,而不需要元素移动。 劣势: (1)不能随机存取数据元素; (2)丢失了一些顺序表的长处,如线性表的“表长”和数据元素在线性表中的 “位序”,在单链表中都看不见了。如,不便于在表尾插入元素,需遍历整个表才能找到插入的位置。 二、单链表中删除一个节点和插入一个节点的语句操作,p29 1.插入元素操作 算法基本思想:首先找到相应结点,然后修改相应指针。 假定在a,b之间插入结点X,s指向X, p指向a,指针修改语句为: s->next=p->next; p->next =s;

2.删除元素操作 算法基本思想:首先找到第i-1 个结点,然后修改相应指针。 删除b结点,其中,P指向a,指针修改语句为:p->next=p->next->next; 三、单链表的就地逆置习题集2.22 算法的基本思想:以单链表作存储结构进行就地逆置的正确做法应该是:将原链表的头结点和第一个元素结点断开(令其指针域为空),先构成一个新的空表,然后将原链表中各结点,从第一个结点起,依次插入这个新表的头部(即令每个插入的结点成为新的第一个元素结点)。 算法思路:依次取原链表中的每个结点,将其作为第一个结点插入到新链表中去,指针p用来指向当前结点,p为空时结束。 void reverse (Linklist H){ LNode *p; p=H->next; /*p指向第一个数据结点*/ H->next=NULL; /*将原链表置为空表H*/ while (p){ q=p; p=p->next; q->next=H->next; /*将当前结点插到头结点的后面*/ H->next=q; } } 第三章栈和队列 一、栈和队列的特性 1.特点 栈必须按“后进先出”(LIFO)的规则进行操作,仅限在表尾进行插入和删除的操作。 队列(FIFO)必须按“先进先出”的规则进行操作,队尾插入,队头删除。 二、循环队列为空和满的判定方法,p63 队空条件:front == rear; 队满条件:(rear + 1) % maxSize == front

广州大学专插本心得

本人是今年考上广州大学计算机专业的,说真的,专插本这条路并不好走,很辛苦!但是当你知道自己考上了,那感觉是相当激动的!! 2011年高考成绩揭晓,我就过了3A二分而已,那时候心情很沉重,只有3条路可以选择,第一是复读第二就是读3A尾的学校第三就是去打工,最后的抉择是报了中山火炬技术学院(全省专科不知道是倒数第二还是倒数第三的学校) 2011年九月带着沉重的心情来到了中山火炬技术学院,这学校名气小的可怜,问了N多人都没人知道这学校,学校也小的可怕,十几分钟就可以走完,当时感觉自己很悲剧,上了这样的学校很没面子,因此痛下决心来不管怎么样要往上爬,从一个师兄那里听说可以插本,考到的话第一学历是本科,但是听说插本很难,比高考,考研究生还要难上百倍,便没怎么想插本了,还是专心学好大专的专业吧 一转眼,2年过去了,到了大三,很多同学都去实习了,我又一次走到人生十字路口上,是去工作还是去插本,经过几天考虑还是决定插本了,因为第一我觉的要进好的企业需要本科第二我不想那么快工作,那时候作出插本决定已经是9月底了,中山火炬技术学校插本的人很少,所以只好通过加插本QQ群来了解插本信息 因为本人不想给家庭负担所以没有参加任何培训班,刚开始复习全靠自己摸索着的,很痛苦,哪里是重点哪里不是重点都不知道,幸亏在进群之后知道考纲这回事,慢慢的走上了复习的正规道路,每天8点就起来看书,除开吃饭上厕所什么的离开一下教室其他都是在教室看书,一直看到晚上10点钟,回到宿舍继续看书,因为宿舍没人,所以看到2点左右才睡觉,每个星期抽出半天去放松,这样才能保证效率,那时候备考时候真是很无聊很痛苦,知道不少人都已经放弃了,但是还是坚持到最后,3月去广州考试,看见考广大计算机人400多人,心里有点怕怕的,但是马上调整好心态,心里说怕什么,大不了考不上去工作呢,在考试那2天就浏览一下书本和总结的考点,考完也不去想考试结果,因为没有什么意义了,四月八出成绩了,当时心里发毛了,因为说不担心那是假的,我是先要我舍友帮我查的,她说过了,我还是担心,最后自己鼓起勇气查的,当我点一下鼠标的那一刻眼睛是闭着的,闭了好久才敢看成绩。当时自己惊叫了起来:过了过了,战争终于结束了。自己也没想到会考的这么好,它见证了我几个月的付出是值得的好了,啰嗦了那么多,不知道说了这么多大家看了是什么心情,写的乱七八糟的,不过都是个人真实感受,现在就分享一下我各科复习经验吧 政治 这个是最恶心的科目,我用最多时间来备考这科,因为高中读的是理科,对它不感冒,但是考了67分,虽然不是很高分,但是我已经很满足了,现在谈谈这科复习方法,我10月开始看政治书的,一天一章的看,看到11月,看了大概四次书本,你会问为什么要看书,很简单,因为政治选择题很坑爹,不少题目是书本的,但是考纲没有的,12月开始之后,我就根据录音去划书,整理笔记,然后开始背,每个白天抽3小时背政治,然后晚上回宿舍打开电脑用 1小时选择题,培养做题感觉,到一月中,开始做历年真题,并把考过的大题给划掉,重点背那些没出的,没背熟的反复的背和默写,要是你学我这样做,我想政治可以个满意的分数。 英语

(完整版)非常实用的数据结构知识点总结

数据结构知识点概括 第一章概论 数据就是指能够被计算机识别、存储和加工处理的信息的载体。 数据元素是数据的基本单位,可以由若干个数据项组成。数据项是具有独立含义的最小标识单位。 数据结构的定义: ·逻辑结构:从逻辑结构上描述数据,独立于计算机。·线性结构:一对一关系。 ·线性结构:多对多关系。 ·存储结构:是逻辑结构用计算机语言的实现。·顺序存储结构:如数组。 ·链式存储结构:如链表。 ·索引存储结构:·稠密索引:每个结点都有索引项。 ·稀疏索引:每组结点都有索引项。 ·散列存储结构:如散列表。 ·数据运算。 ·对数据的操作。定义在逻辑结构上,每种逻辑结构都有一个运算集合。 ·常用的有:检索、插入、删除、更新、排序。 数据类型:是一个值的集合以及在这些值上定义的一组操作的总称。 ·结构类型:由用户借助于描述机制定义,是导出类型。 抽象数据类型ADT:·是抽象数据的组织和与之的操作。相当于在概念层上描述问题。 ·优点是将数据和操作封装在一起实现了信息隐藏。 程序设计的实质是对实际问题选择一种好的数据结构,设计一个好的算法。算法取决于数据结构。 算法是一个良定义的计算过程,以一个或多个值输入,并以一个或多个值输出。 评价算法的好坏的因素:·算法是正确的; ·执行算法的时间; ·执行算法的存储空间(主要是辅助存储空间); ·算法易于理解、编码、调试。 时间复杂度:是某个算法的时间耗费,它是该算法所求解问题规模n的函数。 渐近时间复杂度:是指当问题规模趋向无穷大时,该算法时间复杂度的数量级。 评价一个算法的时间性能时,主要标准就是算法的渐近时间复杂度。 算法中语句的频度不仅与问题规模有关,还与输入实例中各元素的取值相关。 时间复杂度按数量级递增排列依次为:常数阶O(1)、对数阶O(log2n)、线性阶O(n)、线性对数阶O(nlog2n)、平方阶O (n^2)、立方阶O(n^3)、……k次方阶O(n^k)、指数阶O(2^n)。

《数据结构》(专科)已完成

数据结构,专科 一、简答题( 1、假设一个有向图的顶点集合V={c1,c2,c3,c4,c5},弧集 S={,,,,,}, (1)试根据上述关系,画出该有向图;(2)该图有环吗?若无 环,则写出它的一个拓扑有序序列;若有环,请写出组成环的顶点序列。 答: 2、已知某二叉树的先序序列为{ ABHFDECKG },中序序列为 { HBDFAEKCG }, 画出该二叉树。 答:二叉树是 a / \ b e / \ \

h f c / / \ d k g 后序是hdfbkgcea 3、已知关键字序列{70,83,100,65,10,9,7,32},现对其 从小到大排序,写出快速排序每一趟结束时的关键字状态。 答#include int main() { int i,j,t; int a[7]={70,83,100,65,10,32,7,9}; for(j=0;j<6;j++)//进行6次循环 for(i=0;i<6-j;i++)// 每次实现6-j次循环 if(a[i]>a[i+]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; }//每次a[i]与a[i+1]比较,大的就调换两者位置 for(i=0;i<7;i++) printf("%d ",a[i]); }

譬如第一次结果就是70,83,100,65,10,32,7,9 70比83小,所以位置没变。。 4、设s="I AM A WORKER",t=" GOOD",q=" WORKER"。求: StrLength(s),StrLength(t) ,SubString(s,8,6) , Index(s,q,1) 。 答:strlength(s)=14;strlength(t)=4;substr(s,8,6)=worker;substr(s,q,1)=o; 5、在单链表中设置头结点有什么作用? 答:头结点就是在单链表的开始结点之前附加的一个结点,设置头结点的优点有两个:(1)由于开始结点的位置被存放在头结点的指针域中,所以在链表的第一个位置上的操作就和在表的其他位置上一样,无须进行其他特殊处理;(2)无论链表是否为空,其头指针是指向头结点的非空指针(空表中头结点的指针域空),因此空表和非空表的处理也就一样了。 6、设哈希函数H(key)=key MOD 13,用线性探测再散列法解决 冲突。对关键字序列{ 55,19,01,68,23,27,20,84 } 在地址空间为0-10的散列区中建哈希表,画出此表,并求等 概率情况下查找成功时的平均查找长度。

数据库系统原理课后答案 第九章

9.1 名词解释 (1)OODBS:是指面向对象数据库系统,它既具数据库管理的基本功能,又能支持面向对象的数据模型。 (2)ORDBS:基于对象关系数据模型的DBS称为对象关系数据库系统(ORDBS)。 (3)平面关系模型:传统的关系模型称为“平面关系模型”,它要求关系模式具有第一范式(1NF)性质,关系具有规范化的结构。也就是规定属性值是不可分解的,即不允许属性值具有复合结构(元组或关系)。 (4)嵌套关系模型:是从平面关系模型发展而成的。它允许关系的属性值又可以是一个关系,而且可以出现多次嵌套。嵌套关系突破了1NF的定义框架,是“非1NF关系”。 (5)复合对象模型:在嵌套关系模型上进一步放宽要求。在关系定义上,集合与元组不再有交替出现的严格限制,此时的关系中,属性类型可以是基本数据类型、结构类型(元组类型)或集体类型(即关系类型)。 (6)数据的泛化/细化:是对概念之间联系进行抽象的一种方法。当在较低层上的抽象表达了 与之联系的较高层上抽象的特殊情况时,就称较高层上抽象是较低层上抽象的"泛化",而较低层上抽象是较高层上抽象的"细化"。 (7)对象关系模型:在传统关系数据基础上,提供元组、数组、集合等更为丰富的数据类型及处理新数据类型操作的能力而形成的数据模型。(注:传统关系模型只支持字符、数值、字串,布尔值等等基本数据类型及其处理功能) (8)类型级继承性:当继承性发生在类型级时,子类型继承了超类型的属性。也就是说,超类型所具有的属性,在子类上也具有。 (9)表级继承性:继承性也可发生在表级,(就是元组集合上发生继承),子表继承超表全部属性,超表中每个元组最多可以与子表中一个元组对应,而子表中的每个元组在超表中恰有一个元组对应,并在继承的属性值上具有相同的值。 (10)引用类型:数据类型可以嵌套定义,在嵌套引用时,不是引用对象本身,而是个用对象标识符(即指针),这种指针被称为引用类型。 (11)对象:客观世界中的实体经过抽象称为问题空间中的对象,它是对一组信息及其操作的描述。 (12)类:是具有相同的变量名和类型、相同的消息和使用方法的对象的集合。 (13)单重继承性:一个子类继承某一个超类的结构和特性,称为单重继承性。 (14)多重继承性:一个子类继承多个超类的结构和特性,称为多重继承性。 (15)对象标识:在面向对象语言中,对象标识是一个指针一级的概念,在对象创建的瞬间,由系统赋给每个对象一个“标识”,即系统内的一个唯一的指针,在对象生存期内,这个标识不可改变。 (16)对象包含:不同类的对象之间存在的包含关系称为对象包含。包含是一种“一部分”(is part of)的联系。 (17)类继承层次图:表示类继承关系的图,由超类名、子类名和一组线条自上而下有序的表示。(18)类包含层次图:表示对象包含关系的图,由一些具有包含关系的对象和线条自上而下表示(下方的对象为其连线所指上方对象的一部分)。 (19)持久数据:是指创建这些数据的程序运行终止后数据依然存在于系统之中。数据库中的关系就是持久数据。 (20)持久对象:程序运行结束后,被保留下来的对象称为持久对象。 (21)持久指针:持久指针可看作是数据库中指向对象的指针。持久化指针不像内存中的指针,它在程序执行后及数据重组后仍保持有效。 (22)持久化C++系统: 基于C++的持久化扩充的OODBS。

数据结构基础知识大全

/** *名词解释1、数据:是信息的载体,能够被计算机识别、存储和加工处理。 *2、数据元素:是数据的基本单位,也称为元素、结点、顶点、记录。一个数据元素可以由若干个数据项组成,数据项是具有独立含义的最小标识单位。 *3、数据结构:指的是数据及数据之间的相互关系,即数据的组织形式,它包括数据的逻辑结构、数据的存储结构和数据的运算三个方面的内容。 *4、数据的逻辑结构:指数据元素之间的逻辑关系,即从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。 *5、数据的存储结构:指数据元素及其关系在计算机存储器内的表示。是数据的逻辑结构用计算机语言的实现,是依赖于计算机语言的。 *6、线性结构:其逻辑特征为,若结构是非空集,则有且仅有一个开始结点和一个终端结点,并且其余每个结点只有一个直接前趋和一个直接后继。 *7、非线性结构:其逻辑特征为一个结点可能有多个直接前趋和直接后继。 *8、算法:是任意一个良定义的计算过程,它以一个或多个值作为输入,并产生一个或多个值作为输出;即一个算法是一系列将输入转换为输出的计算步骤。 *9、算法的时间复杂度T(n):是该算法的时间耗费,它是该算法所求解问题规模n趋向无穷大时,我们把时间复杂度T(n)的数量级(阶)称为算法的渐近时间复杂度。 *10、最坏和平均时间复杂度:由于算法中语句的频度不仅与问题规模n有关,还与输入实例等因素有关;这时可用最坏情况下时间复杂度作为算法的时间复杂度。而平均时间复杂度是指所有的输入实例均以等概率出现的情况下,算法的期望运行时间。 *11、数据的运算:指对数据施加的操作。数据的运算是定义在数据的逻辑结构上的,而实现是要在存储结构上进行。 *12、线性表:由n(n≥0)个结点组成的有限序列。其逻辑特征反映了结点间一对一的关系(一个结点对应一个直接后继,除终端结点外;或一个结点对应一个直接前趋,除开始结点外),这是一种线性结构。 *13、顺序表:顺序存储的线性表,它是一种随机存取结构。通过将相邻结点存放在相邻物理位置上来反映结点间逻辑关系。 *14、单链表:每个结点有两个域:一个值域data;另一个指针域next,用来指向该结点的直接后继结点。头指针是它的充分必要的信息。单链表是一种单向的结构。 *15、双链表:每个结点中增加了一个prior,用来指向该点的直接前趋结点。它是一种双向、对称的结构。 *16、循环链表:是一种首尾相接的链表。单循环链表形成一个next链环,而双循环链表形成next链环和prior链环。 *17、存储密度:是指结点数据本身所占的存储量和整个结点结构所占的存储量之比。顺序表的存储密度为1,而链表的存储密度小于1。 *18、栈:只允许在一端进行插入、删除运算的线性表,称为“栈”(stack)。 *19、LIFO表:即后进先出表,修改操作按后进先出的原则进行。譬如栈就是一种LIFO 表。 *20、顺序栈:采用顺序存储结构的栈,称为顺序栈。 *21、链栈:采用链式存储结构的栈,称为链栈。 *22、队列:只允许在一端进行插入、另一端进行删除运算的线性表,称为“队列”(queue)。*23、FIFO表:即先进先出表。譬如队列就是一种FIFO表。 *24、顺序队列:采用顺序存储结构的队列,称为顺序队列。 *25、循环队列:为克服顺序队列中假上溢现象,将向量空间想象为一个首尾相接的圆环,

数据模型所描述的内容包括三个部分

数据模型所描述的内容包括三个部分:数据结构、数据操作、数据约束。 1)数据结构:数据模型中的数据结构主要描述数据的类型、内容、性质以及数据间的联系等。数据结构是数据模型的基础,数据操作和约束都建立在数据结构上。不同的数据结构具有不同的操作和约束。 2)数据操作:数据模型中数据操作主要描述在相应的数据结构上的操作类型和操作方式。 3)数据约束:数据模型中的数据约束主要描述数据结构内数据间的语法、词义联系、他们之间的制约和依存关系,以及数据动态变化的规则,以保证数据的正确、有效和相容。 数据模型按不同的应用层次分成三种类型:分别是概念数据模型、逻辑数据模型、物理数据模型。 1、概念数据模型(Conceptual Data Model):简称概念模型,主要用来描述世界的概念化结构,它使数据库的设计人员在设计的初始阶段,摆脱计算机系统及DBMS的具体技术问题,集中精力分析数据以及数据之间的联系等,与具体的数据管理系统(Database Management System,简称DBMS)无关。概念数据模型必须换成逻辑数据模型,才能在DBMS中实现。 概念数据模型是最终用户对数据存储的看法,反映了最终用户综合性的信息需求,它以数据类的方式描述企业级的数据需求,数据类代表了在业务环境中自然聚集成的几个主要类别数据。 概念数据模型的内容包括重要的实体及实体之间的关系。在概念数据模型中不包括实体的属性,也不用定义实体的主键。这是概念数据模型和逻辑数据模型的主要区别。 概念数据模型的目标是统一业务概念,作为业务人员和技术人员之间沟通的桥梁,确定不同实体之间的最高层次的关系。 在有些数据模型的设计过程中,概念数据模型是和逻辑数据模型合在一起进行设计的。 2、逻辑数据模型(Logical Data Model):简称数据模型,这是用户从数据库所看到的模型,是具体的DBMS所支持的数据模型,如网状数据模型(Network Data Model)、层次

专升本《数据结构》_试卷_答案

专升本《数据结构》 一、(共75题,共150分) 1. 数据的基本单位是()。(2分) A.数据元素 B.记录 C.数据对象 D.数据项 .标准答案:A 2. ()是数据的不可分割的最小单位。(2分) A.数据对象 B.数据元素 C.数据类型 D.数据项 .标准答案:D 3. 算法的空间复杂度是对算法()的度量。(2分) A.时间效率 B.空间效率 C.可读性 D.健壮性 .标准答案:B 4. ()是限制了数据元素的内部结构仅为一个字符的线性表。(2分) A.栈 B.队列 C.串 D.数组 .标准答案:B 5. 串的长度是指串中所含()的个数。(2分) A.不同字符 B.不同字母 C.相同字符 D.所有字符 .标准答案:D 6. 采用带头结点双向链表存储的线性表,在删除一个元素时,需要修改指针()次。(2分) A.1 B.2 C.3 D.4 .标准答案:B 7. 线性表的顺序存储结构是一种()的存储结构。(2分) A.顺序存取 B.随机存取 C.索引存取 D.Hash存取 .标准答案:B 8. 数组a[1..m]采用顺序存储,a[1]和a[m]地址分别为1024和1150,每个元素占2字节,则m是()。(2分) A.64 B.32 C.16 D.8 .标准答案:A 9. 深度为h的二叉树,第h层最多有()个结点。(2分) A.h B.2h-1 C.2h-1 D.2h .标准答案:C 10. m个结点的二叉树,其对应的二叉链表共有()个非空链域。(2分) A.m B.m+1 C.2m D.m-1 .标准答案:B 11. 下面叙述错误的是()。(2分) A.顺序表是借助物理单元相邻表示数据元素之间的逻辑关系 B.对于空队列进行出队操作过程中发生下溢现象 C.有向图的邻接矩阵一定是对称的 D.具有相同的叶子个数和具有相同的叶子权值的赫夫曼树不是唯一的 .标准答案:C 12. 以下与数据的存储结构无关的术语是()。(2分) A.循环队列 B.双向链表 C.哈希表 D.数组 .标准答案:D 13. 在一个长度为n的链式栈中出栈实现算法的时间复杂度为()。(2分) A.O(1) B.O(log n) C.O(n) D.O(n2) .标准答案:A 14. 在具有k个度数为2的二叉树中,必有()个叶子结点。(2分) A.k B.k-1 C.2k D.k+1 .标准答案:D 15. 在关键字序列(10,20,30,40,50)中,采用折半法查找20,关键字之间比较需要()次。(2分) A.1 B.2 C.3 D.4 .标准答案:C 16. 16某二叉树的后序遍历序列和和中序遍历序列均为abcd,该二叉树的前序遍历序列是()。(2分) A.abcd B.dcba C.acbd D.dbca .标准答案:B 17. n个顶点的无向连通图的生成树,至少有()个边。(2分) A.n(n-1) B.n(n-1)/2 C.2n D.n-1 .标准答案:D 18. 可以采用()这种数据结构,实现二叉树的层次遍历运算。(2分) A.队列 B.树 C.栈 D.集合 .标准答案:A

数据库概论第章习题参考答案

第1章绪论习题参考答案 1、试述数据、数据库、数据库管理系统、数据库系统的概念。(参见P3、4、5页) 参考答案: 描述事物的符号记录称为数据;数据库是长期储存在计算机内的、有组织的、可共享的数据集合;数据库管理系统是位于用户与操作系统之间的一层数据管理软件; 数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。 2.使用数据库系统有什么好处?(参见P12页) 参考答案: 数据库系统使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的阶段,这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用率和相容性,提高了决策的可靠性。 3.试述文件系统与数据库系统的区别和联系。(8、9、10页) 参考答案: 1)数据结构化是数据库与文件系统的根本区别。 在文件系统中,相互独立的文件的记录内部是有结构的,管其记录内部已有了某些结构,但记录之间没有联系。数据库系统实现整体数据的结构化,是数据库的主要特征之一。 2)在文件系统中,数据的最小存取单位是记录,粒度不能细到数据项。而在数据库系统中,存取数据的方式也很灵活,可以存取数据库中的某一个数据项、一组数据项一个记录或或一组记录。 3)文件系统中的文件是为某一特定应用服务的,文件的逻辑结构对该应用程序来说是优化的,因此要想对现有的数据再增加一些新的应用会很困难,系统不容易扩充。而在数据库系统中数据不再针对某一应用,而是面向全组织,具有整体的结构化。 5.试述数据库系统的特点。(9、10、11页) 参考答案: 数据结构化;数据的共享性高、冗余度低、易扩充;数据独立性高;数据由DBMS统一管理和控制。 6.数据库管理系统的主要功能有哪些? (4页) 参考答案:数据定义功能、数据操纵功能、数据库的运行管理、数据库的建立和维护功能。7.试述数据模型的概念(13页)、数据模型的作用、数据模型的三个要素。(14、15页) 参考答案:

2017年中山大学南方学院专插本《数据结构与算法》考试大纲

本科插班生考试大纲《数据结构与算法》 《数据结构与算法》专业课程考试大纲 考试科目名称:数据结构与算法 一、考试性质 普通高等学校本科插班生招生考试是由专科毕业生参加的选拔性考试。高等学校根据考生的成绩,按已确定的招生计划,德、智、体全面衡量,择优录取。该考生所包含的内容将大致稳定,试题形式多种,具有对学生把握本课程程度的较强识别、区分能力。 二.考试内容及要求 一、考试基本要求 通过数据结构与算法理论的学习,使学生学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及相应的算法,并初步了解对算法的时间分析和空间分析技术;配合算法设计和上机实践的训练,还应培养学生的数据抽象能力和程序设计的能力,对理论和实践的操作使学生得到全面的领会和深刻的认识。 二、考核知识点及考核要求 本大纲的考核中,按照“识记”、“领会”、“简单应用”和“综合应用”等四个层次规定应达到的能力层次要求。各能力层次为递进等级关系,后者必须建立在前者的基础上,其含义是: 识记:要求考生知道有关的名词、概念、原理、知识的含义,并能正确认识或识别。 领会:要求在识记的基础上,能把握相关的基本概念、基本原理和基本方法,掌握有关概念、原理、方法的区别与联系。 简单应用:要求在领会的基础上,运用所掌握的基本概念、基本原理和基本方法中的少量知识点,分析和解决一般的理论问题或实际问题。 综合应用:要求在简单应用的基础上,运用学过的多个知识点,综合分析和解决比较复杂的实际问题。

第1章绪论 一、考核知识点 1、数据结构的基本概念 2、抽象数据类型的表示和实现 3、算法的概念和特性 4、算法时间复杂度和空间复杂度分析 二、考核要求 1、识记 (1)数据结构的研究内容 2、领会 (1)抽象数据类型的表示和实现 (2)算法的定义和特性 (3)评价算法优劣的基本标准 3、简单应用 (1)简单数据结构的程序设计 (2)简单数据结构程序的时间复杂度和空间复杂度分析 4、综合应用 (1)数据结构的一些基本概念 (2)算法的时间复杂度分析 第2章线性表 一、考核知识点 1、线性表的类型定义 2、线性表的顺序表示和实现 3、线性表的链式表示和实现 4、线性表的应用

广东技术师范学院2018年专插本《计算机科学技术导论》考试大纲

广东技术师范学院 《计算机科学技术导论》(本科插班生入学考试)考试大纲 (计算机科学学院制定) 一、考试性质与试题命题的原则 《计算机科学技术导论》是广东技术师范学院为计算机科学与技术等专业的本科 插班生入学考试所设置的一个专业课考试科目。它的评价标准是高等学校计算机类专 业高职高专毕业生或相近专业毕业生能达到的及格或及格以上水平,以保证录取的本 科插班生具有一定的计算机科学基础理论及必要的专业技能能力,以利于择优选拔。 考试对象为参加教育部面向全面招生的本科插班生入学考试的高职高专毕业生以及 具有同等学历的报考人员。 《计算机科学技术导论》课程考试的目的和要求是:准确、简明地考核考生对计算机科学体系框架、计算机科学基本知识以及现代计算机发展方向、主要理论和科学方法的掌握和理解水平,衡量他们在理解、掌握和运用这些基本专业理论和知识的基础上,观察、分析和解决技术问题的能力。 二、考试形式及试卷结构 1.考试形式为闭卷、笔试;考试时间为120分钟,试卷满分为100分。 2、试题命制的原则:作为一项选拔性考试,《计算机科学技术导论》考试试题在设计上应具有较高的信度和效度、必要的区分度和合理的难度。命题根据本大纲规定的考试目标和考核内容,考试命题应具有一定的覆盖面且重点突出,侧重考核考生对本学科的基本理论、基本知识和基本技能的掌握程度,以及运用所学的知识解决实际问题的能力。 3.试题对不同能力层次要求的分数比例:识记25%、理解55%,综合应用15%,其他5%。 4.合理安排试题的难度结构。试题难易度分为易、较易、较难、难四个等级。试卷中难易度试题的分布比例,易约占25%,较易约占35%,较难约占20%,难约占10%。 5.试卷的题型有:单项选择题、多项选择题、简答题、改错题、计算题、填空题、综合题等。可根据考核要求,适当安排各种题型数量的比例,达到考核对知识点的识记、理解以及运用水平和能力。

数据库系统 包括题目和答案

数据库系统原理复习题 第1章 一、选择题 1.数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(A )。 A. DBS包括DB和DBMS B. DBMS包括DB和DBS C. DB包括DBS和DBMS D. DBS就是DB,也就是DBMS 2.概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是(D )。 A.层次模型 B. 关系模型 C. 网状模型 D. 实体-联系模型 3.目前,数据库管理系统最常用的逻辑数据模型是(C)。 A.网状模型B.层次模型 C.关系模型D.面向对象模型 4.下列四项中,不属于数据库系统特点的是(C)。 A.数据共享 B. 数据完整性 C. 数据冗余度高 D. 数据独立性高 5.数据模型的三个要素分别是(B )。 A.实体完整性、参照完整性、用户自定义完整性 B.数据结构、数据操作、数据完整性约束条件 C.插入数据、修改数据、删除数据 D.外模式、模式、内模式 6.数据库三级结构从内到外的3个层次依次为(B)。 A.外模式、模式、内模式 B. 内模式、模式、外模式 C. 模式、外模式、内模式 D. 内模式、外模式、模式 7.下列关于数据库系统的正确叙述是(A): A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余 C.数据库系统中数据的一致性是指数据类型的一致 D.数据库系统比文件系统能管理更多的数据 8.数据的逻辑独立性是指(B)。 A.外模式改变时保持应用程序不变B.模式改变时保持外模式不变 C.内模式改变时保持模式不变D.数据改变时保持应用程序不变

9.数据的物理独立性是指(C)。 A.外模式改变时保持应用程序不变B.模式改变时保持外模式不变 C.内模式改变时保持模式不变D.数据改变时保持应用程序不变 10.公司有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职 员,从部门到职员的联系类型是(D)。 A.多对多 B. 一对一 C. 多对一 D. 一对多 11.储蓄所有多个储户,储户在多个储蓄所之间存款,储户与储蓄所之间是(C)。 A.一对一联系 B. 一对多联系 C. 多对多联系 D. 不确定联系 12.描述数据库全体数据的全局逻辑结构和特性的是(A)。 A.模式 B. 内模式 C. 外模式 D. 以上三级模式 二、填空 1. 数据库系统一般由(数据库)、(数据库管理系统)、(应用程序)和(数据库管理员) 组成。 2. 数据库是长期存储在计算机中、有(组织)的、可(共享)的数据集合。 3. DBMS表示(DataBase Management System),它是位于(用户)和(操作系统)之 间的一层数据管理软件。 4. 实体之间的联系可抽象为三类,它们是(一对一)、(一对多)和(多对多)。 5. 数据模型的三要素包括(数据结构)、(数据操作)和(数据完整性约束条件)三部 分。 6. 根据数据模型的应用目的不同,数据模型分为(概念模型)、(逻辑模型)和(物理 模型)等。 7. 按照数据结构的类型命名,逻辑模型分为(关系模型)、(层次模型)和(网状模型) 等。 8. E-R图中,(矩形)表示实体,(椭圆)表示属性,(菱形)表示实体之间的联系。 三、简述题 1. 数据库是长期存贮在计算机内的、有组织的、可共享的大量数据的集合。 2. 数据库管理系统的主要功能包括: (1)数据定义功能, (2)数据的组织、存储和管理,

数据结构

(1) The Linked List is designed for conveniently b data item. a. getting b. inserting c. finding d.locating (2) Assume a sequence list as 1,2,3,4,5,6 passes a stack, an impossible output sequence list Is c . a. 2,4,3,5,1,6 b.3,2,5,6,4,1 c.1,5,4,6,2,3 d.4,5,3,6,2,1 (3) A queue is a structure not implementing b . a. first-in/first-out b. first-in/last-out c. last-in/last-out d. first-come/first-serve (4) Removing the data item at index i from a sequential list with n items, d items need to be shifted left one position. a. n-i b. n-i+1 c. i d. n-i-1 (5) There is an algorithm with inserting an item to a ordered SeqList and still keeping the SeqList ordered. The computational efficiency of this inserting algorithm is c . a. O(log2n) b. O(1) c. O(n) d.(n2) (6) The addresses which store Linked List d . a. must be sequential b. must be partly sequential c. must be no sequential d. can be sequential or discontiguous (7) According the definition of Binary Tree, there will be b different Binary Trees with 5 nodes. a. 6 b. 5 c. 4 d. 3 (8) In the following 4 Binary Trees, c is not the complete Binary Tree. a b c d (9) A Binary Tree will have a nodes on its level i at most. a.2i b. 2i c.2i+1 d.2i-1 (10) If the Binary Tree T2 is transformed from the Tree T1, then the postorder of T1 is the b of T2. a. preorder b. inorder c. postorder d. level order (11) In the following sorting algorithm, c is an unstable algorithm. a. the insertion sort b. the bubble sort c. quicksort d. mergesort (12) Assume there is a ordered list consisting of 100 data items, using binary search to find a special item, the maximum comparisons is d . a. 25 b.1 c. 10 d.7 (13) The result from scanning a Binary Search Tree in inorder traversal is in c order. a. descending or ascending b. descending c. ascending d. out of order (14) The d case is worst for quicksort. a. the data which will be sorted is too larger. b. there are many same item in the data which will be sorted . c. the data will be sorted is out of order d. the data will be sorted is already in a sequential order. (15) In a Binary Tree with n nodes, there is a non-empty pointers. a. n-1 b. n+1 c. 2n-1 d.2n+1 (16) In a undirected graph with n vertexs, the maximum edges is b . a. n(n+1)/2 b. n(n-1)/2 c. n(n-1) d.n2 (17) The priority queue is a structure implementing c . a. inserting item only at the rear of the priority queue.

2019年本科插班生考试试题《数据结构》A试卷

韩山师范学院2019年本科插班生招生考试 计算机科学与技术 专业 数据结构 试卷(A 卷) 一、单项选择题(每题2分,共30分) 1. 由3个结点可以构造出多少种不同的二叉树?( ) A .2 B .3 C .4 D .5 2. 一个栈的输入序列为A B C ,则下列序列中不可能是栈的输出序列的是( )。 A. B C A B.C B A C. C A B D. A B C 3. 算法的时间复杂度取决于( ) 。 A .问题的规模 B .待处理数据的初态 C .计算机的配置 D .A 和B 4. 数组的逻辑结构不同于下列( )的逻辑结构。 A. 树 B. 栈 C. 队列 D. 线性表 5. 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动的元素个数为( )。 A .8 B .63.5 C .63 D .7 6. 用邻接表表示图进行深度优先遍历时,通常借助( )来实现算法。 A .队列 B. 栈 C. 树 D .图 7. 数据的最小单位是( )。 A.数据元素 B.数据项 C.数据类型 D. 数据变量

8. 设无向图G中有n个顶点,则该无向图的最小生成树上有() 条边。 A. 2n B. 2n-1 C. n-1 D. n 9. 为解决计算机主机与打印机间速度不匹配问题,通常设一个打印数据缓冲区。主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是()。 A.栈 B.队列 C.线性表 D.有序表 10. 程序段s=i=0;do {i=i+1; s=s+i;}while(i<=n);的时间复杂 度为()。 n) C.O(n2) D.O(n3/2) A. O(n) B. O(nlog 2 11.设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为()。 A. q=p->next;p->next=q->next;free(q); B. q=p->next;p->data=q->data;free(q); C. q=p->next;p->data=q->data;p->next=q->next;free(q); D. q=p->next;q->data=p->data;p->next=q->next;free(q); 12. 顺序表中第一个元素的存储地址是100,每个元素的长度为2,则 第15个元素的地址是()。 A.110 B.108 C.100 D.128 13. 一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足()。 A.所有的结点均无左孩子 B.所有的结点均无右孩子 C.只有一个叶子结点 D.是任意一棵二叉树 14. 具有n个顶点的有向图最多有()条边。 A.n B.n2 C.n(n+1) D.n(n-1) 15. 设用邻接矩阵A表示有向图G的存储结构,则有向图G中顶点i 的入度为()。 A.第i行非0元素的个数之和 B. 第i列非0元素的个数之和 C.第i行0元素的个数之和 D. 第i列0元素的个数之和

相关文档
最新文档