2011辽宁省数据结构(C++)考试重点和考试技巧

合集下载

计算机等级考试中常见的数据结构题解题方法

计算机等级考试中常见的数据结构题解题方法

计算机等级考试中常见的数据结构题解题方法数据结构是计算机科学中十分重要的一门学科,它研究的是数据的组织、存储方式以及数据之间的关系等。

在计算机等级考试中,数据结构题目常常涉及到不同的数据结构的使用和解题方法。

本文将介绍一些常见的数据结构题解题方法,帮助考生更好地应对这类题目。

一、栈(Stack)栈是一种具有“先进后出”特点的数据结构,常用的操作有入栈(push)、出栈(pop)以及获取栈顶元素(top)等。

在计算机等级考试中,栈常常被用于处理括号匹配、表达式求值、深度优先搜索等问题。

下面以括号匹配为例,介绍解题方法。

1. 括号匹配括号匹配是栈的经典应用,题目通常要求判断输入的括号序列是否合法。

解题思路如下:- 创建一个空栈;- 从左到右遍历括号序列;- 如果是左括号,则入栈;- 如果是右括号,且栈为空,则返回不合法;- 如果是右括号,且栈不为空,则出栈;- 最后判断栈是否为空,若为空则表示序列合法,若不为空则表示序列不合法。

二、队列(Queue)队列是一种具有“先进先出”特点的数据结构,常用的操作有入队(enqueue)、出队(dequeue)以及获取队首元素(front)等。

在计算机等级考试中,队列常常用于解决与时间有关的问题,如进程调度、排队等。

下面以进程调度为例,介绍解题方法。

1. 短作业优先调度算法短作业优先调度算法是一种常用的进程调度算法,它根据各个进程的执行时间长度来进行排序,并让执行时间最短的进程先执行。

解题步骤如下:- 将所有进程按照执行时间从小到大进行排序;- 依次执行排序后的进程。

三、链表(Linked List)链表是一种非连续存储结构,每个节点包含数据元素和指向下一个节点的指针。

链表的常用操作有插入、删除、查找等。

在计算机等级考试中,链表常常用于解决节点间关系较为复杂的问题,如查找中间节点、反转链表等。

下面以查找中间节点为例,介绍解题方法。

1. 查找中间节点题目要求查找链表中的中间节点,解题思路如下:- 使用两个指针,一个快指针和一个慢指针;- 快指针每次移动两个节点,慢指针每次移动一个节点;- 当快指针到达链表末尾时,慢指针就指向了中间节点。

2011年辽宁省C#语言要领

2011年辽宁省C#语言要领
26. .(1)top++ (2) stack[top]=p->rchild (3)top++ (4)stack[top]=p->lchild
27. (1)*ppos // 根结点 (2)rpos=ipos (3)rpos–ipos (4)ipos (5)ppos+1
1、设一棵树T中边的集合为{(A,B),(A,C),(A,D),(B,E),(C,F),(C,G)},要求用孩子兄弟表示法(二叉链表)表示出该树的存储结构并将该树转化成对应的二叉树。
2、根据二叉排序树中序遍历所得结点值为增序的性质,在遍历中将当前遍历结点与其前驱结点值比较,即可得出结论,为此设全局指针变量pre(初值为null)和全局变量flag,初值为true。若非二叉排序树,则置flag为false。
char pred[MAX],inod[MAX];
main(int argc,int **argv)
{ TNODE *root;
if(argc<3) exit 0;
strcpy(pred,argv[1]); strcpy(inod,argv[2]);
root=restore(pred,inod,strlen(pred));
InOrder(bt->rchild); //中序遍历左子树
pre->rchild=null; //设置链表尾
}
return(head); } //InOrder
时间复杂度为O(n),辅助变量使用head和pre,栈空间复杂度O(n)
7、(1)p->rchild (2)p->lchild (3)p->lchild (4)ADDQ(Q,p->lchild) (5)ADDQ(Q,p->rchild)

数据结构(C语言)考试重点必背

数据结构(C语言)考试重点必背

第一章:绪论1、1:数据结构课程得任务就是:讨论数据得各种逻辑结构、在计算机中得存储结构以及各种操作得算法设计。

1、2:数据:就是客观描述事物得数字、字符以及所有得能输入到计算机中并能被计算机接收得各种集合得统称。

数据元素:表示一个事物得一组数据称作就是一个数据元素,就是数据得基本单位。

数据项:就是数据元素中有独立含义得、不可分割得最小标识单位。

数据结构概念包含三个方面:数据得逻辑结构、数据得存储结构得数据得操作。

1、3数据得逻辑结构指数据元素之间得逻辑关系,用一个数据元素得集合定义在此集合上得若干关系来表示,数据结构可以分为三种:线性结构、树结构与图。

1、4:数据元素及其关系在计算机中得存储表示称为数据得存储结构,也称为物理结构。

数据得存储结构基本形式有两种:顺序存储结构与链式存储结构。

2、1:算法:一个算法就是一个有穷规则得集合,其规则确定一个解决某一特定类型问题得操作序列。

算法规则需满足以下五个特性:输入——算法有零个或多个输入数据。

输出——算法有一个或多个输出数据,与输入数据有某种特定关系。

有穷性——算法必须在执行又穷步之后结束。

确定性——算法得每个步骤必须含义明确,无二义性。

可行性——算法得每步操作必须就是基本得,它们得原则上都能够精确地进行,用笔与纸做有穷次就可以完成。

有穷性与可行性就是算法最重要得两个特征。

2、2:算法与数据结构:算法建立数据结构之上,对数据结构得操作需用算法来描述。

算法设计依赖数据得逻辑结构,算法实现依赖数据结构得存储结构。

2、3:算法得设计应满足五个目标:正确性:算法应确切得满足应用问题得需求,这就是算法设计得基本目标。

健壮性:即使输入数据不合适,算法也能做出适当得处理,不会导致不可控结高时间效率:算法得执行时间越短,时间效率越高。

果。

高空间效率:算法执行时占用得存储空间越少,空间效率越高。

可读性:算法得可读性有利于人们对算法得理解。

2、4:度量算法得时间效率,时间复杂度,(课本39页)。

数据结构必考知识点总结

数据结构必考知识点总结

数据结构必考知识点总结在准备考试时,了解数据结构的基本概念和相关算法是非常重要的。

以下是一些数据结构的必考知识点总结:1. 基本概念数据结构的基本概念是非常重要的,包括数据、数据元素、数据项、数据对象、数据类型、抽象数据类型等的概念。

了解这些概念有助于更好地理解数据结构的本质和作用。

2. 线性表线性表是数据结构中最基本的一种,它包括顺序表和链表两种实现方式。

