2014吉林省数据结构基础(必备资料)

合集下载

全国2014年4月自考数据结构试题和答案

全国2014年4月自考数据结构试题和答案

6.一棵二叉树的第7层上最多含有的结点数为A.14B.64C.127D.128正确答案:B(2分)7.下列选项为完全二叉树的是正确答案:A(2分)8.用邻接表表示n个顶点e条边的无向图,其边表结点的总数是A. n×eB. eC. 2eD. n+e正确答案:C(2分)9.无向图中所有顶点的度数之和与所有边数之比是A.1/2B.1C.2D.4正确答案:C(2分)10.采用邻接矩阵存储图时,广度优先搜索遍历算法的时间复杂度为A. O(n)B. O(n+e)C. O(n2)D. O(n3)正确答案:C(2分)11.对序列(15,9,7,8,20,-1,4)进行排序,若一趟排序后的结果为(-1,15,9,7,8,20,4),则采用的排序方法是A.归并排序B.快速排序C.直接选择排序D.冒泡排序正确答案:D(2分)12.比较次数与待排序列初始状态无关的排序方法是A.快速排序B.冒泡排序C.直接插入排序D.直接选择排序正确答案:D(2分)13.查找较快,且插入和删除操作也比较方便的查找方法是A.分块查找B.二分查找C.顺序查找D.折半查找正确答案:A(2分)14.下列关于m阶B树的叙述中,错误..的是A.根结点至多有m棵子树B.所有叶子都在同一层次上C.每个非根内部结点至少有棵子树D.结点内部的关键字可以是无序的正确答案:D(2分)15.在散列查找中处理冲突时,可以采用开放定址法。

下列不是开放定址法的是A.线性探查法B.二次探查法C.双重散列法D.拉链法正确答案:D(2分)非选择题部分注意事项:用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。

二、填空题(本大题共10小题,每小题2分,共20分)16.数据结构研究的内容包括数据的逻辑结构、________和数据的运算。

正确答案:存储结构(2分)17.头指针为L的带头结点的双循环链表,结点的前趋指针域为prior,后继指针域为next,判断该链表为空的条件是________。

数据结构复习资料(亲自整理)

数据结构复习资料(亲自整理)

数据结构复习资料(亲自整理)1、链表是一种存储数据的链式结构,每个数据之间都是相关联的。

2、线性结构是一个有序数据元素的集合,包括线性表、栈、队列、双队列、数组和串。

3、树是由n(n>=1)个有限节点组成一个具有层次关系的集合,而二叉树是每个结点最多有两个子树的有序树。

二叉树与树的主要差别在于,二叉树结点的最大度数为2,而树中结点的最大度数没有限制;二叉树的结点有左、右之分,而树的结点无左、右之分。

4、堆是一种可以被看做一棵树的数组对象,总是满足某个节点的值总是不大于或不小于其父节点的值,且堆总是一棵完全二叉树。

5、二叉排序树是一种满足以下递归定义的二叉树:若左子树非空,则左子树所有节点的值均小于它的根节点;若右子树非空,则右子树所有节点的值均大于于它的根节点;左右子树也分别为二叉排序树。

1、在已知前序遍历和中序遍历的情况下,可以通过画树的方法求得后序遍历。

具体步骤如下:首先根据前序遍历的特点,确定根节点;然后观察中序遍历,将左子树和右子树分别确定下来;接着对左子树和右子树分别进行递归,直到遍历完所有节点,最后得到后序遍历。

2、树和二叉树之间可以相互转换。

将树转换为二叉树的方法是:对于每个节点,将其第一个孩子作为其左孩子,将其兄弟作为其右孩子。

将二叉树转换为树的方法是:对于每个节点,将其右孩子作为其兄弟。

3、二叉树线索化是将二叉树中的空指针指向该节点在中序遍历中的前驱或后继节点的过程。

在线索二叉树中,一个结点是叶结点的充要条件为:左、右标志均是1.4、邻接表是图的一种链式存储结构,用于表示图中每个节点的邻居节点。

每个节点都有一个链表,存储着与该节点相邻的节点。

邻接表是一种图的存储结构,对于每个顶点建立一个单链表,单链表中的结点表示依附于该顶点的边(对于有向图是以该顶点为尾的弧)。

邻接表中的表结点和头结点分别表示边和顶点,包含信息如下:表结点adjvex(邻接点)。

nextarc(指向下一个表结点)(权值等信息);头结点data(顶点信息)和firstarc(指向第一个表结点)。

2013吉林省数据结构基础最新考试试题库(完整版)

