2012广东省数据结构考资料
2012年10月--2007年1月自考2331数据结构历年试题和答案
全国2012年10月高等教育一、单项选择题(本大题共l5小题,每小题2分,共30分)1.一个算法的时间耗费的数量级称为该算法的( D ) D.时间复杂度2.顺序表便于( D ) D.按序号查找结点3.设带头结点的单循环链表的头指针为head,指针变量P指向尾结点的条件是( B ) B.p->next==head4.设以数组A[0..m-1]存放循环队列,front指向队头元素,rear指向队尾元素的下一个位置,则当前队列中的元素个数为( A ) A.(rear-front+m)%m5.下列关于顺序栈的叙述中,正确的是( A )A.入栈操作需要判断栈满,出栈操作需要判断栈空6.A是一个10×10的对称矩阵,若采用行优先的下三角压缩存储,第一个元素a0,0的存储地址为1,每个元素占一个存储单元,则a7,5的地址为( D ) D.347.树的后序遍历等价于该树对应二叉树的( C ) C.中序遍历8.使用二叉线索树的目的是便于( D ) D.查找一个结点的前趋和后继9.设无向图的顶点个数为n,则该图边的数目最多为( B) B.n(n-1)/2 10.可进行拓扑排序的图只能是(C)C.有向无环图11.下列排序方法中稳定的是(A)A.直接插入排序12.下列序列不为..堆的是(C)C.75,65,30,l5,25,4513.对线性表进行二分查找时,要求线性表必须是(C)C.顺序存储且按关键字有序14.分别用以下序列生成二叉排序树,其中三个序列生成的二叉排序树是相同的,不同..的序列是(A)A.(4,1,2,3,5)15.下列关于m阶B树的叙述中,错误..的是(A)A.每个结点至多有m个关键字二、填空题(本大题共10小题,每小题2分,共20分)16.数据元素之间的逻辑关系称为数据的__逻辑____结构。
17.在线性表中,表的长度定义为__数据元素的个数____。
18.用S表示入栈操作,X表示出栈操作,若元素入栈的顺序为1、2、3、4,为了得到1、3、4、2的出栈顺序,相应的S和X的操作序列为__SXSSXSXX____。
2012广东省公务员考试复习资料考资料
A、Word2000 B、Excel2000
C、Windows2000 D、Frontpage2000
15、比较典型的压缩文件类型有____。
A、RAM B、ZIP C、WAV D、HTML
29、在Word的编辑状态,进行"替换"操作时,应当使用____菜单中的命令。
A、"工具"菜单中的命令 B、"视图"菜单中的命令
C、"格式"莱单中的命令 D、"编辑"菜单中的命令
30、1946年第一台计算机问世以来,计算机的发展经历了4个时代,它们是____。
A、该段文字呈左斜体格式 B、该段文字呈右斜体格式
C、这句话字符格式不变 D、产生错误信息
9、在Word的编辑状态,打开了"wi.doe"文档,若要将经过编辑后的文档以"w2.doc"为名存盘,应当执行“文件”菜单中的命令是____。
A、保存 B、别存为HTML C、另存为 D、版本
20、一般情况下,校园网属于_____。
A、LAN B、WAN C、MAN D、GAN
21、计算机的指令主要存放在____中。
A、CPU B、微处理器 C、主存储器 D、键盘
22、常见的典型局域网类型有三种,它们分别是总线型、环型和____
A、直线型 B、星型 C、曲线型 D、串联型
D、利用格式菜单打开段落对话框,可以设置字符间距
A、域名 B、文件 C、邮箱 D、国家
3、中国电信、中国联通、中国网通等这些为普通用户提供Internet接入服务的公司被称为____。
2012年数据结构期末考试题及答案
2012年数据结构期末考试题及答案一、选择题1.在数据结构中,从逻辑上可以把数据结构分为C。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构2.数据结构在计算机内存中的表示是指A。
A.数据的存储结构B.数据结构C.数据的逻辑结构D.数据元素之间的关系3.在数据结构中,与所使用的计算机无关的是数据的A结构。
A.逻辑B.存储C.逻辑和存储D.物理4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储C。
A.数据的处理方法B.数据元素的类型C.数据元素之间的关系D.数据的存储方法5.在决定选取何种存储结构时,一般不考虑A。
A.各结点的值如何B.结点个数的多少C.对数据有哪些运算D.所用的编程语言实现这种结构是否方便。
6.以下说法正确的是D。
A.数据项是数据的基本单位B.数据元素是数据的最小单位C.数据结构是带结构的数据项的集合D.一些表面上很不相同的数据可以有相同的逻辑结构7.算法分析的目的是C,算法分析的两个主要方面是A。
(1)A.找出数据结构的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改进C.分析算法的易读性和文档性(2)A.空间复杂度和时间复杂度B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性8.下面程序段的时间复杂度是O(n2)。
s =0;for(I =0;i<n;i++)for(j=0;j<n;j++)s +=B[i][j];sum =s ;9.下面程序段的时间复杂度是O(n*m)。
for(i =0;i<n;i++)for(j=0;j<m;j++)A[i][j] =0;10.下面程序段的时间复杂度是O(log3n)。
i =0;while(i<=n)i =i * 3;11.在以下的叙述中,正确的是B。
A.线性表的顺序存储结构优于链表存储结构B.二维数组是其数据元素为线性表的线性表C.栈的操作方式是先进先出D.队列的操作方式是先进后出12.通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 B 。
【华南理工大学2012年考研专业课真题】计算机专业综合(数据结构、操作系统)2012
【华南理⼯⼤学2012年考研专业课真题】计算机专业综合(数据结构、操作系统)2012831华南理⼯⼤学2012年攻读硕⼠学位研究⽣⼊学考试试卷(请在答题纸上做答,试卷上做答⽆效,试后本卷必须与答题纸⼀同交回)科⽬名称:计算机专业综合(数据结构、操作系统)适⽤专业:计算机技术(专硕)本卷满分:150分共 4 页数据结构部分⼀、选择题(每⼩题2分,共20分)1. 设数组a[1..10,5..15]的元素以⾏为主序存放,每个元素占⽤4个存储单元,则数组元素a[i,j] (1≤i≤10,5≤j≤15)的地址计算公式为______________。
A.a-204+2i+j B. a-204+40i+4j C.a-84+i+j D. a-64+44i+4j2. 给定⼀个有n个元素的线性表。
若采⽤顺序存储结构,则在等概率前提下,向其插⼊⼀个元素需要移动的元素个数平均为______________。
A.n+1 B. n/2 C.(n+1)/2 D. n3. 采⽤邻接表表⽰⼀有向图,若图中某顶点的⼊度和出度分别为d1和d2,则该顶点对应的单链表的节点数为______________。
A.d1 B. d2 C.d1-d2 D. d1+d24. 设有100个节点,⽤⼆分法查找时,最⼤⽐较次数是______________。
A.25 B. 50 C.10 D. 75. 若长度为n的线性表采⽤顺序存数结构,在其第i个位置插⼊⼀个新元素算法的时间复杂度是______________。
A.O(log2n) B.O(1) C.O(n) D. O (n2)6. ⼀棵124个叶结点的完全⼆叉树最多有__________个结点。
A.247 B. 248 C.249 D. 2507. 将上万个⼀组⽆序并且不相等的正整数序列,存放于顺序存储结构中,采⽤__________⽅法能够最快地查找出其中最⼤的正整数。
A.快速排序 B. 插⼊排序C.选择排序 D. 归并排序8. 前序遍历序列和中序遍历序列相同的⼆叉树为__________。
2012广东省数据结构考试基础
1、编写一个过程,对一个n×n矩阵,通过行变换,使其每行元素的平均值按递增顺序排列。
2、连通图的生成树包括图中的全部n个顶点和足以使图连通的n-1条边,最小生成树是边上权值之和最小的生成树。
故可按权值从大到小对边进行排序,然后从大到小将边删除。
每删除一条当前权值最大的边后,就去测试图是否仍连通,若不再连通,则将该边恢复。
若仍连通,继续向下删;直到剩n-1条边为止。
void SpnTree (AdjList g)//用“破圈法”求解带权连通无向图的一棵最小代价生成树。
{typedef struct {int i,j,w}node; //设顶点信息就是顶点编号,权是整型数node edge[];scanf( "%d%d",&e,&n) ; //输入边数和顶点数。
for (i=1;i<=e;i++) //输入e条边:顶点,权值。
scanf("%d%d%d" ,&edge[i].i ,&edge[i].j ,&edge[i].w);for (i=2;i<=e;i++) //按边上的权值大小,对边进行逆序排序。
{edge[0]=edge[i]; j=i-1;while (edge[j].w<edge[0].w) edge[j+1]=edge[j--];edge[j+1]=edge[0]; }//fork=1; eg=e;while (eg>=n) //破圈,直到边数e=n-1.{if (connect(k)) //删除第k条边若仍连通。
{edge[k].w=0; eg--; }//测试下一条边edge[k],权值置0表示该边被删除k++; //下条边}//while}//算法结束。
connect()是测试图是否连通的函数,可用图的遍历实现,3、我们可用“破圈法”求解带权连通无向图的一棵最小代价生成树。
数据结构期末考试复习题资料
数据结构期末考试复习题资料一.单项选择题1.算法指的是()。
A.计算方法B.排序方法C.特定问题求解步骤的描述D.调度方法2.下列数据结构中,()是非线性结构。
A.栈B.队列C.完全二叉树D.堆3.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。
A.顺序表B.双向链表C.单循环链表D.带头结点的双循环链表4.队列的操作原则是()A.先进先出B.后进先出C.先进后出D.不分顺序5.栈和队列的共同特点是()。
A.都是先进先出B.都是先进后出C.都是只允许在端点处插入和删除D.没有共同点6.在一棵高度为k 的满二叉树中,结点总数为()。
A.2k-1 B.2k C.2k-1 D.⎣log 2 k ⎦+ 17.在下列存储形式中,哪一个不是树的存储形式?()A.双亲链表表示法B.孩子链表表示法C.孩子兄弟链表表示法D.顺序存储表示法8.n 个结点的完全有向图含有边的数目为()。
A.n*n B.n*(n+1) C.n/2 D.n*(n-1)9.n 个顶点的强连通图至少有()条边。
A.n B.n-1 C.n+1 D.n(n-1)10、高度为k 的二叉树的最大结点数为()。
A、2kB、2k-1C、2k–1D、2k-1–111、下列哪一种图的邻接矩阵是对称矩阵?()A、有向图B、无向图C、AOV 网D、AOE 网12、在下列存储形式中,哪一个不是树的存储形式?()A、双亲表示法B、孩子表示法C、孩子兄弟表示法D、顺序存储表示法13、下面哪一方法可以判断出一个有向图是否有环。
()A、深度优先遍历B、拓扑排序C、求最短路径D、广度优先遍历14.适用于折半查找的表的存储方式及元素排列要求为()。
A.链接方式存储,元素无序B.链接方式存储,元素有序C.顺序方式存储,元素无序D.顺序方式存储,元素有序15、一个算法应该是()。
A、程序B、特定问题求解步骤的描述C、要满足五个基本特性D、A 和C16、算法分析的两个主要方面是()。
2012年广东省学习数据库基础
1、#define maxsize 栈空间容量void InOutS(int s[maxsize])//s是元素为整数的栈,本算法进行入栈和退栈操作。
{int top=0; //top为栈顶指针,定义top=0时为栈空。
for(i=1; i<=n; i++) //n个整数序列作处理。
{scanf(“%d”,&x); //从键盘读入整数序列。
if(x!=-1) // 读入的整数不等于-1时入栈。
if(top==maxsize-1){printf(“栈满\n”);exit(0);}else s[++top]=x; //x入栈。
else //读入的整数等于-1时退栈。
{if(top==0){printf(“栈空\n”);exit(0);}else printf(“出栈元素是%d\n”,s[top--]);}}}//算法结2、题目中要求矩阵两行元素的平均值按递增顺序排序,由于每行元素个数相等,按平均值排列与按每行元素之和排列是一个意思。
所以应先求出各行元素之和,放入一维数组中,然后选择一种排序方法,对该数组进行排序,注意在排序时若有元素移动,则与之相应的行中各元素也必须做相应变动。
void Translation(float *matrix,int n)//本算法对n×n的矩阵matrix,通过行变换,使其各行元素的平均值按递增排列。
{int i,j,k,l;float sum,min; //sum暂存各行元素之和float *p, *pi, *pk;for(i=0; i<n; i++){sum=0.0; pk=matrix+i*n; //pk指向矩阵各行第1个元素.for (j=0; j<n; j++){sum+=*(pk); pk++;} //求一行元素之和.*(p+i)=sum; //将一行元素之和存入一维数组.}//for ifor(i=0; i<n-1; i++) //用选择法对数组p进行排序{min=*(p+i); k=i; //初始设第i行元素之和最小.for(j=i+1;j<n;j++) if(p[j]<min) {k=j; min=p[j];} //记新的最小值及行号.if(i!=k) //若最小行不是当前行,要进行交换(行元素及行元素之和){pk=matrix+n*k; //pk指向第k行第1个元素.pi=matrix+n*i; //pi指向第i行第1个元素.for(j=0;j<n;j++) //交换两行中对应元素.{sum=*(pk+j); *(pk+j)=*(pi+j); *(pi+j)=sum;}sum=p[i]; p[i]=p[k]; p[k]=sum; //交换一维数组中元素之和.}//if}//for ifree(p); //释放p数组.}// Translation[算法分析] 算法中使用选择法排序,比较次数较多,但数据交换(移动)较少.若用其它排序方法,虽可减少比较次数,但数据移动会增多.算法时间复杂度为O(n2).3、给出折半查找的递归算法,并给出算法时间复杂度性分析。
广东商学院2011~2012 数据结构 答案
一、概念选择(每小题2分,共40分)二、计算选择(每小题3分,共30分)三、判断对错(每小题2分,共20分)四、算法分析(共10分)一、引论1、算法分析的目的2、算法的特征:有穷性、确定性、可行性、输入、输出3、算法分析的方法:时间复杂度的计算二、线性表1、线性表的定义2、 顺序表的表示#define MAXSIZE 100Typedef struct {ElemType *elem ;int length ; // 数据元素个数 } SqList ; //定义数据类型 SqList L ; //定义变量3、 顺序表的操作(1) 随机存取:Loc(ai)=Loc(a1)+(i-1)*C(2) 为空、为满的判定为空:L .length==0为满:L .length==MAXSIZE(3) 插入、删除操作特征及时间复杂度分析 基本操作:移动元素插入: 2)1(1111n i n n n i =+-+∑+=删除: 注意:下标和位序的关系4、 链表的表示Typedef struct LNode{ElemType data ;Struct LNode *next ;} LNode, *LinkList ;// Typedef Lnode *LinkList ;5、 链表的操作(1) 为空的判定:L->next=NULL/L=NULL(2) 插入、删除操作特征及时间复杂度分析基本操作:顺链扫描,操作点定位插入、删除:指针的修改21)(11-=-∑=n i n n n i三、栈和队列1、栈和队列的特点和应用2、顺序栈的表示#define MAXSIZE 100Typedef struct {SElemType *base;SElemType *top;int stacksize;} SqStack;3、顺序栈为空、为满的判定为空:s.top==s.base为满:s.top-s.base==s.stacksize 4、循环队列的表示#define MAXQSIZE 100Typedef struct {QElemType *base;int front;int rear;}SqQueue;5、循环队列为空、为满的判定为空:Q.rear==Q.front为满:Q.front==(Q.rear+1)% MAXQSIZE四、树和二叉树1、二叉树的链式存储表示Typedef struct BiTNode {TElemType data;struct BiTNode *lchild, *rchild;} BiTNode, *BiTree;2、二叉树的性质(1)第i层→最多2i-1(2)深度k→最多2k-1(3)任意二叉树:n0=n2+1(4)完全二叉树:n个结点→深度k=「log2n」+1 (5)完全二叉树:结点i→Parent(i)=「i/2」;结点i→LChild(i)=2i;结点i→RChild(i)=2i+1 ——完全二叉树结点数、结点编号的确定例1:深度为k的完全二叉树中,编号最小和最大的叶结点的编号是多少?例2:一棵有240 个叶结点的完全二叉树,最少有多少个结点?最多呢?例3:一棵完全二叉树的第7层有10个叶结点,则该完全二叉树最多有多少个结点?3、二叉树的遍历算法(1)二叉树→遍历序列(2)遍历序列→二叉树(3)二叉树遍历的递归代码五、图1、有向图和无向图的基本概念n个顶点的无向完全图,有n*(n-1)/2条边;n个顶点的有向完全图,有n*(n-1)条弧;n个顶点的无向连通图,最少有n-1条边3、最小生成树的定义和构造(Prim和Kruscal算法)Prim算法→T=O(n2)→稠密图Kruscal算法→T=O(eloge)→稀疏图4、拓扑排序和关键路径算法拓扑排序→判断能否完工关键路径→求得完工最短时间六、查找1、顺序查找的性能2、折半查找(1)前提:顺序存储;关键字有序(2)过程:mid=「low+high)/2」(向下取整)(3)关键字比较次数3、二叉排序树查找(1)递归定义和查找(2)动态构造和平衡化(3)BBST 的ASL例:在具有24个结点的平衡二叉排序树中进行关键字查找,查找成功的情况下,平均查找长度ASL 为多少? 21111+=+-=∑=n )i (n n ASL n i ss4、哈希查找(1)哈希函数:除留余数法H(key)=key % p (p<=m)(2)冲突函数:开放定址法Hi =[H(key)+di] % m线性探测:di=1,2,…,m-1二次探测:di=12,-12,22,-22,…,-k2(k≤m/2)七、排序1、复习思路(1)算法思想:排序原则和排序过程(2)算法性能:时间和空间复杂度(3)算法稳定性:取决于算法本身(4)算法的特殊性:适用前提、排序结果2、直接插入排序3、冒泡排序和快速排序4、堆排序(1)堆的定义:大顶堆和小顶堆(2)堆排序过程:初始建堆+重建堆(3)堆类型选择:降序→小顶堆;升序→大顶堆(4)堆排序的性能和特点5、归并排序的特点和性能。
2012广东省计算机等级考试试题 二级C试题考试重点和考试技巧
1、下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A)A. 内模式B. 外模式C. 概念模式D. 逻辑模式2、在关系数据库中,用来表示实体之间联系的是(D)A. 树结构B. 网结构C. 线性表D. 二维表3、希尔排序法属于哪一种类型的排序法(B)A.交换类排序法B.插入类排序法C.选择类排序法D.建堆排序法4、在关系数据库中,用来表示实体之间联系的是(D)A. 树结构B. 网结构C. 线性表D. 二维表5、索引属于(B)A. 模式B. 内模式C. 外模式D. 概念模式6、设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出A. 349B. 350C. 255D. 3517、算法的时间复杂度是指(C)A. 执行算法程序所需要的时间B. 算法程序的长度C. 算法执行过程中所需要的基本运算次数D. 算法程序中的指令条数8、关系数据库管理系统能实现的专门关系运算包括(B)A. 排序、索引、统计B. 选择、投影、连接C. 关联、更新、排序D. 显示、打印、制表9、下列叙述中正确的是(C)A.数据库是一个独立的系统,不需要操作系统的支持B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题D.数据库系统中,数据的物理结构必须与逻辑结构一致10、下面描述中,符合结构化程序设计风格的是(A)A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B. 模块只有一个入口,可以有多个出口C. 注重提高程序的执行效率D. 不使用goto语句11、下列叙述中正确的是(A)A. 线性表是线性结构B. 栈与队列是非线性结构C. 线性链表是非线性结构D. 二叉树是线性结构12、数据的存储结构是指(B)A. 数据所占的存储空间量B. 数据的逻辑结构在计算机中的表示C. 数据在计算机中的顺序存储方式D. 存储在外存中的数据13、软件调试的目的是(B) 注:与软件测试要对比着复习A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能14、将E-R图转换到关系模式时,实体与联系都可以表示成(B)A. 属性B. 关系C. 键D. 域15、下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A)A. 内模式B. 外模式C. 概念模式D. 逻辑模式16、软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及(B)A. 阶段性报告B. 需求评审C. 总结D. 都不正确17、下面概念中,不属于面向对象方法的是 (D)A. 对象B. 继承C. 类D. 过程调用。
2012广东省数据结构试题及答案
1、线性表的链接实现有利于( A )运算。
A)插入 B)读元素C)查找 D)定位2、设有一个栈,元素的进栈次序为A, B, C, D, E,下列是不可能的出栈序列是( C )。
A) A, B, C, D, EB) B, C, D, E, AC) E, A, B, C, DD) E, D, C, B, A3、已知栈的最大容量为4。
若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( C )。
A) 5,4,3,2,1,6 B) 2,3,5,6,1,4C) 3,2,5,4,1,6 D) 1,4,6,5,2,34、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一C)不含回路 D)有n条边5、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为( A )。
A)p->next=p->next->next B)p=p->nextC)p=p->nexe->next D)p->next=p6、用一维数组A进行顺序存储时,若起始地址为loc(A1),元素长度为c,则A的第i个数组单元在存放地址loc(Ai),等于( B )。
A)loc(A1)+i*c B)loc(A1)+(i-1)*cC)loc(A1)+i*c+1 D)loc(A1)+(i+1)*c7、在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行( A )。
A)q->next=s; s->next=p; B)s->next=p->next; p->next=s;C)p->next=s->next; s->next=p D)p->next=s; s->next=q;8、串的逻辑结构与( D )的逻辑结构不同。
A)线性表 B)栈C)队列 D)树9、在一个链队列中,假定front和rear分别为队首和队尾指针,则插入一个结点的操作为( B )。
2012数据结构_习题及程序设计整理
2012数据结构_习题及程序设计整理疯狂记忆力数据结构是计算机科学中非常重要的一个领域,它主要研究数据的组织、存储和管理方式。
在学习数据结构的过程中,习题和程序设计是提高理解和应用的重要手段。
下面将整理一些2012年的数据结构习题及程序设计内容,帮助读者巩固和深入理解这一领域的知识。
一、线性结构1. 线性表是数据结构中最基本的一种结构,它的特点是元素之间存在一对一的关系,先后次序唯一确定。
请写一个C语言程序,实现线性表的基本操作,包括插入、删除、查找等。
2. 栈是一种特殊的线性表,具有“先进后出”的特点。
设计一个栈,支持判断栈是否为空、入栈和出栈操作,并实现一个简单应用情境,例如操作系统任务的进出栈操作。
3. 队列也是一种特殊的线性表,具有“先进先出”的特点。
设计一个队列,支持判断队列是否为空、入队和出队操作,并实现一个简单应用情境,例如模拟排队等待的场景。
二、非线性结构1. 树是一种重要的非线性结构,它以分层的方式存储数据。
定义一个树的基本数据结构,包括节点的定义、插入节点、删除节点等操作。
2. 图是由节点和边组成的数据结构,用于表示多对多的关系。
请设计一个简单的图结构,实现图的初始化、添加节点、添加边以及遍历等基本操作。
三、查找与排序1. 二分查找是一种常见的查找算法,适用于有序数组。
请编写一个二分查找算法的Java程序,并验证其正确性。
2. 快速排序是一种常见的排序算法,通过分治法实现。
请实现一个快速排序算法的Python程序,并对随机生成的一组数据进行排序。
四、高级数据结构1. 堆是一种完全二叉树,主要用于实现高效的优先队列。
设计一个堆的数据结构,并实现堆排序算法。
2. 哈希表是一种以键值对存储数据的数据结构,通过哈希函数实现高效的数据查找。
请实现一个简单的哈希表,包括哈希函数的设计、数据的插入和查找等操作。
以上是一些2012年的数据结构习题及程序设计内容,涵盖线性结构、非线性结构、查找与排序以及高级数据结构等方面的内容。
2012年计算机统考数据结构真题
当前字符 a + b a * ( ( c + d ) / e f
栈内容 +
Байду номын сангаас
后缀表达式 a ab
说明
-* -*( -*(( -*(( -*((+ -*((+ -*( -*(/ -*(/ -*(-*(-
ab+ ab+a ab+a ab+a ab+a ab+ac ab+ac ab+acd ab+acd+ ab+acd+ ab+acd+e ab+acd+e/ ab+acd+e/f
D.O(n2)
B。本算法是一个递归,设执行时间为 T(n),则有: T(n)=1 当 n=1 时 T(n)=T(n-1)+1 当 n>1 时 所以 T(n)=T(n-1)+1=T(n-2)+2=T(n-3)+3=„=T(1)+n-1=n=O(n)。 2. 已知操作符包括 “+” , “-” , “*” , “/” 和 “(” 、 “)” 。 将中缀表达式 a+b-a*((c+d)/e-f)+g 转换为等价的后缀表达式 ab+acd+e/f-*-g+时, 用栈来存放暂时还不能确定运算次序的操 作符, 若栈初始时为空, 则转换过程中同时保存在栈中的操作符的最大个数是 ( ) 。 A.5 B.7 C.8 D.11 A。产生后缀表达式的过程如表 1 所示,从中看到栈中最多有 5 个运算符。
图 2
⌉ D。3 阶 B-树中每个非叶子节点至少包含⌈ 个关键字。该 3 阶 B-树删除关键 字 78(如图 3 所示),得到一棵新 B-树(如图 4 所示)。
统考数据结构(2009-2012)试题及精心解析
序号 1 2 3 4 5 6 7 说明 a 入栈 b 入栈 b 出栈 c 入栈 d 入栈 d 出栈 c 出栈 栈内 a ab a ac acd ac a b b b bd bdc 栈外
A-3
序号 8 9 10 11 12 13 14 说明 e 入栈 f 入栈 f 出栈 e 出栈 a 出栈 g 入栈 g 出栈 g 栈内 ae aef ae a 栈外 bdc bdc bdcf bdcfe bdcfea bdcfea bdcfeag
1 / 24
2009 年计算机统考——数据结构部分
一、单项选择题:每小题 2 分。
1.为解决计算机主机与打印机之间速度不匹配问题,通常设置一个打印数据缓冲区, 主机将要输出的数据依次写入该缓冲区, 而打印机则依次从该缓冲区中取出数据。 该缓冲区 。 的逻辑结构应该是 A.栈 B.队列 C.树 D.图 2.设栈 S 和队列 Q 的初始状态均为空,元素 a,b,c,d,e,f,g 依 次进入栈 S。若每个元素出栈后立即进入队列 Q,且 7 个元素出队的顺序是 。 b,d,c,f,e,a,g,则栈 S 的容量至少是 A.1 B.2 C.3 D.4 3.给定二叉树如图 A-1 所示。设 N 代表二叉树的根,L 代表根结点的 左子树, R 代表根结点的右子树。 若遍历后的结点序列是 3, 1, 7, 5, 6, 2, 4,则其遍历方式是 。 图 A-1 A.LRN B.NRL C.RLN D.RNL 。 4.下列二叉排序树中,满足平衡二叉树定义的是
2 / 24
10.若数据元素序列 11,12,13,7,8,9,23,4,5 是采用下列排序方法之一得到的 第二趟排序后的结果,则该排序算法只能是 。 A.冒泡排序 B.插入排序 C.选择排序 D.二路归并排序
2012年广东省数据结构试题集(10套题并附带答案)考资料
40、如果最常用的操作是取第i个结点及其前驱,则采用 D 存储方式最节省时间。
A.单链表 B.双链表 C.单循环链表 D. 顺序表
41、需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。
A.单链表 B.静态链表 C.线性链表 D.顺序存储结构
A.SA+141 B.SA+144 C.SA+222 D.SA+255
39、在循环双链表的p所指的结点之前插入s所指结点的操作是 D 。
A.p->prior = s;s->next = p;p->prior->next = s;s->prior = p->prior
3、在数据结构中,从逻辑上可以把数据结构分为 C 。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构
C.线性结构和非线性结构 D.内部结构和外部结构
4、已知关键字序列为{66,82,25,51,98,108},利用快速排序方法,以第一个元素为基准得到的一趟排序结果为
28、衡量查找算法效率的主要标准是( C )。
A)元素个数 B)所需的存储量
C)平均查找长度 D)算法难易程度
29、在数据结构中,从逻辑上可以把数据结构分为 C 。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构
C.线性结构和非线性结构 D.内部结构和外部结构
34、在循环双链表的p所指的结点之前插入s所指结点的操作是 D 。
A.p->prior = s;s->next = p;p->prior->next = s;s->prior = p->prior
B.p->prior = s;p->prior->next = s;s->next = p;s->prior = p->prior
数据结构真题2012年10月
数据结构真题2012年10月(总分:100.00,做题时间:90分钟)一、单项选择题(总题数:15,分数:30.00)1.一个算法的时间耗费的数量级称为该算法的______(分数:2.00)A.效率B.难度C.可实现性D.时间复杂度√解析:[考点] 算法的时间复杂度的概念[解析] 一个算法的时间耗费的数量级称为该算法的时间复杂度。
2.顺序表便于______(分数:2.00)A.插入结点B.删除结点C.按值查找结点D.按序号查找结点√解析:[考点] 顺序表的特征[解析] 顺序表便于按序号查找结点。
3.设带头结点的单循环链表的头指针为head,指针变量P指向尾结点的条件是______(分数:2.00)A.p->next->next==headB.p->next==head √C.p->next->next==NULLD.p->next==NULL解析:[考点] 指针变量p指向尾结点的判定条件[解析] 单循环链表的指针变量p指向尾结点的判定条件是p->next==head。
4.设以数组A[0..m-1]存放循环队列,front指向队头元素,rear指向队尾元素的下一个位置,则当前队列中的元素个数为______(分数:2.00)A.(rear-front+m)%m √B.rear-front+1C.(front-rear+m)%mD.(rear-front)%m解析:[考点] 队列中元素个数的计算[解析] 队列中元素的个数为(rear-front+m)%m5.下列关于顺序栈的叙述中,正确的是______(分数:2.00)A.入栈操作需要判断栈满,出栈操作需要判断栈空√B.入栈操作不需要判断栈满,出栈操作需要判断栈空C.入栈操作需要判断栈满,出栈操作不需要判断栈空D.入栈操作不需要判断栈满,出栈操作不需要判断栈空解析:[考点] 顺序栈的性质的判断[解析] 入栈操作需要判断栈满,出栈操作需要判断栈空。
6.A是一个10×10的对称矩阵,若采用行优先的下三角压缩存储,第一个元素a 0,0的存储地址为1,每个元素占一个存储单元,则a 7,5的地址为______(分数:2.00)A.25B.26C.33D.34 √解析:[考点] 对称矩阵的元素的地址的计算[解析] 若对称矩阵采用下三角压缩存储,根据其地址的计算公式,可得到所求元素的地址。
2012年1月数据结构导论试题与答案
全国2012年1月高等教育自学考试数据结构导论试题课程代码:02142一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.结点按逻辑关系依次排列形成一条“锁链”的数据结构是( )A.集合B.线性结构C.树形结构D.图状结构2.下面算法程序段的时间复杂度为( )for ( int i=0; i<m; i++)for ( int j=0; j<n; j++)a[i][j]=i*j;A. O(m2)B. O(n2)C. O(mn)D. O(m+n)3.线性结构是( )A.具有n(n≥0)个表元素的有穷序列B.具有n(n≥0)个字符的有穷序列C.具有n(n≥0)个结点的有穷序列D.具有n(n≥0)个数据项的有穷序列4.单链表中删除由某个指针变量指向的结点的直接后继,该算法的时间复杂度是( )A. O(1)C. O(log2n)D. O(n)5.关于串的叙述,正确的是( )A.串是含有一个或多个字符的有穷序列B.空串是只含有空格字符的串C.空串是含有零个字符或含有空格字符的串D.串是含有零个或多个字符的有穷序列6.栈的输入序列依次为1,2,3,4,则不可能的出栈序列是( )A.1243B. 1432C. 2134D.43127.队列是( )A. 先进先出的线性表B. 先进后出的线性表C. 后进先出的线性表D.随意进出的线性表8.10阶上三角矩阵压缩存储时需存储的元素个数为( )A.11B.56C.100D.1019.深度为k(k≥1)的二叉树,结点数最多有( )A.2k个B.(2k -1)个C.2k-1个D.(2k+1)个10.具有12个结点的二叉树的二叉链表存储结构中,空链域NULL的个数为( )A. 11B.13C. 23D. 2511.具有n个顶点的无向图的边数最多为( )A.n+1B.n(n+1)C.n(n-1)/2D.2n(n+1)12.三个顶点v1,v2,v3的图的邻接矩阵为010001010⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦,该图中顶点v3的入度为( )A. 0B. 1C. 2D. 313.顺序存储的表格中有60000个元素,已按关键字值升序排列,假定对每个元素进行查找的概率是相同的,且每个元素的关键字值不相同。
广东商学院2011~2012 数据结构期末考试卷
广东商学院试题纸--------------------------------------------------------------------------------------------------------- ------- 一、概念选择(每小题2分,共20分)1.算法分析的目的是________。
A.找出数据结构的合理性B.分析算法的效率以求改进C.研究算法中的I/O关系D.分析算法的简明易懂性2.链表不具备的特点是【】。
A.可随机访问任一结点B.插入、删除不需要移动数据元素C.不必事先估计存储空间D.所需空间与其长度成正比3.顺序表的首地址是500,每个数据元素的长度为5,则第6个元素的地址是___ ___。
A.505 B.506 C.525 D.5304.栈和队列的共同点是【】。
A.都是先进先出B.都是先进后出C.没有共同点D.只允许在端点处插入和删除元素5.动态分配的顺序栈为满的判定条件是【】。
A.S.top-S.base==S.stacksize; B.S.top==MAXSIZE;C.S.top==0; D.S.top==S.base;6.由3个结点可以构造出【】种不同形态的二叉树。
A.2 B.3 C.4 D.57.在一个图中,所有顶点的度数之和等于图的边数的【】倍。
A.1/2 B.1 C.2 D.48.关键路径算法用于解决【】问题。
A.工程能否顺利完成B.工程完成需要的最短时间C.源点到任一顶点的最短距离D.任意两个顶点之间的最短距离9.在具有n个结点的平衡二叉排序树(BBST)中,查找某个给定关键字失败,其查找长度为【】。
A.O(n) B.O(log2n) C.O(n2) D.无法确定10.下列几种排序方法中,【】是稳定的排序方法。
A.希尔排序B.快速排序C.归并排序D.堆排序二、计算选择(每小题5分,共50分)1.以下代码的时间复杂度是【】。
x=n;y=0;while (x>(y+1)*(y+1)) y++;A.O(n) B.O(n2) C.O(log2n) D.O(n)2.在一个长度为n的顺序表中,在第i个元素(1≤i≤n+1)之前插入一个新元素时,需向后移动【】个元素。
数据结构复习资料(题目和参考答案)
数据结构复习题及参考答案(抽考其中50%)一、单选题(每小题1分)1.下列程序段的时间复杂度为(A )。
for(i=0; i<m ; i++)for(j=0; j<t ; j++) c[i][j]=0;for(i=0; i<m ; i++)for(j=0; j<t ; j++)for(k=0; k<n ; k++)c[i][j]=c[i][j]+a[i][k]*b[k][j];(A) O(m*n*t) (B) O(m+n+t) (C) O(m+n*t) (D) O(m*t+n)2.下列程序段的时间复杂度为(A )。
i=0,s=0;while (s<n) {s=s+i ;i++;}(A) O(n 1/2) (B) O(n 1/3) (C) O(n) (D) O(n 2)3.设顺序表中有n 个数据元素,则删除表中第i 个元素需要移动(A )个元素。
(A) n-i (B) n+l-i (C) n-1-i (D) i4.设某链表中最常用的操作是在链表的尾部插入或删除元素,则选用下列(D )存储方式最节省运算时间。
(A) 单向链表 (B) 单向循环链表(C) 双向链表 (D) 双向循环链表5.设F 是由1T 、2T 和3T 三棵树组成的森林,与F 对应的二叉树为B ,1T 、2T 和3T 的结点数分别为1n 、2n 和3n ,则二叉树B 的根结点的左子树的结点数为(A )。
(A) 11n - (B) 21n - (C) 23n n + (D) 13n n +6.设指针q 指向单链表中结点A ,指针p 指向单链表中结点A 的后继结点B ,指针s 指向被插入的结点X ,则在结点A 和结点B 插入结点X 的操作序列为(B )。
(A) s->next=p->next ;p->next=-s ; (B) q->next=s ; s->next=p ;(C) p->next=s->next ;s->next=p ; (D) p->next=s ;s->next=q ;7.利用直接插入排序法的思想建立一个有序线性表的时间复杂度为(C )。
2012级数据结构期末试题提纲
数据结构期末复习提纲(2012级)A、总体要求:1、掌握数据结构的基本概念、基本原理和基本方法。
2、掌握数据的逻辑结构、存储结构及基本操作的实现,能够对算法进行基本的时间复杂度和空间复杂度的分析。
3、能够运用数据结构的基本原理和方法进行问题的分析与求解,具备采用C语言和C++语言设计与实现算法的能力。
一、基本概念1、数据结构、数据元素、数据项、数据类型、抽象数据类型、算法、算法的时间复杂度、算法的空间复杂度、算法的评价标准。
2、数据结构的逻辑结构和存储结构及分类。
3、线性表的定义及特点。
4、顺序表、单链表、双向链表、循环链表、静态链表的存储结构。
5、栈和队列的定义及特点。
6、顺序栈、链栈、顺序队列、链队列的存储结构。
7、字符串的定义及特点。
8、顺序串和链串的存储结构。
9、数组的定义及特点。
10、数组的按行存储与按列存储。
11、对称矩阵、三角矩阵、稀疏矩阵的压缩存储。
12、二叉树的定义、一般术语及特点。
13、二叉树的五个基本性质。
14、完全二叉树与满二叉树的概念。
15、二叉树的顺序存储结构。
16、二叉树的二叉链表与三叉链表存储结构。
17、二叉树的四种遍历方式及特点。
18、线索二叉树的存储结构及特点。
19、树和森林的概念。
20、树的双亲链表和孩子兄弟链表存储结构。
21、树和森林的二种遍历方式。
22、图的定义、一般术语及特点。
23、图的邻接矩阵、邻接表、逆邻接表存储结构。
24、图的二种遍历方式及特点、优先遍历生成树的概念。
25、图的连通性、连通图、连通分量的概念。
26、有向无环图的概念及特点。
27、查找、查找表、关键字的概念。
28、顺序查找、折半查找、分块索引查找的概念。
29、二叉排序树和平衡二叉树的定义及特点,平衡因子的概念。
30、B_树的定义及存储结构特点。
31、哈希函数、哈希表、哈希冲突、哈希查找的概念。
32、哈希表装填因子的定义及作用。
33、内部排序、外部排序、排序方法、传统排序和优化排序的概念。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为( B )。
A) rear=rear->next; B) front=front->next;
C) rear=front->next; D) front=rear->next ;
2、线性表的链接实现有利于( A )运算。
A)插入 B)读元素
C)查找 D)定位
3、在一个链队列中,假定front和rear分别为队首和队尾指针,则插入一个结点的操作为( B )。
A)front=front->next; B) rear=rear->next;
C) rear=front->next; D) front=rear->next ;
4、n个顶点的强连通图至少有( A )条边。
A)n B)n+1 C)n-1 D)n(n-1)
5、线性表的链接实现有利于( A )运算。
A)插入 B)读元素
C)查找 D)定位
6、( C )在进行插入操作时,常产生假溢出现象。
A)顺序栈 B)循环队列
C)顺序队列 D)链队列
7、线性表的链接实现有利于( A )运算。
A)插入 B)读元素
C)查找 D)定位
8、已知栈的最大容量为4。
若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( C )。
A) 5,4,3,2,1,6 B) 2,3,5,6,1,4
C) 3,2,5,4,1,6 D) 1,4,6,5,2,3
9、倘若在对串的插入、删除运算中,期望运算速度最快,则应采用( C )。
A)顺序表示法 B)单字符为结点的单链表表示法
C)等量分块表示法 D)不等量分块表示法
10、下面关于线性表的叙述中,错误的是哪一个?( D )
A)线性表采用顺序存储,必须占用一片连续的存储单元。
B)线性表采用链接存储,便于插入和删除操作。
C)线性表采用链接存储,不必占用一片连续的存储单元。
D)线性表采用顺序存储,便于进行插入和删除操作。
11、串的逻辑结构与( D )的逻辑结构不同。
A)线性表 B)栈
C)队列 D)树
12、与无向图相关的术语有( C )。
A)强连通图 B)入度
C)路径 D)弧
13、二叉树第i(i≥1)层上至多有( C )结点。
A)2i B)2i C)2i-1 D)2i-1
14、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。
A)3 B)4 C)5 D)1
15、在一个链队列中,假定front和rear分别为队首和队尾指针,则插入一个结点的操作为( B )。
A)front=front->next; B) rear=rear->next;
C) rear=front->next; D) front=rear->next ;。