顺序表是将数据元素存放在一块连续的存储空间内,而链表是将数据元素存放在若干个节点中,每个节点包含数据和指向下一个节点的指针。

了解线性表的概念和基本操作是非常重要的。

3. 栈和队列栈和队列是两种特殊的线性表,它们分别具有后进先出和先进先出的特性。

栈和队列的实现方式有多种,包括数组和链表。

掌握栈和队列的基本操作和应用是数据结构的基本内容之一。

4. 树结构树是一种非线性的数据结构,它包括二叉树、多路树、二叉搜索树等多种形式。

了解树的基本定义和遍历算法是必考的知识点。

5. 图结构图是一种非线性的数据结构,它包括有向图和无向图两种形式。

了解图的基本概念和相关算法是非常重要的,包括图的存储方式、遍历算法、最短路径算法等。

6. 排序算法排序是一个非常重要的算法问题,掌握各种排序算法的原理和实现方式是必不可少的。

常见的排序算法包括冒泡排序、选择排序、插入排序、快速排序、归并排序等。

7. 查找算法查找是另一个重要的算法问题,包括顺序查找、二分查找、哈希查找、树查找等。

了解各种查找算法的原理和实现方式是必考的知识点之一。

8. 算法复杂度分析算法的时间复杂度和空间复杂度是评价算法性能的重要指标,掌握复杂度分析的方法和技巧是非常重要的。

9. 抽象数据类型ADT是数据结构的一种概念模型,它包括数据的定义和基本操作的描述。

了解ADT的概念和实现方式是非常重要的。

10. 动态存储管理动态存储管理是数据结构中一个重要的问题,包括内存分配、内存释放、内存回收等。

了解动态存储管理的基本原理和实现方式是必考的知识点之一。

(完整word版)数据结构C语言版期末考试试题(有答案)

(完整word版)数据结构C语言版期末考试试题(有答案)

“数据结构”期末考试试题一、单选题(每小题2分,共12分)1.在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。

A. HL=ps p一>next=HLB. p一>next=HL;HL=p3C. p一>next=Hl;p=HL;D. p一>next=HL一>next;HL一>next=p;2.n个顶点的强连通图中至少含有( )。

A.n—l条有向边B.n条有向边C.n(n—1)/2条有向边D.n(n一1)条有向边3.从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为( )。

A.O(1)B.O(n)C.O(1Ogzn)D.O(n2)4.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )。

A.24 B.48C. 72 D. 535.当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。

A.整形B.引用型C.指针型D.常值引用型·6.向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( )。

A.O(n) B.O(1)C.O(n2) D.O(10g2n)二、填空题(每空1分,共28分)1.数据的存储结构被分为——、——、——和——四种。

2.在广义表的存储结构中,单元素结点与表元素结点有一个域对应不同,各自分别为——域和——域。

3.——中缀表达式 3十x*(2.4/5—6)所对应的后缀表达式为————。

4.在一棵高度为h的3叉树中,最多含有——结点。

5.假定一棵二叉树的结点数为18,则它的最小深度为——,最大深度为——· 6.在一棵二叉搜索树中,每个分支结点的左子树上所有结点的值一定——该结点的值,右子树上所有结点的值一定——该结点的值。

7.当向一个小根堆插入一个具有最小值的元素时,该元素需要逐层——调整,直到被调整到——位置为止。

全国计算机二级C2011年9月考试真题与答案(打印版)

全国计算机二级C2011年9月考试真题与答案(打印版)

201 1 年 9 月全国计算机等级考试二级笔试试卷(考试时间 90 分钟,满分 100 分)一、选择题((1)-(10)、(21)-(40)每题 2 分,(11)-(20)每题 1 分,共 70 分)下列各题 A)、B)、C)、D)四个选项中,只有一个选项是正确的。

请将正确选项填涂在答题卡相应位置上答在试卷上不得分。

(1)下列叙述中正确的是( )。

A)算法就是程序 B)设计算法时只需要考虑数据结构的设计C)设计算法时只需要考虑结果的可靠性 D)以上三种说法都不对(2)下列关于线性链表的叙述中,正确的是( )。

A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C)进行插入与删除时,不需要移动表中的元素D)以上三种说法都不对(3)下列关于二叉树的叙述中,正确的是( )。

A)叶子结点总是比度为 2 的结点少一个B)叶子结点总是比度为 2 的结点多一个C)叶子结点数是度为 2 的结点数的两倍D)度为 2 的结点数是度为 1 的结点数的两倍(4)软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是( )。

A)学生成绩管理系统 B)C 语言编译程序 C)UNIX 操作系统 D)数据库管理系统(5)该系统总体结构图的深度是( )。

A)7 B)6 C)3 D)2(6)程序调试的任务是( )。

A)设计测试用例 B)验证程序的正确性 C)发现程序中的错误 D)诊断和改正程序中的错误(7)下列关于数据库设计的叙述中,正确的是( )。

A)在需求分析阶段建立数据字典 B)在概念设计阶段建立数据字典C)在逻辑设计阶段建立数据字典 D)在物理设计阶段建立数据字典(8)数据库系统的三级模式不包括( )。

A)概念模式 B)内模式 C)外模式 D)数据模式(9)有三个关系 R 、S 利 T 如下:A)自然连接B)差C)交D)并(10)下列选项中属于面向对象设计方法主要特征的是( )。

2011年辽宁省数据结构试题大全考试答题技巧

2011年辽宁省数据结构试题大全考试答题技巧
A.逻辑 B.存储 C.逻辑和存储 D.物理
36、需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。
A.单链表 B.静态链表 C.线性链表 D.顺序存储结构
37、以下说法正确的是 D 。
A.数据项是数据的基本单位
B.p->prior = s;p->prior->next = s;s->next = p;s->prior = p->prior
C.s->next = p;s->prior = p->prior;p->prior = s;p->prior->next = s
D.s->next = p;s->prior = p->prior;p->prior->next = s;p->prior = s
C.不必事先估计存储空间 D.所需空间与其长度成正比
11、n个顶点的强连通图中至少含有( )。
A.n—l条有向边 B.n条有向边
C.n(n—1)/2条有向边 D.n(n一1)条有向边
12、若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用
42、与单链表相比,双链表的优点之一是 D 。
A.插入、删除操作更简单
B.可以进行随机访问
C.可以省略表头指针或表尾指针
D.顺序访问相邻结点更灵活
43、在决定选取何种存储结构时,一般不考虑 A 。
A.各结点的值如何 B.结点个数的多少
C.对数据有哪些运算 D.所用的编程语言实现这种结构是否方便。
C)4,2,3,1 D)2,3,4,1
9、需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。