2013吉林省数据结构基础最新考试试题库(完整版)

12、向一个栈顶指针为hs的链栈中插入一个s结点时,应执行( D )。
A) hs->next=s; B) s->next=hs->next; hs->next=s;
C) s->next=hs; hs=s; D) s->next=hs; hs=hs->next;
32、广义表head(((a,b),(c,d)))的运算结果为( A )。
A)(a,b) B)(c,d)
C)空表 D)((a,b),(c,d))
33、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a??11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为( B )。
A)一个数量级别 B)一个平均值
C)一个最大值 D)一个均方值
15、线索二叉树中某结点D,没有左孩子的条件是( B )。
A)D->Lchild=Null B) D->ltag=1
C) D->Rchild=Null D) D->ltag=0
23、二叉树第i(i≥1)层上至多有( C )结点。
A)2i B)2i C)2i-1 D)2i-1
24、有一个有序表{1,4,6,10,18,35,42,53,67,71,78,84,92,99}。当用二分查找法查找键值为84的结点时,经( B )比较后查找成功。
C) O(m*n) D)O(1)
35、在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行( A ) 。
A)q->next=s; s->next=p; B)s->next=p->next; p->next=s;

2014吉林省全国计算机等级考试二级VB最新考试试题库

2014吉林省全国计算机等级考试二级VB最新考试试题库

1、设有下列二叉树:图见书P46对此二叉树中序遍历的结果为(B)A. ABCDEFB. DBEAFCC. ABDECFD. DEBFCA2、下列关于队列的叙述中正确的是(C)A. 在队列中只能插入数据B. 在队列中只能删除数据C. 队列是先进先出的线性表D. 队列是先进后出的线性表3、希尔排序法属于哪一种类型的排序法(B)A.交换类排序法B.插入类排序法C.选择类排序法D.建堆排序法4、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。

其中数据独立性最高的阶段是(A)A. 数据库系统B. 文件系统C. 人工管理D. 数据项管理5、以下数据结构中不属于线性数据结构的是(C)A. 队列B. 线性表C. 二叉树D. 栈6、算法的时间复杂度是指(C)A. 执行算法程序所需要的时间B. 算法程序的长度C. 算法执行过程中所需要的基本运算次数D. 算法程序中的指令条数7、在深度为5的满二叉树中,叶子结点的个数为(C)A. 32B. 31C. 16D. 158、软件调试的目的是(B) 注:与软件测试要对比着复习A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能9、关系表中的每一横行称为一个(A)A. 元组B. 字段C. 属性D. 码10、结构化程序设计主要强调的是(B)A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性11、下述关于数据库系统的叙述中正确的是(A)A. 数据库系统减少了数据冗余B. 数据库系统避免了一切冗余C. 数据库系统中数据的一致性是指数据类型的一致D. 数据库系统比文件系统能管理更多的数据12、下列关于队列的叙述中正确的是(C)A. 在队列中只能插入数据B. 在队列中只能删除数据C. 队列是先进先出的线性表D. 队列是先进后出的线性表13、关系数据库管理系统能实现的专门关系运算包括(B)A. 排序、索引、统计B. 选择、投影、连接C. 关联、更新、排序D. 显示、打印、制表14、软件调试的目的是(B) 注:与软件测试要对比着复习A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能15、在软件开发中,下面任务不属于设计阶段的是(D)A. 数据结构设计B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型16、关系表中的每一横行称为一个(A)A. 元组B. 字段C. 属性D. 码17、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。

2014吉林省公务员考试公共基础知识(必备资料)

2014吉林省公务员考试公共基础知识(必备资料)

1、在WORD中,以下关于文字设置的说法正确的是____。

A、默认字体有宋体、黑体、楷体、隶B、文字格式工具栏中加粗按钮可以设置文字的颜色C、利用格式菜单打开字体对话框,可以设置字符间距D、利用格式菜单打开段落对话框,可以设置字符间距2、标准键盘的回车键上一般都标着____。

A、ShiftB、EnterC、TabD、Backspace3、下列措施能有效防止感染计算机病毒的措施是____。

A、安装防、杀毒软件B、不随意删除文件C、不随意新建文件夹D、经常进行磁盘碎片整理4、在Windows中,为了查找文件名以"A"字母打头的所有文件,应当在查找名称框内输入____。

A、AB、A*C、A?D、A#5、ISO/OS是_____.A、开放系统互连参考模型B、TCP/IP协议C、网络软件D、网络操作系统6、在Internet中,每一个网站或网页都有一个确定的地址,这个地址被称为____。

A、超级链接B、URLC、FTPD、服务器地址7、电子邮件地址由两部分组成,用@号隔开,其中@号前为____。

A、用户名B、机器名C、本机域名D、密码8、在IE地址栏输入的“/”中,http代表的是____。

A、协议B、主机C、地址D、资源9、计算机能直接识别的是____的代码A、二进制B、八进制C、十进制D、十六进制10、在IE地址栏输入的“/”中,http代表的是____。

A、协议B、主机C、地址D、资源11、下列叙述中,不完整的是____A、媒体是指信息表示和传播的载体,它向人们传递各种信息B、多媒体计算机就是有声卡的计算机C、多媒体技术是指用计算机技术把多媒体综合一体化,并进行加工处理的技术D、多媒体技术数字化的特点是指多媒体中各单媒体都以数字形式存放在计算机中12、一般情况下,校园网属于___。

A、LANB、WANC、MAND、GAN13、Internet网属于一种____。

A、校园网B、局域网C、广域网D、WINDOWS NT网14、计算机联网的主要目的是实现____。

2014年全国学习数据库基础

2014年全国学习数据库基础

1、二叉树的层次遍历序列的第一个结点是二叉树的根。

实际上,层次遍历序列中的每个结点都是“局部根”。

确定根后,到二叉树的中序序列中,查到该结点,该结点将二叉树分为“左根右”三部分。

若左、右子树均有,则层次序列根结点的后面应是左右子树的根;若中序序列中只有左子树或只有右子树,则在层次序列的根结点后也只有左子树的根或右子树的根。

这样,定义一个全局变量指针R,指向层次序列待处理元素。

算法中先处理根结点,将根结点和左右子女的信息入队列。

然后,在队列不空的条件下,循环处理二叉树的结点。

队列中元素的数据结构定义如下:typedef struct{ int lvl; //层次序列指针,总是指向当前“根结点”在层次序列中的位置int l,h; //中序序列的下上界int f; //层次序列中当前“根结点”的双亲结点的指针int lr; // 1—双亲的左子树 2—双亲的右子树}qnode;BiTree Creat(datatype in[],level[],int n)//由二叉树的层次序列level[n]和中序序列in[n]生成二叉树。

n是二叉树的结点数{if (n<1) {printf(“参数错误\n”); exit(0);}qnode s,Q[]; //Q是元素为qnode类型的队列,容量足够大init(Q); int R=0; //R是层次序列指针,指向当前待处理的结点BiTree p=(BiTree)malloc(sizeof(BiNode)); //生成根结点p->data=level[0]; p->lchild=null; p->rchild=null; //填写该结点数据for (i=0; i<n; i++) //在中序序列中查找根结点,然后,左右子女信息入队列if (in[i]==level[0]) break;if (i==0) //根结点无左子树,遍历序列的1—n-1是右子树{p->lchild=null;s.lvl=++R; s.l=i+1; s.h=n-1; s.f=p; s.lr=2; enqueue(Q,s);}else if (i==n-1) //根结点无右子树,遍历序列的1—n-1是左子树{p->rchild=null;s.lvl=++R; s.l=1; s.h=i-1; s.f=p; s.lr=1; enqueue(Q,s);}else //根结点有左子树和右子树{s.lvl=++R; s.l=0; s.h=i-1; s.f=p; s.lr=1;enqueue(Q,s);//左子树有关信息入队列s.lvl=++R; s.l=i+1;s.h=n-1;s.f=p; s.lr=2;enqueue(Q,s);//右子树有关信息入队列}while (!empty(Q)) //当队列不空,进行循环,构造二叉树的左右子树{ s=delqueue(Q); father=s.f;for (i=s.l; i<=s.h; i++)if (in[i]==level[s.lvl]) break;p=(bitreptr)malloc(sizeof(binode)); //申请结点空间p->data=level[s.lvl]; p->lchild=null; p->rchild=null; //填写该结点数据if (s.lr==1) father->lchild=p;else father->rchild=p; //让双亲的子女指针指向该结点if (i==s.l){p->lchild=null; //处理无左子女s.lvl=++R; s.l=i+1; s.f=p; s.lr=2; enqueue(Q,s);}else if (i==s.h){p->rchild=null; //处理无右子女s.lvl=++R; s.h=i-1; s.f=p; s.lr=1; enqueue(Q,s);}else{s.lvl=++R; s.h=i-1; s.f=p; s.lr=1; enqueue(Q,s);//左子树有关信息入队列s.lvl=++R; s.l=i+1; s.f=p; s.lr=2; enqueue(Q,s); //右子树有关信息入队列}}//结束while (!empty(Q))return(p);}//算法结束2、有一个带头结点的单链表,每个结点包括两个域,一个是整型域info,另一个是指向下一个结点的指针域next。

2014年吉林省数据结构习题集答案(C语言版严蔚敏)_图文最新考试试题库(完整版)

2014年吉林省数据结构习题集答案(C语言版严蔚敏)_图文最新考试试题库(完整版)

18、在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是 B 。
A.O(1) B.O(n) C.O(n2) D.O(nlog2n)
19、在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C 。
A.数据的处理方法 B.数据元素的类型
(1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系
C.分析算法的效率以求改进 C.分析算法的易读性和文档性
(2)A.空间复杂度和时间复杂度 B.正确性和简明性
C.可读性和文档性 D.数据复杂性和程序复杂性
32、当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。
D.依附于对应顶点v的边数
3、如果对线性表的操作只有两种,即删除第一个元素,在最后一个元素的后面插入新元素,则最好使用 B 。
A.只有表头指针没有表尾指针的循环单链表
B.只有表尾指针没有表头指针的循环单链表
C.非循环双链表
D.循环双链表
4、在二维数组a[9][10]中:每个数组元素占用3个存储空间,从首地址SA开始按行优先
6、若进栈序列为1,2,3,4,则不可能得到的出栈序列是( C )。
A)3,2,1,4 B)3,2,4,1
C)4,2,3,1 D)2,3,4,1
7、非空的循环单链表head的尾结点(由p所指向)满足 C 。
A.p->next == NULL B.p == NULL
16、向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( )。
A.O(n) B.O(1)
C.O(n2) D.O(10g2n)