数据结构c语言期末考试试题及答案

数据结构c语言期末考试试题及答案

数据结构c语言期末考试试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个函数用于创建链表节点?A. mallocB. callocC. reallocD. free答案:A3. 如果一个链表的头指针为NULL,这意味着什么?A. 链表为空A. 链表已满C. 链表正在使用中D. 链表已损坏答案:A4. 在C语言中,以下哪个数据结构允许快速随机访问?A. 链表B. 数组C. 栈D. 队列5. 在二叉树中,以下哪个术语描述了没有子节点的节点?A. 根节点B. 叶节点C. 内部节点D. 父节点答案:B6. 以下哪个算法用于在二叉搜索树中查找一个元素?A. 深度优先搜索B. 广度优先搜索C. 插入排序D. 二分查找答案:D7. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. struct答案:A8. 以下哪个选项是正确的递归函数定义?A. int fact(int n) { if (n > 1) return n * fact(n-1); else return 1; }B. int fact(int n) { if (n > 1) return n * fact(n); else return 1; }C. int fact(int n) { if (n > 1) return n * fact(n+1); else return 1; }D. int fact(int n) { if (n > 1) return n; else return 1; }9. 在C语言中,以下哪个函数用于释放动态分配的内存?A. mallocB. callocC. reallocD. free答案:D10. 在C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. *D. &答案:C二、填空题(每题2分,共20分)1. 在C语言中,结构体的成员可以通过其结构体变量名和______访问。

(完整word版)大学数据结构期末知识点重点总结(考试专用)

(完整word版)大学数据结构期末知识点重点总结(考试专用)

第一章概论1。

数据结构描述的是按照一定逻辑关系组织起来的待处理数据元素的表示及相关操作,涉及数据的逻辑结构、存储结构和运算2。

数据的逻辑结构是从具体问题抽象出来的数学模型,反映了事物的组成结构及事物之间的逻辑关系可以用一组数据(结点集合K)以及这些数据之间的一组二元关系(关系集合R)来表示:(K, R)结点集K是由有限个结点组成的集合,每一个结点代表一个数据或一组有明确结构的数据关系集R是定义在集合K上的一组关系,其中每个关系r(r∈R)都是K×K上的二元关系3.数据类型a。

基本数据类型整数类型(integer)、实数类型(real)、布尔类型(boolean)、字符类型(char)、指针类型(pointer)b。

复合数据类型复合类型是由基本数据类型组合而成的数据类型;复合数据类型本身,又可参与定义结构更为复杂的结点类型4.数据结构的分类:线性结构(一对一)、树型结构(一对多)、图结构(多对多)5。

四种基本存储映射方法:顺序、链接、索引、散列6。

算法的特性:通用性、有效性、确定性、有穷性7.算法分析:目的是从解决同一个问题的不同算法中选择比较适合的一种,或者对原始算法进行改造、加工、使其优化8.渐进算法分析a.大Ο分析法:上限,表明最坏情况b.Ω分析法:下限,表明最好情况c.Θ分析法:当上限和下限相同时,表明平均情况第二章线性表1.线性结构的基本特征a.集合中必存在唯一的一个“第一元素”b。

集合中必存在唯一的一个“最后元素"c.除最后元素之外,均有唯一的后继d。

除第一元素之外,均有唯一的前驱2.线性结构的基本特点:均匀性、有序性3。

顺序表a.主要特性:元素的类型相同;元素顺序地存储在连续存储空间中,每一个元素唯一的索引值;使用常数作为向量长度b。

线性表中任意元素的存储位置:Loc(ki)= Loc(k0)+ i * L(设每个元素需占用L个存储单元)c. 线性表的优缺点:优点:逻辑结构与存储结构一致;属于随机存取方式,即查找每个元素所花时间基本一样缺点:空间难以扩充d.检索:ASL=【Ο(1)】e。

数据结构(C语言版)复习要点(含专业术语解释)

数据结构(C语言版)复习要点(含专业术语解释)

一、概念【以下二十个词是概念的考试范围】数据:是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。

数据元素:是数据的根本单位,在计算机程序中通常作为一个整体进展考虑和处理数据构造:是互相之间存在一个或多种特定关系的数据元素的集合。

线性表:最常用最简单的一种数据构造,一个线性表是n个数据元素的有限序列队列:是一种先进先出的线性表,它只允许在表的一端进展插入,而另一端删除元素串:由零个或多个字符组成的有限序列完全二叉树:深度为K的,有N个节点的二叉树,当且仅当其没一个结点都与深度为K的满二叉树中编号从1至N的结点一一对应时。

图:多个结点,结点间的关系可以是任意的,图中任意两个元素之间都有可能相关入度:以顶点V为头的弧的数目称为V的入度出度:以V为尾的弧的数目称为V的入度拓扑排序:由某个集合上的一个偏序得到集合上的一个全序的操作二叉排序树:或者是空树,或者是符合以下性质的二叉树1、假设它的左子树不空,那么左子树上所有结点均小于它的根结点值。

2、假设它的右子树不空,那么右子树上所有结点均大于它的根结点值3、它的左右子树也分别是二叉排序树循环链表:是另一种形式的链式存储构造。

它的特点是表中最后一个结点的指针域指向头结点,整个链表形成一个环栈:是限定仅在表尾进展插入或删除操作的线性表二叉树:是一种树型的构造,它的特点是每个结点至多只有两棵子树,且有左右之分,不可任意颠倒满二叉树一颗深度为K且有2的K次方减1个结点的二叉树查找表:是由同一类型的数据元素构成的集合静态查找表:查询某个特定的数据元素是否在查找表中,检索某个特定的数据元素的各种属性。

动态查找表:在查找过程中同时插入查找不存在的数据元素,或者从查找表中删除已存在的某个数据元素排序:是计算机程序设计中的一种重要操作,它的功能是将一个数据元素的任意序列,重新排列成一个关键字的有序序列。

关键字:是数据元素中某个数据项的值,用它可以识别一个数据元素二、算法总体要求:1、要求写算法的题,能写出完好、正确的算法语句总分值;写出主要算法、不完好的也有分;实在不会算法,能用文字明晰描绘的也有分;一个字不写,空白当然没分。

计算机等级考试中数据结构题解题技巧

计算机等级考试中数据结构题解题技巧

计算机等级考试中数据结构题解题技巧数据结构是计算机科学中非常重要的一个概念,它涉及到如何组织和存储数据,以及在这些数据上进行各种操作的方法和技巧。

对于计算机等级考试而言,数据结构题目通常会是一种较为常见的题型。