数据结构复习资料.doc

数据结构复习资料.doc

数据结构复习资料.数据结构的定义数据结构是一门讨论“描述现实世界实体的数学模型(非数值计算)及其上的操作在计算机中如何表示和实现”的学科。

数据结构:是指数据以及数据元素相互之间的联系,可以看作是相互之间存在着某种特定关系的数据元素的集合。

对数据结构的内容包括以下几个方面:①数据的逻辑结构,指数据元素之间的逻辑关系。

②数据的存储结构,指数据元素及其关系在计算机存储器中的存储方式,也称为数据的物理结构。

③数据运算,指施加在数据上的操作。

算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中,每一条指令表示一个或多个操作。

粗略地说,算法是为了求解问题而给出的一个指令序列,程序是算法的一种具体实现。

一个算法必须满足以下五个重要特性:1. 有穷性2. 确定性3. 可行性4. 有输入5. 有输出算法的重要特征(1) 有穷性: 算法在有穷步之后结束,每一步在有穷时间内完成。

(2) 确定性: 算法中的每一条指令有明确的含义,无二义性。

(3) 可行性: 可通过已经实现的基本运算执行有限次来实现算法中的所有操作。

算法分析的两个主要方面是分析算法的时间复杂度和空间复杂度。

算法的执行时间主要与问题的规模有关。

问题规模是一个与输入有关的量。

语句频度是指算法中该语句被重复执行的次数。

算法中所有语句的频度之和记作T(n),是该算法所求解问题规模的函数。

当问题规模趋向无穷大时,T(n)的数量级称为渐进时间复杂度,简称时间复杂度,记作T(n)=O(f(n))。

通常采用算法中表示基本运算的语句的频度来分析算法的时间复杂度。

例题:1. 数据结构中的逻辑结构是指(),物理结构是指()。

2. 算法的基本特征包括有穷性、( )、( )、有输入和输出。

3. 算法的有穷性是指()。

4. 算法的确定性是指()。

5. 算法的可行性是指()。

6. 算法分析的两个主要方面是分析算法的()和空间复杂度。

7. 语句频度是指(算法中该语句被重复执行的次数)。

《数据结构》课程复习资料.doc

《数据结构》课程复习资料.doc

《数据结构》课程复习资料一、填空题:1.设需要对5个不同的记录关键字进行排序,则至少需要比较土次,至多需要比较10次。

2.设二叉排序树的高度为h,则在该树中查找关键字key最多需要比较丄次。

3.设在长度为20的有序表中进行二分查找,则比较一次查找成功的结点数有丄个,比较两次查找成功有结点数有生个。

4.数据结构从逻辑上划分为三种基本类型§线性结构、树型结构和图型结构。

5.在一个具有n个顶点的无向完全图中,包含有n(n-l)/2条边,在一个具有n个顶点的有向完全图中,包含有n(n-l)条边。

6.向一棵B.树插入元素的过程中,若最终引起树根结点的分裂,则新树比原树的高度增加1。

7•在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为0(log2n),整个堆排序过程的时间复杂度为0(nlog2n)。

8.在快速排序、堆排序、归并排序中,归并排序是稳定的。

9.在有n个叶子结点的哈夫曼树屮,总结点数是旷1 °10.—棵树T采用二叉链表存储,如果树T中某结点为叶子结点,则在二叉链表BT中所对应的结点一定左右子树空。

11.已知数组A [ 1 0 ] [ 1 0 ]为对称矩阵,英中每个元素占5个单元。

现将英下三角部分按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A [5, 6]对应的地址是1225 o12.在有n个结点的无向图中,其边数最多为n(n-l)/2。

13.取出广义表A二(x, (a, b, c, d))中原子x的函数是head (A) o14.对矩阵采用压缩存储是为了节省空间。

15.带头结点的双循环链表L为空表的条件是L->next二L->prior 或L-〉next二L。

16.设线性表中元素的类型是实型,其首地址为1024,则线性表屮第6个元素的存储位置是1044。

17.对于顺序存储的栈,因为栈的空间是有限的,在进行入栈(插入)运算时,可能发生栈的上溢,在进行出栈(删除)运算时,可能发生栈的下溢。

吉林省专升本数据结构习题及答案——第一章

吉林省专升本数据结构习题及答案——第一章

吉林省专升本考试数据结构分章习题及参考答案———选择题(第一章)1、计算机算法必须具备()这三个特性。

A、可执行性、可移植性、可扩充性B、可执行性、确定性、有穷性C、确定性、有穷性、稳定性D、易读性、稳定性、安全性2、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的()和运算等的学科。

A、结构B、关系C、运算D、算法3、具有线性结构的数据结构是()。

A、图B、树C、广义表D、栈4、设数据结构A=(D, R),其中D={1, 2, 3, 4},R={r}, r={<I, 2>, <2, 3>,<3,4>, <4,1>},则数据结构A是( )。

A、线性结构B、树结构C、图D、集合5、数据结构是指()。

A、数据元素的组织形式B、数据类型C、数据存储结构D、数据定义6、给定有n个元素的向量,建立一个有序单链表的时间复杂度是( )。

A、O(1))B、O(n)C、O(n2)D、O(n*log2n)7、下列程序段的时间复杂度为()。

x=n;y=0;while(x>=(y+1)*(y+1))y=y+1;A、O(n)B、O(根号n)C、O(1)D、O(n2)8、计算机算法指的是().A、计算方法B、排序方法C、解决问题的步骤序列D、调度方法9、()是具有相同特性数据元素的集合,是数据的子集。

A、数据符号B、数据对象C、数据D、数据结构10、数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称之为( )。

A、存储结构B、逻辑结构C、链式存储结构D、顺序存储结构11、算法分析的两个主要方面是:A、空间复杂性和时间复杂性B、正确性和简明性C、可读性和文档性D、数据复杂性和程序复杂性12、数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为:A、存储结构B、逻辑结构C、顺序存储结构D、链式存储结构13、数据结构是一门研究非数值计算的程序设计问题中,数据元素的逻辑结构,数据信息在计算机中的()以及一组相关的运算等的课程。

2014吉林省公务员考试复习资料必过技巧

2014吉林省公务员考试复习资料必过技巧
A、通用串行总线 B、文件传输协议
C、电子邮件协议 D、统一资源定位器
8、在计算机网络系统中,WAN指的是____。
A、城域网 B、局域网 C、广域网 D、以太网
9、计算机黑客是指____。
A、能自动产生计算机病毒的一种设备
A、15 B、16 C、20 D、14
14、记录在录音机磁带、录像带上的信息属于____。
A、模拟信息 B、数字信息 C、仿真信息 D、广播信息
15、在Word中打印的快捷键是____。
A、CTRL+F B、CTRL+H
1、下列不属于传播病毒的载体是____。
A、显示器 B、软盘 C、硬盘 D、网络
2、在Word中,添加下划线的快捷键是_____。
A、[Shift]+[U] B、[Ctrl]+[I] C、[Ctrl]+[U] D、[Ctrl]+[B]
3、在日常生活中,我们经常需要使用数据库来处理许多事情,许多的管理系统都是建立在数据库的基础上的,请你从下列关于数据库管理优势的描述中,指出描述不正确的一种。____
A、数据库管理操作方便、快捷,数据维护简单、安全。
B、数据共享应用好,对于数据可以进行集中管理,可以通过网络等各种技术,使数据能够共享,提高数据的使用效率。
C、检索统计准确,效率高,速度快。
D、能够存储大量的数据,不但可以存储文字,还可以存储图像、声音、视频等多媒体信息。但耗费空间。
4、com
D、IP地址指出了该计算机连接到哪个网络上
37、HTML表示____。
A、超文本传输协议 B、超文本标记语言 C、传输控制协议 D、统一资源管理器