为了帮助大家更好地应对这类题目,本文将介绍一些解题技巧和注意事项。

一、理解题目要求在解答任何题目之前,首先要充分理解题目的要求。

数据结构题目往往会给出一些具体的问题或者操作需求,而我们需要根据这些要求来选择合适的数据结构以及相应的算法。

因此,在开始解题之前,仔细阅读题目,确保对问题和操作要求有一个准确的理解。

二、选择合适的数据结构不同的数据结构适用于不同的场景和需求,因此在解题时要根据题目要求选择合适的数据结构。

常见的数据结构有数组、链表、队列、栈、树、图等,它们各自具有不同的特点和适用范围。

在选择数据结构时,需要考虑到题目的具体情况,比如是否需要频繁插入、删除、查找等操作,以及对数据的有序性要求等。

选择合适的数据结构可以使解题过程更加高效和简洁。

三、掌握基本操作对于每种数据结构,都有其对应的基本操作,比如在数组中插入元素、在链表中删除节点、在树中查找节点等。

掌握这些基本操作非常重要,它们是解决数据结构题目的基础。

在复习和练习过程中,要多加强对这些基本操作的理解和掌握,熟练运用它们可以帮助我们更好地解决各种数据结构题目。

四、熟悉常见算法和实现在解题过程中,经常需要使用一些常见的算法和实现方式,比如深度优先搜索(DFS)、广度优先搜索(BFS)、递归、迭代等。

熟悉这些算法和实现方式可以帮助我们更快地解决问题,提高解题效率。

因此,在复习过程中,要重点关注这些常见算法和实现方式,并进行充分的练习和巩固。

五、注重代码实现的细节在解题时,不仅需要考虑算法和数据结构的选择,还需要注重代码实现的细节。

比如,在使用指针或引用时,要注意指针是否为空,引用是否合法;在对链表进行操作时,需要注意头节点和尾节点的处理;对于递归算法,要注意递归条件和终止条件的设置等。

完整word版数据结构C语言版期末复习汇总

完整word版数据结构C语言版期末复习汇总

数据结构(C语言版)期末复习汇总第一章绪论数据结构:是一门研究非数值计算程序设计中的操作对象,以及这些对象之间的关系和操作的学科。

数据结构是一门综合性的专业课程,是一门介于数学、计算机硬件、计算机软件之间的一门核心课程。

是设计和实现编译系统、操作系统、数据库系统及其他系统程序和大型应用程序的基础。

数据:是客观事物的符号表示,是所有能输入到计算机中并被计算机程序处理的符号的总称。

如数学计算中用到的整数和实数,文本编辑中用到的字符串,多媒体程序处理的图形、图像、声音及动画等通过特殊编码定义后的数据。

数据的逻辑结构划分:线、树、图算法的定义及特性算法:是为了解决某类问题而规定的一个有限长的操作序列。

五个特性:有穷性、确定性、可行性、输入、输出评价算法优劣的基本标准(4个):正确性、可读性、健壮性、高效性及低存储量第二章线性表线性表的定义和特点:线性表:由n(n≥0)个数据特性相同的元素构成的有限序列。

线性表中元素个数n(n≥0)定义为线性表的长度,n=0时称为空表。

非空线性表或线性结构,其特点:(1)存在唯一的一个被称作“第一个”的数据元素;(2)存在唯一的一个被称作“最有一个”的数据元素;(3)除第一个之外,结构中的每个数据元素均只有一个前驱;(4)除最后一个之外,结构中的每个数据元素均只有一个后继。

顺序表的插入:n个元素在i位插入,应移动(n-i+1)位元素。

顺序表存储结构的优缺点:优点:逻辑相邻,物理相邻;可随机存取任一元素;存储空间使用紧凑;缺点:插入、删除操作需要移动大量的元素;预先分配空间需按最大空间分配,利用不充分;表容量难以扩充;线性表的应用:一般线性表的合并:★★★算法2.1:LA=(7,5,3,11) LB=(2,6,3)合并后LA=(7,5,3,11,2,6)算法思想:扩大线性表LA,将存在于线性表LB中而不存在于线性表LA中的数据元素插入到线性表LA中去。

只要从线性表LB中依次取得每个数据元素,并依值在线性表LA中进行查访,若不存在,则插入之。

2011级数据结构试卷A及答案 - 副本 (2)

2011级数据结构试卷A及答案 - 副本 (2)