2014年吉林省数据概述加强

2014年吉林省数据概述加强
if(bt==p) //不失一般性,假定p在q的左侧,遇结点p时,栈中元素均为p的祖先结点
{for(i=1;i<=top;i++) s1[i]=s[i]; top1=top; }//将栈s的元素转入辅助栈s1 保存
if(bt==q) //找到q 结点。
for(i=top;i>0;i--)//;将栈中元素的树结点到s1去匹配
(1).请各举一个结点个数为5的二部图和非二部图的例子。
(2).请用C或PASCAL编写一个函数BIPARTITE判断一个连通无向图G是否是二部图,并分析程序的时间复杂度。设G用二维数组A来表示,大小为n*n(n为结点个数)。请在程序中加必要的注释。若有必要可直接利用堆栈或队列操作。【
13、对二叉树的某层上的结点进行运算,采用队列结构按层次遍历最适宜。
typedef struct
{BiTree t;int tag;//tag=0 表示结点的左子女已被访问,tag=1表示结点的右子女已被访问
}stack;
stack s[],s1[];//栈,容量够大
BiTree Ancestor(BiTree ROOT,p,q,r)//求二叉树上结点p和q的最近的共同祖先结点r。
if(p->lchild) Q[++rear]=p->lchild; //左子女入队
if(p->rchild) Q[++rear]=p->rchild; //右子女入队
if(front==last) {level++; //二叉树同层最右结点已处理,层数增1
#define true 1
#define false 0

2014年吉林省事业单位计算机基础知识:栈的存储结构之栈的顺序存储结构-结构类型

2014年吉林省事业单位计算机基础知识:栈的存储结构之栈的顺序存储结构-结构类型

2014年吉林省事业单位计算机基础知识:栈的存储结构之栈的顺序存储结构-结构类型
更多信息,欢迎关注:吉林事业单位招聘考试网(/jilin/)
公事业单位考试网为计算机基础知识的复习为考生提供知识点梳理,帮助考生备考!
若将顺序栈定义为一个结构类型seqstack,其类型定义如下:
#define MAXSIZE 100 /* MAXSIZE是能存储元素的个数 */
typedef int datatype; /* datatype是数据元素类型 */
typedef struct
{ datatype stack[MAXSIZE] ;
/* stack数组存储栈中所有的数据元素 */
int top /* 栈顶指针top指示栈顶元素的位置 */
} seqstack; /* 顺序栈的类型定义 */
seqstack *S; /* 顺序栈变量定义 */
#define MAXSIZE 100
typedef int datatype;
typedef struct
{ datatype stack[MAXSIZE] ;
int top
}seqstack *S;
其中,top是栈顶指针,用于指示栈顶元素在数组中的下标值,其初值指向栈底,即top=1。

stack是一维数组,用于存储栈中所有的数据元素。

datatype 是栈中元素的数据类型,可根据需要而指定其具体的类型。

MAXSIZE表示栈的最大存储容量。

以上是中公事业单位考试网为考生梳理计算机基础知识点,供大家学习识记!。

数据结构(第4版)习题及实验参考答案 数据结构复习资料完整版(c语言版)

数据结构(第4版)习题及实验参考答案 数据结构复习资料完整版(c语言版)

数据结构基础及深入及考试复习资料习题及实验参考答案见附录结论1、数据的逻辑结构是指数据元素之间的逻辑关系。

即从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。

2、数据的物理结构亦称存储结构,是数据的逻辑结构在计算机存储器内的表示(或映像)。

它依赖于计算机。

存储结构可分为4大类:顺序、链式、索引、散列3、抽象数据类型:由用户定义,用以表示应用问题的数据模型。

它由基本的数据类型构成,并包括一组相关的服务(或称操作)。

它与数据类型实质上是一个概念,但其特征是使用与实现分离,实行封装和信息隐蔽(独立于计算机)。

4、算法:是对特定问题求解步骤的一种描述,它是指令的有限序列,是一系列输入转换为输出的计算步骤。

5、在数据结构中,从逻辑上可以把数据结构分成( C )A、动态结构和表态结构B、紧凑结构和非紧凑结构C、线性结构和非线性结构D、内部结构和外部结构6、算法的时间复杂度取决于( A )A、问题的规模B、待处理数据的初态C、问题的规模和待处理数据的初态线性表1、线性表的存储结构包括顺序存储结构和链式存储结构两种。

2、表长为n的顺序存储的线性表,当在任何位置上插入或删除一个元素的概率相等时,插入一个元素所需移动元素的平均次数为( E ),删除一个元素需要移动的元素的个数为( A )。

A、(n-1)/2B、nC、n+1D、n-1E、n/2F、(n+1)/2G、(n-2)/23、“线性表的逻辑顺序与存储顺序总是一致的。

”这个结论是( B )A、正确的B、错误的C、不一定,与具体的结构有关4、线性表采用链式存储结构时,要求内存中可用存储单元的地址( D )A、必须是连续的B、部分地址必须是连续的C一定是不连续的D连续或不连续都可以5、带头结点的单链表为空的判定条件是( B )A、head==NULLB、head->next==NULLC、head->next=headD、head!=NULL6、不带头结点的单链表head为空的判定条件是( A )A、head==NULLB、head->next==NULLC、head->next=headD、head!=NULL7、非空的循环单链表head的尾结点P满足( C )A、p->next==NULLB、p==NULLC、p->next==headD、p==head8、在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是(B )A、O(1)B、O(n)C、O(n2)D、O(nlog2n)9、在一个单链表中,若删除p所指结点的后继结点,则执行( A )A、p->next=p->next->next;B、p=p->next;p->next=p->next->next;C、p->next=p->next;D、p= p->next->next;10、在一个单链表中,若在p所指结点之后插入s所指结点,则执行( B )A、s->next=p;p->next=s;B、s->next=p->next;p->next=s;C、s->next=p->next;p=s;D、p->next=s;s->next=p;11、在一个单链表中,已知q是p的前趋结点,若在q和p之间插入结点s,则执行(C )A、s->next=p->next;p->next=s;B、p->next=s->next;s->next=p;C、q->next=s;s->next=p;D、p->next=s;s->next=q;12、在线性结构中,第一个结点没有前趋结点,其余每个结点有且只有 1 个前趋结点。

2014吉林省数据结构必过技巧

2014吉林省数据结构必过技巧
B)线性结构和非线性结构
C)紧凑结构和非紧凑结构
D)内部结构和外部结构
7、下面程序段的时间复杂度是( A )。
s =0;
for( i =0; i<n; i++)
for(j=0;j<n;j++)
s +=B[i][j];
sum = s ;
36、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
37、n个顶点,e条边的有向图的邻接矩阵中非零元素有( C )个。
A)n B)2e C)e D) n+e
1、n个顶点的强连通图至少有( A )条边。
A)n B)n+1 C)n-1 D)n(n-1)
2、倘若在对串的插入、删除运算中,期望运算速度最快,则应采用( C )。
A)顺序表示法 B)单字符为结点的单链表表示法
C)等量分块表示法 D)不等量分块表示法
13、用一维数组A进行顺序存储时,若起始地址为loc(A1),元素长度为c,则A的第i个数组单元在存放地址loc(Ai),等于( B )。
A)loc(A1)+i*c B)loc(A1)+(i-1)*c
C)loc(A1)+i*c+1 D)loc(A1)+(i+1)*c
C)部分地址必须是连续 D)必须是不连续的
16、( C )在进行插入操作时,常产生假溢出现象。
A)顺序栈 B)循环队列
C)顺序队列 D)链队列
17、广义表A=(A,B,(C,D),(E,(F,G))),则head(tail(head(tail(tail(A)))))=( D )。

数据结构总复习资料(完整版)

数据结构总复习资料(完整版)

2018数据结构总复习第一章概论1.1数据结构的定义和分类1.数据结构的定义数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作的学科。

2.数据结构包括的内容(1)逻辑结构:数据元素之间的逻辑关系。

(2)存储结构:数据元素及其关系在计算机存储器内的表示。

(3)操作:数据的运算(检索、排序、插入、删除、修改)。

1.2为什么学习数据结构1.学习数据结构的作用(1)计算机内的数值运算依靠方程式,而非数值运算(如表、树、图等)则要依靠数据结构。

(2)同样的数据对象,用不同的数据结构来表示,运算效率可能有明显的差异。

(3)程序设计的实质是对实际问题选择一个好的数据结构,加之设计一个好的算法。

而好的算法在很大程度上取决于描述实际问题的数据结构。

2.电话号码查询问题(1)要写出好的查找算法,取决于这张表的结构及存储方式。

(2)电话号码表的结构和存储方式决定了查找(算法)的效率。

1.3算法的概念和特点1.算法的概念和特点算法是由若干条指令组成的有穷序列,具有以下特点:(1)输入:具有0个或多个输入的外界量。

(2)输出:至少产生1个输出。

(3)有穷性:每一条指令的执行次数必须是有限的。