accesses.(C) Eliminate the recursive calls. (D) Reduce main memory use.(7) Given an array as A[m] [n]. Supposed that A [0] [0] is located at 644(10) and A [2][2] is stored at 676(10), and every element occupies one space. “(10)” means that thenumber is presented in decimals. Then the element A [1] [1](10) is at position:( D)(A) 692 (B) 695 (C) 650 (D) 660(8) If there is 1MB working memory, 4KB blocks, and yield 128 blocks for workingmemory. By the multi-way merge in external sorting, the average run size and the sorted size in one pass of multi-way merge on average are separately ( C)?(A) 1MB, 128 MB (B) 2MB, 512MB(C) 2MB, 256MB (D) 1MB, 256MB(9) In the following sorting algorithms, which is the best one to find the first 10biggest elements in the 1000 unsorted elements? ( B )(A) Quick-sort (B) Heap sort(C ) Insertion sort (D) Replacement selection(10) Assume that we have eight records, with key values A to H, and that they areinitially placed in alphabetical order. Now, consider the result of applying the following access pattern: F D F G E G F A D F G E if the list is organized by the Move-to-front heuristic, then the final list will be ( B).(A)F G D E A B C H (B) E G F D A B C H(C) A B F D G E C H (D) E G F A C B D H2. Fill the blank with correct C++ codes: (16 scores)(1)Given an array storing integers ordered by distinct value without duplicate, modify the binarysearch routines to return the position of the integer with the greatest value less than K when K itself does not appear in the array. Return ERROR if the lest value in the array is greater than K:(10 scores)// Return position of greatest element < Kint newbinary(int array[], int n, int K) {int l = -1;int r = n; // l and r beyond array boundswhile (l+1 != r) { // Stop when l and r meet___ int i=(l+r)/2_____;// Look at middle of subarrayif (K < array[i]) __ r=i ___; // In left halfif (K == array[i]) return i ; // Found itif (K > array[i]) ___ l=i ___ // In right half}// K is not in array or the greatest value is less than Kif K> array[0] (or l!= -1)// the lest value in the array is greater than K with l updated return l ; // when K itself does not appear in the arrayelse return ERROR; // the integer with the lest value greater than K}(2) The number of nodes in a complete binary tree as big as possible with height h is 2h -1(suppose 1-node tree ’s height is 1) (3 scores)(3) The number of different shapes of binary trees with 6 nodes is _132. (3 scores)3. A certain binary tree has the post-order enumeration as EDCBIHJGFA and the in-order enumeration as EBDCAFIHGJ. Try to draw the binary tree and give the postorder enumeration. (The process of your solution is required!!!) (6 scores)preorder enumeration: ABECDFGHIJ4. Determine Θ for the following code fragments in the average case. Assume that all variables are of type int. (6 scores) (1) sum=0;for (i=0; i<5; i++) for (j=0; j<n; j++)sum++; solution : Θ___(n)_______(2) sum = 0;for(i=1;i<=n;i++) for(j=n;j>=i;j--)sum++; solution : Θ__(n 2)________(3) sum=0;if (EVEN(n))for (i=0; i<n; i++) sum++; elsesum=sum+n; solution : Θ___(n)_____5. Show the min-heap that results from running buildheap on the following values stored in an array: 4, 2, 5, 8, 3, 6, 10, 14. (6 scores)6. Design an algorithm to transfer the score report from 100-point to 5-point , the level E corresponding score<60, 60~69 being D, 70~79 being C, 80~89 as B ,score>=90 as A. The distribution table is as following. Please describe your algorithm using a decision tree and give the total path length. (9 scores)Score in 100-point 0-59 60-69 70-79 80-89 90-100 Distribution rate5%10%45%35%5%solution:the design logic is to build a Huffman treeTotal length: 4 * 10% +10% * 3 + 15 %* 3 + 35% * 2 + 45% = 2.25, the 0-false,1-true as thelogic branches.7. Assume a disk drive is configured as follows. The total storage is approximately 675M divided among 15 surfaces. Each surface has 612 tracks; there are 144 sectors/track, 512 byte/sector, and 16 sectors/cluster. The interleaving factor is 3. The disk turns at 7200rmp (8.3ms/r). The track-to-track seek time is 20 ms, and the average seek time is 80 ms. Now how long does it take to read all of the data in a 360 KB file on the disk? Assume that the file ’s clusters are spread randomly across the disk. A seek must be performed each time the I/O reader moves to a new track. Show your calculations. (The process of your solution is required!!!) (9 scores) Solution :A cluster holds 16*0.5K = 8K. Thus, the file requires 360/8=45clusters.The time to read a cluster is seek time to the cluster+ latency time + (interleaf factor × rotation time).Average seek time is defined to be 80 ms. Latency time is 0.5 *8.3, and cluster rotation time is 3 * (16/144)*8.3.Seek time for the total file read time is 45* (80 + 0.5 * 8.3+ 3 * (16/144)*8.3 ) = 3911.258. Using closed hashing, with double hashing to resolve collisions, insert the following keys into a hash table of eleven slots (the slots are numbered 0 through 10). The hash functions to be used are H1 and H2, defined below. You should show the hash table after all eight keys have been inserted. Be sure to indicate how you areusing H1 and H2 to do the hashing. ( The process of your solution is required!!!) H1(k) = 3k mod 11 H2(k) = 7k mod 10+1Keys: 22, 41, 53, 46, 30, 13, 1, 67.(9 scores)Solution :H1(22)=0, H1(41)=2, H1(53)=5, H1(46)=6, no conflictWhen H1(30)=2, H2(30)=1 (2+1*1)%11=3,so 30 enters the 3rd slot; H1(13)=6, H2(13)=2 (6+1*2)%11=8, so 13 enters the 8th slot;H1(1)=3, H2(1)=8 (3+5*8)%11= 10 so 1 enters 10 (pass by 0, 8, 5, 2 );9. You are given a series of records whose keys are chars. The records arrive in the following order: C, S, D, T, A, M, P, I, B, W, N, G , U, R. Show the 2-3 tree that results from inserting these records. (the process of your solution is required!!!) (9 scores) Solution :MSBD PU A C GI N R T W 10.The following graph is a communication network in some area, whose edge presents the channel between two cities with the weight as the channel ’s cost. How to choose the cheapest path that can connect all cities? And how to get cheapest paths scores)Solution :1,C to A: 4 (C,A); CF: 5(C,F); CD: 6(C,A,D); CB: 12(C,A,D,B); CG:11 (C,F,G); CE: 13(C,A,D,B,E)2. Draw the MST: It is a Hamilton path.。

《数据结构C语言版》复习计划重点

《数据结构C语言版》复习计划重点

《数据结构C语言版》复习计划重点数据结构是计算机科学中非常重要的一门课程,掌握好数据结构对于提高编程能力和解决实际问题非常关键。

以下是《数据结构C语言版》复习计划的重点,以帮助学生系统地回顾和巩固知识点。

一、线性结构1.数组:包括数组的定义、访问、遍历和常见操作等。

需要复习数组的基本概念、存储结构、优缺点以及与其他线性结构的比较等。

2.链表:包括单链表、双向链表和循环链表等。

需要掌握链表的定义、插入、删除和遍历等操作,以及与数组的比较和使用场景等。

3.栈:包括栈的定义、基本操作(入栈和出栈)、应用场景和实现方法等。

需要复习栈的特点、存储结构、应用场景以及使用栈解决问题的思路和方法。

4.队列:包括队列的定义、基本操作(入队和出队)、应用场景和实现方法等。

需要复习队列的特点、存储结构、应用场景以及使用队列解决问题的思路和方法。

二、树和二叉树1.树的基本概念:包括树的定义、术语(根节点、叶子节点、父节点、子节点等)和常见操作(遍历、查找、添加和删除等)等。

2.二叉树的基本概念:包括二叉树的定义、特点、存储结构和遍历方式等。

需要复习前序遍历、中序遍历和后序遍历的定义和实现方法。

3.二叉树(BST):包括BST的定义、特点、插入和查找等操作。

需要复习BST的特点、应用场景,以及如何构建和操作BST等。

4.平衡二叉树:包括平衡二叉树的定义、特点和调整方法等。

需要复习平衡二叉树的插入和删除操作,以及如何维持树的平衡性。

三、图1.图的基本概念:包括图的定义、术语(顶点、边、邻接关系等)和表示方法(邻接矩阵和邻接表等)等。

2.图的遍历:包括深度优先(DFS)和广度优先(BFS)等算法。

需要复习这两种遍历算法的原理、实现方法和应用场景等。

3. 最短路径算法:包括Dijkstra算法和Floyd-Warshall算法等。

需要复习这两种算法的原理、实现方法和应用场景等。

4. 最小生成树算法:包括Prim算法和Kruskal算法等。

数据结构C语言版期末考试题库单选题

数据结构C语言版期末考试题库单选题

一、单项选择1. 数据在计算机内有链式和顺序两种存储方式,在存储空间使用的灵活性上,连式存储比顺序存储要A . 低B . 高C . 相同D . 不好说2 . 通常对数组进行的两种基本操作是()A . 建立与删除B . 索引和修改C . 查找和修改D . 查找与索引3 . 如果F是由有序树T转换而来的二叉树,那么T中结点的前序就是F中结点的()。

A . 中序B . 前序C . 层次序D . 后序4 . 由树的定义,具有3个结点的树有()种形态A . 2B . 3C . 4D . 55 . 以下说法错误的是 ( )A . 二叉树可以是空集B . 二叉树的任一结点都有两棵子树C . 二叉树与树具有相同的树形结构D . 二叉树中任一结点的两棵子树有次序之分6 . 若节点的存储地址与其关键字之间存在某种映射关系,则称这种存储结构为A . 顺序存储结构B . 链式存储结构C . 索引存储结构D . 散列存储结构7 . 已知二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是()A . bdgcefhaB . gdbecfhaC . bdgaechfD . gdbehfca8 . 算法分析的两个主要方面A . 空间复杂度和时间复杂度B . 正确性和简明性C . 可读性和文档性D . 数据复杂性和程序复杂性9 . 设顺序线性表的长度为30,分成5块,每块6个元素,如果采用分块查找,则其平均查找长度为( )。

(A) 6 (B) 11 (C) 5 (D) 6.5A .B .C .D .10 . 若邻接表中有奇数个表节点,则一定( )A . 图中有奇数个顶点B . 图中有偶数个顶点C . 图为无向图D . 图为有向图11 . 广义表中的元素分为( ) A . 原子元素B . 表元素C . 原子元素/表元素D . 任意元素A .B .C .D .12 . 下面关于算法说法错误的是()A . 算法最终必须由计算机程序实现B . 为解决某问题的算法同为该问题编写的程序含义是相同的C . 算法的可行性是指指令不能有二义性D . 以上几个都是错误的13 . 链接存储的存储结构所占存储空间:A . 分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针B . 只有一部分,存放结点值C . 只有一部分,存储表示结点间关系的指针D . 分两部分,一部分存放结点值,另一部分存放结点所占单元数14 . 利用n 个值生成的哈夫曼树中共有()结点。

2011辽宁省JAVA版数据结构考试技巧、答题原则

2011辽宁省JAVA版数据结构考试技巧、答题原则
C)空表 D)((a,b),(c,d))
4、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( D )存储方式最节省时间。
A)顺序表 B)双链表 C)带头结点的双循环链表 D)单循环链表
5、以下属于顺序存储结构优点的是( A )。
19、若采用邻接矩阵法存储一个n个顶点的无向图,则该邻接矩阵是一个( D )。
A)上三角矩阵 B) 稀疏矩阵
C) 对角矩阵 D) 对称矩阵
20、数据结构研究的内容是( D )。
A)数据的逻辑结构 B)数据的存储结构
A) rear=rear->next; B) front=front->next;
C) rear=front->next; D) front=rear->next ;
25、有一个有序表{1,4,6,10,18,35,42,53,67,71,78,84,92,99}。当用二分查找法查找键值为84的结点时,经( B )比较后查找成功。
A)13 B)33 C)18 D)40
39、下面程序段的时间复杂度是( A )。
s =0;
for( i =0; i<n; i++)
for(j=0;j<n;j++)
s +=B[i][j];
sum = s ;
A) O(n2) B) O(n)
A)n B)2e C)e D) n+e
42、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边
43、数据结构研究的内容是( D )。

数据结构考试重点必背

数据结构考试重点必背

数据结构考试重点必背在数据结构考试中,掌握并熟练运用一些重点概念和知识点是非常关键的。

这些重点知识点不仅能够帮助我们对数据结构的基本概念有深入的理解,还能够在解决实际的编程问题中发挥重要作用。

本文将详细介绍数据结构考试中的一些重点知识点,供大家参考。

一、线性表1. 线性表的定义和基本操作:线性表是由n个数据元素构成的有限序列,其中n为表的长度。

基本操作包括插入、删除、查找等。

2. 顺序存储结构与链式存储结构:顺序存储结构使用数组实现,查找效率高;链式存储结构使用链表实现,插入删除效率高。

3. 单链表、双链表与循环链表:单链表每个节点只有一个指针指向下一个节点,双链表每个节点有两个指针分别指向前一个和下一个节点,循环链表将尾节点的指针指向头节点。

二、栈和队列1. 栈的定义和基本操作:栈是一种特殊的线性表,只允许在一端进行插入和删除操作,称为栈顶。

基本操作包括入栈和出栈。

2. 栈的应用:括号匹配、四则运算表达式求值、迷宫求解等。

3. 队列的定义和基本操作:队列是一种特殊的线性表,采用先进先出的原则。

基本操作包括入队和出队。

4. 队列的应用:生产者消费者问题、打印任务调度等。

三、树与二叉树1. 树的定义和基本概念:树是n(n >= 0)个节点的有限集合,其中存在唯一的根节点,其余节点构成m个互不相交的子集,每个集合本身又可以看作一棵树。

2. 二叉树的基本概念:二叉树是一种特殊的树结构,每个节点最多有两个子节点,分别为左子节点和右子节点。

3. 二叉树的遍历方式:前序遍历、中序遍历和后序遍历。

遍历过程分别为先遍历根节点、先遍历左子树再遍历右子树、先遍历右子树再遍历左子树。

四、图1. 图的定义和基本概念:图是由节点和边组成的一种数据结构,用于描述事物之间的关系。

节点表示事物,边表示事物之间的联系。

2. 图的分类:无向图、有向图、带权图等。

3. 图的遍历方式:深度优先遍历和广度优先遍历。

深度优先遍历使用栈实现,广度优先遍历使用队列实现。

计算机专业考研数据结构重点和难点

计算机专业考研数据结构重点和难点