(4)确定性:每条指令的含义都必须明确,无二义性。

(5)可行性:每条指令的执行时间都是有限的。

2.算法与程序的区别(1)一个程序不一定满足有穷性,但算法一定。

(2)程序中的指令必须是机器可执行的,而算法无此限制。

(3)一个算法若用机器可执行的语言来描述,则它就是一个程序。

1.4算法分析1.时间复杂度算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n) / f(n) 的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。

记作T(n)=O(f(n)),称O(f(n)) 为算法的渐近时间复杂度,简称时间复杂度。

算法效率的度量,采用时间复杂度。

数据结构基础

数据结构基础

JYP
30
1.5.2 时间复杂性
• 算法P的运行时间
T(P) = c + TP(实例特性) • 时间复杂性分析的目的在于揭示算法的运行时间 随着其实例特性变化的规律。 • 将一组与实例特性无关的操作抽象为一个程序步, 从而有效地简化性能分析的过程。 • 程序步:算法中的一个在语法和语义上有意义的 指令序列,而且该序列执行时间与算法的实例特 性无关。
JYP
11
• 当强调一个数据对象的结构时,使用数据结构的 概念。 • 与数据结构的概念对比,抽象数据类型包含了一 个数据结构的集合,还包含了对数据结构的操作。 • 抽象数据类型成为描述数据结构及其操作的有效 方式。 • 定义ADT的语言本质上不依赖具体的程序设计语 言,这里采用C++描述。
JYP
12
• 除了正确性、可用性、可读性和容错性以外,算 法的性能是评价算法优劣的重要指标。
• 空间复杂性:算法开始运行直至结束过程中所需 要的最大存储资源开销的一种度量。 • 时间复杂性:算法开始运行直至结束所需要的执 行时间的一种度量。 • 性能评价分为事前估计和事后测量。 • 性能分析就是指对算法的空间复杂性和时间复杂 性进行事前估计。
分析四个元素(a,b,c,d)的情况,结果可以如 下构造: (1) a后接(b,c,d)的全排列 (2) b后接(a,c,d)的全排列 (3) c后接(a,b,d)的全排列 (4) d后接(a,b,c)的全排列 这表明,如果能生成n – 1个元素的全排列,就能 生成n个元素的全排列。
JYP
ቤተ መጻሕፍቲ ባይዱ
23
对于只有1个元素的集合,可以直接生成其全排 列。于是,全排列生成问题的递归步骤和终止条件 可以确定。 求解函数perm:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、下面程序段的时间复杂度是( 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)
2、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为( B )。

A) rear=rear->next; B) front=front->next;
C) rear=front->next; D) front=rear->next ;
3、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。

A) 单链表 B) 仅有头指针的单循环链表
C) 双链表 D) 仅有尾指针的单循环链表
4、下列序列中,执行第一趟快速排序后得到的序列是( A )。

A)[d,a,e,d,b]f[h,g] B) [c,e,a,d]f[h,g,b]
C) [g,a,e,c,b]f[d,h] D) [a,b,c,d,]f[e,g,h]
5、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。

A)3 B)4 C)5 D)1
6、用一维数组A进行顺序存储时,若起始地址为loc(A1),元素长度为c,则A的第i个数组单元在存放地址loc(Ai),等于( B )。

A)loc(A1)+i*c B)loc(A1)+(i-1)*c
C)loc(A1)+i*c+1 D)loc(A1)+(i+1)*c
7、在一个单链表中,已知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、n个顶点的图的最小生成树必定( D ),是不正确的描述。

A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边
9、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。

A)一个数量级别 B)一个平均值
C)一个最大值 D)一个均方值
10、数据结构中,在逻辑上可以把数据结构分成( B )。

A)动态结构和静态结构
B)线性结构和非线性结构
C)紧凑结构和非紧凑结构
D)内部结构和外部结构
11、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。

A)一个数量级别 B)一个平均值
C)一个最大值 D)一个均方值。

相关文档
最新文档