计算机专业考研数据结构重点和难点数据结构 1.1 起泡排序的两种过程数据结构 1.2 集合论中的“非纯集合”数据结构 2.1 顺序表中元素定位操作数据结构 2.3 插入元素操作示例算法数据结构 2.5 删除元素操作示例算法数据结构 2.7 顺序表中元素互换示例算法(二)数据结构 2.9 顺序表中删除元素示例算法(二)数据结构 2.2 线性表中插入元素操作数据结构 2.4 顺序表中删除元素操作数据结构 2.6 顺序表中元素互换示例算法(一)数据结构 2.8 顺序表中删除元素示例算法(一)数据结构 3.1 单链表中存取元素示例算法数据结构 3.1.2 单链表中删除元素操作数据结构 3.3 单链表中存储结构示例算法数据结构 3.5 双向链表中插入元素示例算法数据结构 3.7 有序表中的元素排列数据结构 3.1.1 单链表中插入元素示例算法数据结构 3.2 单链表中逆序创建链表数据结构 3.4 双向循环链表数据结构 3.6 双向链表中删除元素示例算法数据结构 3.8 有序表中的链表归并数据结构 4.1 数制转换数据结构 4.3 迷宫求解问题示例(二)数据结构 4.5 表达式求值中后缀式的运算数据结构 4.7 梵塔函数数据结构 4.9 链队列中删除元素数据结构 4.11 循环队列数据结构 4.13 排队问题的系统模拟数据结构 4.2 迷宫求解问题示例(一)数据结构 4.4 表达式求值中后缀式的转换数据结构 4.6 从原表达式求后缀式的规则数据结构 4.8 链队列中插入元素数据结构 4.10 链队列中删除元素的特殊情况数据结构 4.12 作业排队问题数据结构 5.1 实现串的定位操作数据结构 5.3 串的模式匹配的简单算法数据结构 5.5 串的模式匹配的改进算法演示数据结构 5.7 KMP算法匹配过程数据结构 5.9 数组中以列为主的存储结构数据结构 5.2 实现串的置换操作数据结构 5.4 串的模式匹配算法演示数据结构 5.6 KMP算法执行过程数据结构 5.8 数组中以行为主的存储结构数据结构 5.10 三元组顺序表数据结构 6.1 二叉树进行遍历的搜索路径数据结构 6.2.2 中序遍历二叉树数据结构 6.3 求二叉树的深度数据结构 6.5 复制二叉树算法演示数据结构 6.7 建表达式的二叉树算法演示数据结构 6.9 线索链表建立过程数据结构 6.11 先根(次序)遍历树数据结构 6.13 先根遍历访问演示数据结构 6.15 先序遍历森林数据结构 6.17 孩子-兄弟链表数据结构 6.2.1 先序遍历二叉树数据结构 6.2.3 后序遍历二叉树数据结构 6.4 后序遍历复制二叉树数据结构 6.6 二叉链表算法演示数据结构 6.8 中序线索链表遍历算法演示数据结构 6.10 森林和二叉树的转换数据结构 6.12 后根(次序)遍历树数据结构 6.14 后根遍历访问演示数据结构 6.16 中序遍历森林数据结构 6.18 最优树的构造过程数据结构 7.1 有向图的十字链表存储表示数据结构 7.3 非连通图的遍历数据结构 7.5 广度优先搜索遍历的过程演示数据结构 7.7 普里姆算法数据结构 7.9 迪杰斯特拉算法数据结构 7.11 AOV网的拓扑排序的过程(一)数据结构 7.13 关键路径的四个描述量数据结构 7.2 无向图的邻接多重链表存储表示数据结构 7.4 图的广度优先搜索遍历的过程数据结构 7.6 克鲁斯卡尔算法数据结构 7.8 普里姆算法构造生成树数据结构 7.10 各对顶点间的最短路径问题数据结构 7.12 AOV网的拓扑排序的过程(二)数据结构 8.1 广义表的存储结构数据结构 8.3 广义表存储结构算法演示(二)数据结构 8.2 广义表存储结构算法演示(一)数据结构 8.4 广义表存储结构算法演示(三)数据结构 9.1 顺序表-静态查找表数据结构 9.3 折半查找的分析数据结构 9.5 构造次优查找树数据结构 9.7 二叉查找树的查找算法演示数据结构 9.9 二叉查找树的删除算法演示(一)数据结构 9.11 二叉查找树的删除算法演示(三)数据结构 9.13 平衡二叉(查找)树数据结构 9.15 哈希表冲突处理链地址法数据结构 9.2 折半查找数据结构 9.4 分块有序表数据结构 9.6 二叉查找树的查找算法数据结构 9.8 二叉查找树的插入算法数据结构 9.10 二叉查找树的删除算法演示(二)数据结构 9.12 查找性能分析数据结构 9.14 哈希表冲突处理开放定址法数据结构 9.16 哈希表的查找性能数据结构 10.1 内部排序的过程数据结构 10.3 折半插入排序数据结构 10.5 希尔排序数据结构 10.7 起泡排序数据结构 10.9 一次划分数据结构 10.11 堆排序算法演示(二)数据结构 10.13 2-路归并排序算法演示数据结构 10.15 基数排序的过程数据结构 10.17 计数基数排序数据结构 10.2 直接插入排序数据结构 10.4 表插入排序数据结构 10.6 希尔排序过程演示数据结构 10.8 起泡排序算法改进数据结构 10.10 堆排序算法演示(一)数据结构 10.12 建堆的过程数据结构 10.14 多关键字的排序数据结构 10.16 链式基数排序数据结构 11.1 B树中插入索引项。

数据结构考试要点

数据结构考试要点

数据结构考试要点一、概述数据结构是计算机科学的重要基础学科,研究的是数据元素和数据元素之间的关系,以及数据在计算机内存中的存储和组织方式。

数据结构的掌握对于计算机专业的学生来说至关重要。

下面将介绍数据结构考试的要点,帮助大家更好地备考。

二、线性表线性表是数据结构中最基本的概念之一,它是一种有序的数据元素集合。

线性表的常见类型包括顺序表和链表。

考试中常涉及到线性表的建立、插入、删除、查找和遍历等操作,掌握这些基本操作是非常重要的。

三、栈和队列栈和队列是线性表的特殊形式,它们分别具有后进先出和先进先出的特性。

栈的基本操作包括入栈和出栈,而队列的基本操作包括入队和出队。

在考试中,需要了解它们的实现方式,以及如何利用栈和队列解决实际问题。

四、树结构树是一种非线性结构,它由若干个节点组成,每个节点可以有若干个子节点。

树的常见类型有二叉树、二叉搜索树和平衡二叉树等。

在数据结构考试中,需要了解这些树的基本概念、特性以及它们的遍历方式。

五、图结构图是一种非线性结构,它由若干个节点和边组成,节点表示实体,边表示节点之间的关系。

图可以分为有向图和无向图。

在考试中,常常涉及到图的遍历、最短路径算法和最小生成树算法等内容。

六、排序算法排序算法是数据结构中非常重要的内容,常见的排序算法包括冒泡排序、插入排序、选择排序、快速排序和归并排序等。

在考试中,需要了解这些排序算法的原理、实现和时间复杂度等。

七、查找算法查找算法是在数据集合中寻找特定元素的算法,常见的查找算法包括顺序查找和二分查找。

在数据结构考试中,需要熟悉这些查找算法的过程、复杂度以及它们的应用场景。

八、图算法图算法是对图进行各种操作和分析的算法,常见的图算法包括深度优先搜索和广度优先搜索等。

在考试中,需要了解这些图算法的原理、实现和应用。

九、高级数据结构除了基本数据结构外,考试中还可能涉及到高级数据结构的内容,比如哈希表、堆、红黑树等。

了解这些高级数据结构的特点和使用场景对于备考非常重要。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A)一个数量级别 B)一个平均值
C)一个最大值 D)一个均方值
16、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( D )存储方式最节省时间。
A)顺序表 B)双链表 C)带头结点的双循环链表 D)单循环链表
C)p->next=s->next; s->next=p D)p->next=s; s->next=q;
31、与无向图相关的术语有( C )。
A)强连通图 B)入度
C)路径 D)弧
32、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。
20、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。
A)p->next=p->next->next; B) p=p->next;
C)p=p->next->next; D) p->next=p;
21、( C )在进行插入操作时,常产生假溢出现象。
C) rear=front->next; D) front=rear->next ;
39、设一数列的顺序为1,2,3,4,5,6,通过栈结构不可能排成的顺序数列为( B )。
A)3,2,5,6,4,1 B)1,5,4,6,2,3
C)2,4,3,5,1,6 D)4,5,3,6,2,1
40、下列各种数据结构中属于线性结构的有( A )。
A)栈 B) 二叉树
C) 广义表 D) 图
41、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为( B )。
A)p->next=p->next->next; B) p=p->next;
C)p=p->next->next; D) p->next=p;
33、倘若在对串的插入、删除运算中,期望运算速度最快,则应采用( C )。
A)顺序表示法 B)单字符为结点的单链表表示法
17、设有一个栈,元素的进栈次序为A, B, C, D, E,下列是不可能的出栈序列是( C )。
A) A, B, C, D, E
B) B, C, D, E, A
C) E, A, B, C, D
D) E, D, C, B, A
25、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( B )。
A)9 B)11 C)15 D)不能确定
26、下面程序段的时间复杂度是( A )。
s =0;
for( i =0; i<n; i++)
for(j=0;j<n;j++)
1、数据结构研究的内容是( D )。
A)数据的逻辑结构 B)数据的存储结构
C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面
2、用一维数组A进行顺序存储时,若起始地址为loc(A1),元素长度为c,则A的第i个数组单元在存放地址loc(Ai),等于( B )。
9、n个顶点的强连通图至少有( A )条边。
A)n B)n+1 C)n-1 D)n(n-1)
10、已知广义表L=((x,y,z),a,(u,t,w)),从L 表中取出原子项t 的操作是( D )。
A) Head(Head(Tail(Tail(L))))
A) Head(Head(Tail(Tail(L))))
B) Tail(Head(Head(Tail(L))))
C) Head(Tail(Head(Tail(L))))
D)Head(Tail(Head(Tail(Tail(L)))))
37、n个顶点的强连通图至少有( A )条边。
A)n B)n+1 C)n-1 D)n(n-1)
38、在一个链队列中,假定front和rear分别为队首和队尾指针,则插入一个结点的操作为( B )。
A)front=front->next; B) rear=rear->next;
C)等量分块表示法 D)不等量分块表示法
34、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( D )存储方式最节省时间。
A)顺序表 B)双链表 C)带头结点的双循环链表 D)单循环链表
35、下列各种数据结构中属于线性结构的有( A )。
A)loc(A1)+i*c B)loc(A1)+(i-1)*c
C)loc(A1)+i*c+1 D)loc(A1)+(i+1)*c
3、链式存储的存储结构所占存储空间( A )。
A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针
B)只有一部分,存放结点值
A)顺序栈 B)循环队列
C)顺序队列 D)链队列
22、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( B )。
A)9 B)11 C)15 D)不能确定
23、若采用邻接矩阵法存储一个n个顶点的无向图,则该邻接矩阵是一个( D )。
A)上三角矩阵 B) 稀疏矩阵
C) 对角矩阵 D) 对称矩阵
8、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边
s +=B[i][j];
sum = s ;
A) O(n2) B) O(n)
C) O(m*n) D)O(1)
27、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为( B )。
B)线性结构和非线性结构
C)紧凑结构和非紧凑结构
D)内部结构和外部结构
14、队列的操作的原则是( A )。
A)先进先出 B) 后进先出
C) 只能进行插入 D) 只能进行删除
15、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。
29、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。
A)3 B)4 C)5 D)1
30、在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行( A ) 。
A)q->next=s; s->next=p; B)s->next=p->next; p->next=s;
18、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。
A)一个数量级别 B)一个平均值
C)一个最大值 D)一个均方值
19、n个顶点,e条边的有向图的邻接矩阵中非零元素有( C )个。
A)n B)2e C)e D) n+e
C)部分地址必须是连续 D)必须是不连续的
A)栈 B) 二叉树
C) 广义表 D) 图
36、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( D )存储方式最节省时间。
A)顺序表 B)双链表 C)带头结点的双循环链表 D)单循环链表
C)顺序队列 D)链队列
43、n个顶点的强连通图至少有( A )条边。
A)n B)n+1 C)n-1 D)n(n-1)
44、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
A) rear=rear->next; B) front=front->next;
C) rear=front->next; D) front=rear->next ;
28、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。
A)3 B)4 C)5 D)1
C)只有一部分,存储表示结点间关系的指针
D)分两部分,一部分存放结点值,另一部分存放结点所占单元数
4、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( D )存储方式最节省时间。
A)顺序表 B)双链表 C)带头结点的双循环链表 D)单循环链表
B) Tail(Head(Head(Tail(L))))
C) Head(Tail(Head(Tail(L))))
D)Head(Tail(Head(Tail(Tail(L)))))
11、已知广义表L=((x,y,z),a,(u,t,w)),从L 表中取出原子项t 的操作是( D )。
12、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
13、数据结构中,在逻辑上可以把数据结构分成( B )。
A)动态结构和静态结构
6、广义表head(((a,b),(c,d)))的运算结果为( A )。
A)(a,b) B)(c,d)
C)空表 D)((a,b),(c,d))
ห้องสมุดไป่ตู้
7、若采用邻接矩阵法存储一个n个顶点的无向图,则该邻接矩阵是一个( D )。
5、下面程序段的时间复杂度是( A )。
s =0;
for( i =0; i<n; i++)
for(j=0;j<n;j++)
s +=B[i][j];
sum = s ;
A) O(n2) B) O(n)
C) O(m*n) D)O(1)
相关文档
最新文档