2011贵州省数据结构考试答题技巧

合集下载

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

数据结构排序方法总结

数据结构排序方法总结

数据结构排序方法总结
数据结构是计算机科学中非常重要的一个概念,它是计算机程序设计过程中的基础。

排序是数据结构中的一种基本操作,它指的是将一组数据按照一定的规则进行排列的过程。

在这篇文章中,我们将对数据结构中的排序方法进行总结。

1. 冒泡排序
冒泡排序是一种简单的排序算法,它的思想是通过相邻元素的比较和交换来排序。

它的时间复杂度是O(n^2)。

2. 选择排序
选择排序是一种简单的排序算法,它的思想是每次找到最小值,然后将其放置在已排序的序列末尾。

它的时间复杂度也是O(n^2)。

3. 插入排序
插入排序也是一种简单的排序算法,它的思想是将未排序的元素插入到已排序的序列中。

它的时间复杂度是O(n^2)。

4. 快速排序
快速排序是一种比较常用的排序算法,它的思想是通过分治的方式将原序列分成较小的子序列,然后递归地对子序列进行排序。

它的时间复杂度是O(nlogn)。

5. 归并排序
归并排序也是一种比较常用的排序算法,它的思想是将原序列分成较小的子序列,然后递归地对子序列进行排序,最后将已排序的子序列合并成一个有序的序列。

它的时间复杂度也是O(nlogn)。

总结:以上介绍了五种数据结构中常用的排序方法,它们各有优缺点,选择不同的排序方法取决于具体的应用场景。

在实际应用中,我们需要根据数据的规模和特性来选择最合适的排序方法,从而达到最优的排序效果。

计算机试题求解技巧总结

计算机试题求解技巧总结

计算机试题求解技巧总结计算机试题的求解技巧在很大程度上决定了一个学生在考试中的得分。

下面是一些计算机试题求解的技巧总结。

1. 熟悉题型和考点:首先,了解不同类型的计算机试题常见考点。

例如,常见的计算机试题包括编程题、选择题、填空题等等。

对于编程题,了解常见的算法和数据结构是非常重要的。

对于选择题和填空题,要掌握相关的知识点和解题方法。

通过了解题型和考点,可以事先做好准备,在考试中更加有针对性地解题。

2. 完整阅读题目:在解答计算机试题时,首先要完整地阅读题目,理解题目要求和限制条件。

在读题时要仔细分析题目的关键信息和要点,避免因为遗漏重要信息而导致错误的解答。

3. 分析问题和制定解题计划:在理解题目后,要分析问题的要求,明确解题思路。

可以考虑使用什么算法、数据结构或者具体步骤来解决问题。

有时候,可以将解题过程进行分解,将问题分成较小的子问题来解决,然后逐步组合各个子问题的解,得到完整的解答。

4. 设计测试用例:在开始编写代码之前,可以设计一些测试用例来验证自己的解答是否正确。

测试用例应该覆盖一些特殊情况和边界条件,以确保解答的准确性和健壮性。

5. 编写清晰、可读性高的代码:在解答编程题时,编写清晰、可读性高的代码是非常重要的。

良好的代码结构和命名规范可以增强程序的可读性,从而便于理解和维护。

此外,要保持代码的简洁和高效,避免冗余和复杂的语句,以提高程序的性能和效率。

6. 写注释和思路解释:在编写代码的同时,要适当地添加注释和思路解释,以便阅读者理解代码的含义和逻辑。

注释应该清晰明了,描述变量和函数的作用,解释复杂语句的思路和目的。

思路解释可以追加在注释中,帮助答题人了解解题思路,方便编码。

7. 注意异常处理:在编写代码时要注意异常处理。

考虑到程序可能出现的错误情况,并采取相应的措施进行处理,以提高程序的健壮性和稳定性。

8. debug过程中的技巧:在调试代码时,可以多使用输出语句进行调试输出。

输出关键变量的值,可以帮助发现代码中的错误和逻辑问题。

数据结构简答题和论述题

数据结构简答题和论述题

数据结构简答题和论述题1、试描述数据结构和抽象数据类型的概念与程序设计语⾔中数据类型概念的区别。

【解答】数据结构是指相互之间存在⼀定关系的数据元素的集合。

⽽抽象数据类型是指⼀个数据结构以及定义在该结构上的⼀组操作。

程序设计语⾔中的数据类型是⼀个值的集合和定义在这个值集上⼀组操作的总称。

抽象数据类型可以看成是对数据类型的⼀种抽象。

串:是零个或多个字符组成的有限序列。

串是⼀种特殊的线性表,它的每个结点仅由⼀个字符组成。

空串 :长度为零的串,它不包含任何字符。

空⽩串 :仅由⼀个或多个空格组成的串⼦串 :串中任意个连续字符组成的⼦序列称为该串的⼦串。

串变量和串常量通常在程序中使⽤的串可分为:串变量和串常量。

(1)串变量 :串变量和其它类型的变量⼀样,其取值是可以改变的。

(2)串常量 :串常量和整常数、实常数⼀样,在程序中只能被引⽤但不能改变其值。

即只能读不能写。

(1)树形图表⽰: 树形图表⽰是树结构的主要表⽰⽅法。

(2)树的其他表⽰法① 嵌套集合表⽰法:是⽤集合的包含关系来描述树结构。

② 凹⼊表表⽰法:类似于书的⽬录③ ⼴义表表⽰法:⽤⼴义表的形式表⽰的。

上图 (a)树的⼴义表表⽰法如下:(A(B(E,F(I,J)), C,D(G,H)))1.中序遍历的递归算法定义:若⼆叉树⾮空,则依次执⾏如下操作:(1)遍历左⼦树; (2)访问根结点; (3)遍历右⼦树。

2.先序遍历的递归算法定义:若⼆叉树⾮空,则依次执⾏如下操作:(1) 访问根结点; (2) 遍历左⼦树; (3) 遍历右⼦树。

3.后序遍历得递归算法定义:若⼆叉树⾮空,则依次执⾏如下操作:(1)遍历左⼦树; (2)遍历右⼦树; (3)访问根结点。

2、链表具有的特点是B 插⼊、删除不需要移动元素C 不必事先估计存储空间D 所需空间与线性表长度成正⽐顺序队列(1)队列的顺序存储结构称为顺序队列,顺序队列实际上是运算受限的顺序表。

(2) 顺序队列的表⽰①和顺序表⼀样顺序队列⽤⼀个向量空间存放当前队列中的元素。

贵州省考研计算机科学与技术复习资料数据结构重要算法解析

贵州省考研计算机科学与技术复习资料数据结构重要算法解析

贵州省考研计算机科学与技术复习资料数据结构重要算法解析一、引言数据结构是计算机科学与技术领域中最为基础和重要的概念之一。

在贵州省考研计算机科学与技术的复习中,深入理解数据结构以及其中的重要算法是必不可少的。

本文将对数据结构中的一些重要算法进行解析,并提供相关的复习资料。

二、排序算法排序算法是数据结构中最经典的算法之一,对于提高计算机程序的效率至关重要。

以下是几种常用的排序算法:1. 冒泡排序冒泡排序是一种简单直观的排序算法。

它通过比较相邻的元素,将较大的元素逐步交换至右侧。

时间复杂度为O(n^2)。

2. 插入排序插入排序是一种将数组分为有序和无序两部分的排序算法。

它从无序部分选择一个元素,并将其插入到有序部分的适当位置。

时间复杂度为O(n^2)。

3. 快速排序快速排序采用了分治的思想,将数组划分为两个子数组,分别对这两个子数组进行排序。

它的平均时间复杂度为O(nlogn)。

4. 归并排序归并排序也是一种分治算法,将数组划分为两个子数组,对这两个子数组分别进行排序,然后再将其合并。

时间复杂度为O(nlogn)。

三、查找算法查找算法是数据结构中常用的一类算法,用于在给定的数据集合中寻找目标元素的位置或关键信息。

以下是几种常见的查找算法:1. 顺序查找顺序查找是最基本的查找算法,它从数据集合的第一个元素开始逐个比较,直到找到目标元素或遍历完整个数据集合。

时间复杂度为O(n)。

2. 二分查找二分查找也称为折半查找,它要求数据集合必须有序。

它通过将数据集合对半分割,并与目标元素进行比较,逐步缩小查找范围,最终找到目标元素。

时间复杂度为O(logn)。

3. 哈希查找哈希查找利用了哈希函数将目标元素映射到一个位置,从而实现快速查找。

它的平均查找时间复杂度为O(1)。

四、树和图的算法树和图是数据结构中更为复杂和高级的结构,它们在计算机科学与技术的应用中起着重要作用。

以下是与树和图相关的一些算法:1. 深度优先搜索(DFS)深度优先搜索是在树或图中以深度为优先的搜索算法。

数据结构第六章题目讲解

数据结构第六章题目讲解

数据结构第六章题⽬讲解02⼀选择题:1、以下说法错误的是①树形结构的特点是⼀个结点可以有多个直接前趋②线性结构中的⼀个结点⾄多只有⼀个直接后继③树形结构可以表达(组织)更复杂的数据④树(及⼀切树形结构)是⼀种"分⽀层次"结构⑤任何只含⼀个结点的集合是⼀棵树2.深度为6的⼆叉树最多有( )个结点①64 ②63 ③32 ④313 下列说法中正确的是①任何⼀棵⼆叉树中⾄少有⼀个结点的度为2②任何⼀棵⼆叉树中每个结点的度都为2 ⼆叉树可空③任何⼀棵⼆叉树中的度肯定等于2 ④任何⼀棵⼆叉树中的度可以⼩于24 设森林T中有4棵树,第⼀、⼆、三、四棵树的结点个数分别是n1,n2,n3,n4,那么当把森林T转换成⼀棵⼆叉树后,且根结点的右⼦树上有()个结点。

①n1-1 ②n1③n1+n2+n3④n2+n3+n4⼆.名词解释:1 结点的度 3。

叶⼦ 4。

分⽀点 5。

树的度三填空题⼆叉树第i(i>=1)层上⾄多有_____个结点。

1、深度为k(k>=1)的⼆叉树⾄多有_____个结点。

2、如果将⼀棵有n个结点的完全⼆叉树按层编号,则对任⼀编号为i(1<=i<=n)的结点X有:若i=1,则结点X是_ ____;若i〉1,则X的双亲PARENT(X)的编号为__ ____。

若2i>n,则结点X⽆_ _____且⽆_ _____;否则,X的左孩⼦LCHILD(X)的编号为____。

若2i+1>n,则结点X⽆__ ____;否则,X的右孩⼦RCHILD(X)的编号为_____。

4.以下程序段采⽤先根遍历⽅法求⼆叉树的叶⼦数,请在横线处填充适当的语句。

Void countleaf(bitreptr t,int *count)/*根指针为t,假定叶⼦数count的初值为0*/ {if(t!=NULL){if((t->lchild==NULL)&&(t->rchild==NULL))__ __;countleaf(t->lchild,&count);countleaf(t->rchild,&count);}}5 先根遍历树和先根遍历与该树对应的⼆叉树,其结果_____。

2011贵州省C与数据结构链表必过技巧

2011贵州省C与数据结构链表必过技巧

1、线性表的链接实现有利于( A )运算。

A)插入 B)读元素C)查找 D)定位2、n个顶点的图的最小生成树必定( D ),是不正确的描述。

A)不唯一 B)权的总和唯一C)不含回路 D)有n条边3、n个顶点的图的最小生成树必定( D ),是不正确的描述。

A)不唯一 B)权的总和唯一C)不含回路 D)有n条边4、已知广义表L=((x,y,z),a,(u,t,w)),从L 表中取出原子项t 的操作是( D )。

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)))))5、已知广义表L=((x,y,z),a,(u,t,w)),从L 表中取出原子项t 的操作是( D )。

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)))))6、下列序列中,执行第一趟快速排序后得到的序列是( 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]7、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为( C )。

A)top不变 B)top=0 C)top-- D)top++8、数据结构研究的内容是( D )。

A)数据的逻辑结构 B)数据的存储结构C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面9、n个顶点,e条边的有向图的邻接矩阵中非零元素有( C )个。

A)n B)2e C)e D) n+e10、串的逻辑结构与( D )的逻辑结构不相同。

考研数据结构大题答题格式

考研数据结构大题答题格式

考研数据结构大题答题格式(原创版)目录1.考研数据结构的代码大题在考试中的重要性2.代码大题的特点3.如何复习考研数据结构的代码大题4.解题技巧和思路5.总结正文一、考研数据结构的代码大题在考试中的重要性在考研数据结构的考试中,代码大题是占据了相当大的分值比重,因此它是考试的重点之一。

代码大题主要是考察考生对数据结构知识的理解和应用能力,以及编程能力的熟练程度。

它具有考察分值比重大、题目类型多、解题不容易找到思路与头绪等特点,因此是冲刺阶段必须攻克的重点之一。

二、代码大题的特点代码大题在考研数据结构的考试中有以下几个显著特点:1.考察分值比重大:代码大题在数据结构考试中所占的分值比重通常较大,因此考生需要重视这部分内容的学习和复习。

2.考察题目类型多:代码大题的题目类型多样,包括但不限于算法设计、算法实现、算法分析等,因此考生需要全面掌握数据结构的相关知识。

3.解题不容易找到思路与头绪:代码大题的题目往往具有一定的复杂性和难度,考生在解题时容易找不到思路和头绪,需要具有一定的解题技巧和思路。

三、如何复习考研数据结构的代码大题复习考研数据结构的代码大题需要从以下几个方面入手:1.扎实掌握数据结构的基本概念和原理:考生需要熟练掌握数据结构的基本概念和原理,包括线性表、栈与队列、树与二叉树、图等,这样才能在解题时灵活运用。

2.多做练习,积累解题经验:考生需要多做代码大题的练习,通过练习来提高自己的解题能力和熟练程度,培养解题思路和技巧。

3.分析错题,查漏补缺:在复习过程中,考生需要认真分析自己做错的题目,找出自己的不足之处并加以改进,这样可以有效地提高自己的解题能力。

4.注意题目的考察重点和难点:考生在复习代码大题时需要关注题目的考察重点和难点,有针对性地进行复习和练习。

四、解题技巧和思路在解答考研数据结构的代码大题时,考生需要掌握一定的解题技巧和思路,包括以下几个方面:1.仔细阅读题目,理解题意:考生在解答代码大题时需要仔细阅读题目,充分理解题意,明确题目要求和考察重点。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

软件设计师上午题目知识点

软件设计师上午题目知识点

软件设计师上午题目知识点一、知识概述《数据结构基础》①基本定义:数据结构就是数据的组织、管理和存储格式。

打个比方,就像你整理衣柜,不同类型的衣服(数据)有不同的摆放方式(数据结构),有的叠起来,有的挂起来。

②重要程度:在软件设计师上午题里超级重要,就像建房子的地基一样。

如果数据结构没整明白,很多算法题根本没法做。

③前置知识:得先知道一些基本的数学概念,像是集合的概念等;还有程序设计里的变量、基本数据类型这些入门知识。

④应用价值:在软件开发里无处不在。

比如说一个简易的学生管理系统,要存储学生信息,就得考虑用什么样的数据结构来存,是数组还是链表,这样才能方便查找、添加、删除学生信息。

二、知识体系①知识图谱:数据结构处于软件设计师知识体系的核心位置,很多其他知识点都跟它有联系,像算法、数据库设计等。

②关联知识:跟算法紧密相连,算法是对数据结构里的数据进行操作的方法。

比如排序算法对数组这种数据结构进行排序操作。

还和软件设计模式也有关,不同的设计模式下可能会选用不同的数据结构。

③重难点分析:掌握起来有一定难度,关键就在于理解每种数据结构在内存中的存储方式和操作的时间复杂度、空间复杂度。

像树结构,它的分支和节点存储关系就比较复杂,是个重难点。

④考点分析:考试经常通过选择题、简答题的形式考查。

选择题可能直接问某种数据结构的特点,简答题也许让你描述某种数据结构适合的场景。

三、详细讲解(这里以理论概念类框架讲解数据结构中的数组)①概念辨析:数组就是一堆相同类型的数据的集合,这些数据在内存里是连续存储的。

直白地说就像住在公寓里的一排房间,每个房间都是一样大小(相同类型),而且是连续的。

②特征分析:它的主要特点是随机访问快,也就是可以很快找到某个元素。

因为数据连续存储,通过一个公式就能计算出元素的地址。

但是数组一旦创建,大小就固定了,不能灵活改变。

③分类说明:有一维数组,就像一排房子;二维数组就像房子有行有列,像个表格;还有多维数组,不过那就像立体的房子布局了,很少用到。

2011贵州省数据结构分析深入

2011贵州省数据结构分析深入

1、约瑟夫环问题(Josephus问题)是指编号为1、2、…,n的n(n>0)个人按顺时针方向围坐成一圈,现从第s个人开始按顺时针方向报数,数到第m个人出列,然后从出列的下一个人重新开始报数,数到第m的人又出列,…,如此重复直到所有的人全部出列为止。

现要求采用循环链表结构设计一个算法,模拟此过程。

2、二路插入排序是将待排关键字序列r[1..n]中关键字分二路分别按序插入到辅助向量d[1..n]前半部和后半部(注:向量d可视为循环表),其原则为,先将r[l]赋给d[1],再从r[2] 记录开始分二路插入。

编写实现二路插入排序算法。

3、给定n个村庄之间的交通图,若村庄i和j之间有道路,则将顶点i和j用边连接,边上的Wij表示这条道路的长度,现在要从这n个村庄中选择一个村庄建一所医院,问这所医院应建在哪个村庄,才能使离医院最远的村庄到医院的路程最短?试设计一个解答上述问题的算法,并应用该算法解答如图所示的实例。

(20分)4、二部图(bipartite graph) G=(V,E)是一个能将其结点集V分为两不相交子集V 1和V2=V-V1的无向图,使得:V1中的任何两个结点在图G中均不相邻,V2中的任何结点在图G中也均不相邻。

(1).请各举一个结点个数为5的二部图和非二部图的例子。

(2).请用C或PASCAL编写一个函数BIPARTITE判断一个连通无向图G是否是二部图,并分析程序的时间复杂度。

设G用二维数组A来表示,大小为n*n(n为结点个数)。

请在程序中加必要的注释。

若有必要可直接利用堆栈或队列操作。

【5、对二叉树的某层上的结点进行运算,采用队列结构按层次遍历最适宜。

int LeafKlevel(BiTree bt, int k) //求二叉树bt 的第k(k>1) 层上叶子结点个数{if(bt==null || k<1) return(0);BiTree p=bt,Q[]; //Q是队列,元素是二叉树结点指针,容量足够大int front=0,rear=1,leaf=0; //front 和rear是队头和队尾指针, leaf是叶子结点数int last=1,level=1; Q[1]=p; //last是二叉树同层最右结点的指针,level 是二叉树的层数while(front<=rear){p=Q[++front];if(level==k && !p->lchild && !p->rchild) leaf++; //叶子结点if(p->lchild) Q[++rear]=p->lchild; //左子女入队if(p->rchild) Q[++rear]=p->rchild; //右子女入队if(front==last) {level++; //二叉树同层最右结点已处理,层数增1last=rear; } //last移到指向下层最右一元素if(level>k) return (leaf); //层数大于k 后退出运行}//while }//结束LeafKLevel6、设从键盘输入一整数的序列:a1, a2, a3,…,an,试编写算法实现:用栈结构存储输入的整数,当ai≠-1时,将ai进栈;当ai=-1时,输出栈顶整数并出栈。

《数据结构(C语言版)》习题指导与解答

《数据结构(C语言版)》习题指导与解答

附录2习题指导与解答习题一解答1.数据是人们利用文字符号、数字符号以及其他规定的符号对客观现实世界的事物及其活动所做的抽象描述。

它是计算机程序加工的‚原料‛。

表示一个事物的一组数据称为一个数据元素,它是数据的基本单位,在计算机中通常作为一个整体来进行考虑和处理。

一般情况下,一个数据元素由若干个数据项构成。

数据对象是性质相同的数据元素的集合,是数据的一个子集。

例如:描述N个学生的有关信息的N个数据元素构成了一个数据对象。

2.数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。

具体来说,数据结构包含三个方面的内容,既数据的逻辑结构、数据的存储结构(或称物理结构)和对数据所施加的一组操作。

3.数据的逻辑结构是数据元素之间本身所固有的独立于计算机的一种结构,这种结构可以用数据元素之间固有的关系的集合来描述。

数据的存储结构(或物理结构)是逻辑结构在计算机存储器中的具体存放方式的体现,是逻辑结构在计算机存储器中的映像。

4.根据数据元素之间存在的关系的不同特性,数据结构通常可以分为如下4类基本结构:(1)线性结构。

元素之间存在一个一对一的线线关系,即除了第一个元素和最后一个元素外,每个元素都有一个直接前驱和一个直接后继,第一个元素有一个后继,最后一个元素有一个直接前驱。

例如学生档案管理系统中学生记录之间的关系即为线性关系;(2)树形结构。

数据元素之间存在着一个对多个的关系。

例如,老师T指导3个硕士研究生G1,G2,G3;每个研究生Gi(i=1,2,3)又分别指导3个本科生Si1,Si2,Si3;则数据元素之间的呈现树形结构。

(3)图形结构或网状结构。

数据元素之间存在多个对多个的关系。

如城市交通网络中城市之间的交通道路的连接关系就是一个网状结构。

(4)集合结构。

数据元素之间无任何关系。

5.抽象数据类型通常是指由用户定义,用以表示实际应用问题的数据模型,一般由基本数据类型或其他已定义的抽象数据类型以及定义在该模型上的一组操作组成。

考研数据结构大题答题格式

考研数据结构大题答题格式

考研数据结构大题答题格式随着考研日期的临近,各位考生们都在紧张地进行最后的冲刺。

在计算机科学与技术专业中,数据结构作为一门核心课程,其重要性不言而喻。

而在考研中,数据结构大题的分数占比同样很高,因此掌握好数据结构大题的答题技巧,对提高考试成绩具有重要意义。

本文将为大家介绍一些数据结构大题的解题方法和策略,希望对大家有所帮助。

一、考研数据结构大题的重要性考研数据结构大题主要考察考生对数据结构的基本概念、原理和算法的掌握程度,以及对实际问题进行分析、抽象和解决的能力。

通过这部分题目,可以检验考生是否具备计算机科学与技术专业的基本素养。

同时,数据结构大题的分数通常较高,因此对整体成绩有很大影响。

二、数据结构大题的答题技巧1.熟悉基本数据结构及其应用:在考研数据结构大题中,常见的数据结构有数组、链表、栈、队列、树、图等。

考生需要熟练掌握这些基本数据结构的原理和操作,并能根据题目要求灵活选用合适的数据结构。

2.掌握经典算法:对于数据结构大题,往往会涉及到一些经典算法,如排序、查找、图算法等。

考生需要对这些算法有深入的了解,不仅能说出其原理,还要能根据题目要求进行适当的变形和优化。

3.善于分析和抽象:在解答数据结构大题时,考生需要具备较强的分析能力。

通过对题目的分析,能够将实际问题抽象为数据结构和算法问题,进而找到解决问题的思路。

4.注意细节:在答题过程中,考生需要注重细节。

例如,在描述算法时,要按照规范的格式写出伪代码或代码;在分析算法复杂度时,要准确计算时间复杂度和空间复杂度;在描述数据结构时,要清晰地画出存储结构图和运算符表。

三、解题步骤与策略1.仔细阅读题目,理解题意。

在阅读题目时,要注意抓住关键词,分析题目所涉及的数据结构和算法。

2.根据题目要求,选取合适的数据结构和算法。

在选取数据结构和算法时,要考虑其在题目中的适用性和优化空间。

3.设计算法,编写伪代码或代码。

在设计算法时,要确保其正确性、高效性和完整性。

2010贵州省数据结构基础考试答题技巧

2010贵州省数据结构基础考试答题技巧

1、下面关于线性表的叙述中,错误的是哪一个?( D )A)线性表采用顺序存储,必须占用一片连续的存储单元。

B)线性表采用链接存储,便于插入和删除操作。

C)线性表采用链接存储,不必占用一片连续的存储单元。

D)线性表采用顺序存储,便于进行插入和删除操作。

2、采用链结构存储线性表时,其地址( B )。

A)必须是连续的 B)连续不连续都可以C)部分地址必须是连续 D)必须是不连续的3、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a??11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为( B )。

A)13 B)33 C)18 D)404、在数据结构中,从逻辑上可以把数据结构分为( C )。

A)动态结构和静态结构 B)紧凑结构和非紧凑结构C)线性结构和非线性结构 D)内部结构和外部结构5、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。

A)3 B)4 C)5 D)16、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。

A)3 B)4 C)5 D)17、设有一个栈,元素的进栈次序为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, A8、在数据结构中,从逻辑上可以把数据结构分为( C )。

A)动态结构和静态结构 B)紧凑结构和非紧凑结构C)线性结构和非线性结构 D)内部结构和外部结构9、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为( B )。

A) rear=rear->next; B) front=front->next;C) rear=front->next; D) front=rear->next ;10、线索二叉树中某结点D,没有左孩子的条件是( B )。

2011年贵州省数据结构考试技巧重点

2011年贵州省数据结构考试技巧重点

18、若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用
D 存储方式最节省运算时间。
A.单链表 B.给出表头指针的单循环链表 C.双链表 D.带头结点的双循环链表
19、在以下的叙述中,正确的是 B 。
A.线性表的顺序存储结构优于链表存储结构
46、一棵左子树为空的二叉树在前序线索化后,其空指针域个数为
A.0 B.1 C.2 D.不确定
47、如果对线性表的操作只有两种,即删除第一个元素,在最后一个元素的后面插入新元素,则最好使用 B 。
A.只有表头指针没有表尾指针的循环单链表
30、向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( )。
A.O(n) B.O(1)
C.O(n2) D.O(10g2n)
31、对于图1所示的二叉树,其后序序列为(C )。
A)ABDECFG B)DBEAFCG
C)DEBFGCA D)GFCEBDA
A LL B LR C RL D RR
25、通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 B 。
A.数据元素具有同一特点
B.不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致
C.每个数据元素都一样
37、向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( )。
A.O(n) B.O(1)
C.O(n2) D.O(10g2n)
38、由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )。
A.24 B.48
12、若进栈序列为1,2,3,4,则不可能得到的出栈序列是( C )。

结构化面试中专知识

结构化面试中专知识

结构化面试中专知识1. 简介结构化面试是一种常见的面试方式,它通过提前设计好的问题和评分标准,以一定的结构和顺序进行面试。

在结构化面试中,专业知识是面试官评估面试者能力的重要指标之一。

本文将介绍一些结构化面试中常见的专业知识问题和答题技巧。

2. 程序设计在结构化面试中,程序设计是一个常见的考察点。

面试官可能会提问关于编程语言、数据结构和算法的问题。

以下是一些可能的问题和答题技巧:•问题1: 请简要介绍一下面向对象编程(OOP)的概念和特点。

答题技巧: 可以从封装、继承和多态等方面回答这个问题。

•问题2: 请说明栈和队列的定义和特点。

答题技巧: 可以分别介绍栈和队列的基本定义和常见操作,如入栈、出栈、入队、出队。

•问题3: 请解释一下什么是二分查找算法。

答题技巧: 可以描述二分查找算法的基本思想和实现过程。

3. 数据库在结构化面试中,数据库知识也是一个常见的考察点。

面试官可能会提问关于数据库基本概念、SQL语句和数据库设计的问题。

以下是一些可能的问题和答题技巧:•问题1: 请解释一下数据库的三范式是什么。

答题技巧: 可以从第一范式到第三范式逐个介绍,说明每个范式的定义和优点。

•问题2: 请简要介绍SQL语言的基本操作。

答题技巧: 可以从创建表、插入数据、查询数据和更新数据等方面回答这个问题。

•问题3: 请说明数据库设计中的主外键关系是什么。

答题技巧: 可以解释主键和外键的概念,并说明它们之间的关系和作用。

4. 网络和操作系统网络和操作系统是计算机领域中非常重要的知识点,面试官可能会针对这些方面进行提问。

以下是一些可能的问题和答题技巧:•问题1: 请解释一下OSI七层模型。

答题技巧: 可以从物理层到应用层逐个介绍,说明每层的功能和作用。

•问题2: 请简要介绍一下TCP/IP协议族。

答题技巧: 可以从网络层、传输层和应用层等方面回答这个问题。

•问题3: 请解释一下操作系统的进程和线程的概念。

答题技巧: 可以从进程和线程的定义、特点和区别等方面进行回答。

计算机数据结构面试题目

计算机数据结构面试题目

计算机数据结构面试题目
在计算机数据结构的面试中,可能涉及一系列基础和高级问题,旨在考察面试者对数据结构的理解和应用能力。

以下是一些可能出现的面试题目:
1. 基础概念:
- 数据结构的定义和作用是什么?为什么数据结构很重要?
- 解释线性数据结构和非线性数据结构的区别。

- 什么是栈和队列?它们的应用场景分别是什么?
- 二叉树和平衡二叉树有什么区别?AVL树和红黑树有何不同?
2. 常用数据结构及其操作:
- 数组和链表的区别是什么?什么情况下使用数组更合适?什么情况下使用链表更合适?
- 描述并实现堆的基本操作(插入、删除、堆化等)。

- 解释图的表示方法(邻接矩阵和邻接表),并说明它们各自的优缺点。

3. 算法与数据结构的关系:
- 简述算法与数据结构之间的关系,并解释为什么在编写算法时选择合适的数据结构很重要。

- 如何选择最适合的数据结构来解决特定问题?
4. 复杂度分析:
- 解释时间复杂度和空间复杂度。

常见的时间复杂度有哪些?它们代表什么意义?
- 对于给定的算法,如何计算其时间复杂度?举例说明。

5. 高级数据结构及应用:
- 详细介绍哈希表的工作原理和解决冲突的方法。

- 解释并实现图的深度优先搜索(DFS)和广度优先搜索(BFS)算法。

以上题目旨在考察面试者对数据结构基本概念的掌握程度以及其在实际问题中应用的能力。

考虑到实际面试的复杂性,面试题目可能会根据面试官的特定需求和候选人的经验水平进行调整。

数据结构——精选推荐

数据结构——精选推荐

数据结构线性数据结构部分:⼀、填空题1. 数据结构包括数据的逻辑结构、数据的储存结构和数据的运算三个⽅⾯。

2. 数据结构包括逻辑结构、数据的存储结构和数据的运算三个⽅⾯。

3. 在算法“正确”的前提下,评价算法主要有两个指标是:时间复杂度和空间复杂度。

4. 在算法“正确”的前提下,衡量算法效率的主要指标是:时间复杂度及空间复杂度。

5. 线性数据结构的逻辑特征是有且仅有⼀个开始结点和⼀个终端结点,且所有结点都最多只有⼀个直接前趋和⼀个直接后继。

6. 线性数据结构的逻辑特征是有且仅有⼀个开始结点和⼀个终端结点,且所有结点都最多只有⼀个直接前趋和⼀个直接后继。

7. 数据的存储结构包含有顺序存储结构、链式存储结构、索引存储结构和散列存储结构等四种基本的映像⽅法。

8. 数据存储结构的四种基本形式是:顺序存储结构、链式存储结构、索引存储结构以及散列存储结构。

9. 若频繁地对线性表进⾏插⼊与删除操作,该线性表应采⽤链式存储结构。

10. 线性链表中数据元素的组成:⼀是数据元素的值,⼆是直接后继元素的地址的指针,这两部分信息组成数据元素的存储映像,即结点。

11. 带头结点的单向链表L为空的判定条件是 L->next==null 。

12. 在⼀个单链表中p所指结点之后插⼊s所指结点时,应执⾏s->next= p->next 和p->next= s 的操作。

13. 要在⼀个单链表中p所指结点之后插⼊⼀个⼦链表,⼦链表第⼀个结点的地址为s,⼦链表最后⼀个结点的地址为t, 则应执⾏操作:t->next=p->next 和 p->next=s 。

14. 单链表的结点的数据类型是:typedef struct node{int data; /*数据部分*/struct node *next;/*指向下⼀个结点的指针*/} LinkList;LinkList *p, *q;如果要求将由指针变量q所指向的表外结点插⼊到单链表中由p所指向的结点之后,则应执⾏的语句是:(1)q->next=p->next (2)p->next=q 。

数据结构知识点面试技巧

数据结构知识点面试技巧

数据结构知识点面试技巧一、引言在计算机科学与软件工程领域中,数据结构是一门核心的基础课程。

掌握数据结构的知识点对于软件工程师的面试非常重要。

本文将介绍一些关键的数据结构知识点,并提供一些面试技巧,帮助读者在面试中脱颖而出。

二、线性数据结构1. 数组(Array)数组是一种最基本的数据结构,它在内存中以连续的方式存储一系列相同类型的元素。

在面试中,你可能会被问到数组的优缺点、时间复杂度以及如何使用数组解决问题等。

2. 链表(Linked List)链表是一种动态数据结构,它通过节点之间的指针链接来存储数据。

在面试中,你可能会被问到链表的类型、插入和删除节点的操作复杂度、如何判断链表是否有环等。

3. 栈(Stack)栈是一种后进先出(LIFO)的数据结构,它只允许从表的一端进行插入和删除操作。

在面试中,你可能会被问到栈的应用场景、栈的实现方式以及如何使用栈解决问题等。

4. 队列(Queue)队列是一种先进先出(FIFO)的数据结构,它允许在一端进行插入操作,在另一端进行删除操作。

在面试中,你可能会被问到队列的应用场景、队列的实现方式以及如何使用队列解决问题等。

5. 哈希表(Hash Table)哈希表是一种通过哈希函数将键映射到值的数据结构,它提供了快速的插入、删除和查找操作。

在面试中,你可能会被问到哈希表的实现原理、冲突解决方法、哈希函数的设计等。

三、树结构1. 二叉树(Binary Tree)二叉树是一种每个节点最多有两个子节点的树结构。

在面试中,你可能会被问到二叉树的遍历方式、平衡二叉树的定义、二叉搜索树的性质等。

2. 堆(Heap)堆是一种特殊的树结构,它可以快速找到最大或最小的元素。

在面试中,你可能会被问到堆的实现方式、堆的操作复杂度、堆排序算法等。

3. 图(Graph)图是一种由节点和边组成的数据结构,它用于描述元素之间的关系。

在面试中,你可能会被问到图的遍历方式、图的表示方法、图的最短路径算法等。

2011贵州省计算机等级考试二级考试重点和考试技巧

2011贵州省计算机等级考试二级考试重点和考试技巧

1、设有下列二叉树:图见书P46对此二叉树中序遍历的结果为(B)A. ABCDEFB. DBEAFCC. ABDECFD. DEBFCA2、希尔排序法属于哪一种类型的排序法(B)A.交换类排序法B.插入类排序法C.选择类排序法D.建堆排序法3、按条件f对关系R进行选择,其关系代数表达式为(C)A. R|X|RB. R|X|RfC. бf(R)D. ∏f(R)4、数据的存储结构是指(B)A. 数据所占的存储空间量B. 数据的逻辑结构在计算机中的表示C. 数据在计算机中的顺序存储方式D. 存储在外存中的数据5、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。

其中数据独立性最高的阶段是(A)A. 数据库系统B. 文件系统C. 人工管理D. 数据项管理6、希尔排序法属于哪一种类型的排序法(B)A.交换类排序法B.插入类排序法C.选择类排序法D.建堆排序法7、按条件f对关系R进行选择,其关系代数表达式为(C)A. R|X|RB. R|X|RfC. бf(R)D. ∏f(R)8、在下列选项中,哪个不是一个算法一般应该具有的基本特征(C)A. 确定性B. 可行性C. 无穷性D. 拥有足够的情报9、对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为(B) 注:要牢记A. N+1B. NC. (N+1)/2D. N/210、下列工具中属于需求分析常用工具的是(D)A. PADB. PFDC. N-SD. DFD11、在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D)A. 概要设计B. 详细设计C. 可行性分析D. 需求分析12、在结构化方法中,软件功能分解属于下列软件开发中的阶段是(C) 注:总体设计也就是概要设计A. 详细设计B. 需求分析C. 总体设计D. 编程调试13、算法一般都可以用哪几种控制结构组合而成(D)A. 循环、分支、递归B. 顺序、循环、嵌套C. 循环、递归、选择D. 顺序、选择、循环14、软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及(B)A. 阶段性报告B. 需求评审C. 总结D. 都不正确15、算法一般都可以用哪几种控制结构组合而成(D)A. 循环、分支、递归B. 顺序、循环、嵌套C. 循环、递归、选择D. 顺序、选择、循环16、关系数据库管理系统能实现的专门关系运算包括(B)A. 排序、索引、统计B. 选择、投影、连接C. 关联、更新、排序D. 显示、打印、制表。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

15、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a??11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为( B )。
A)13 B)33 C)18 D)40
16、在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为( C )。
C)p=p->next->next; D) p->next=p;
36、向一个栈顶指针为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;
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
3、下列序列中,执行第一趟快速排序后得到的序列是( 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]
10、( C )在进行插入操作时,常产生假溢出现象。
A)顺序栈 B)循环队列
C)顺序队列 D)链队列
11、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。
A)p->next=p->next->next; B) p=p->next;
38、下面程序段的时间复杂度是( 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)
22、( C )在进行插入操作时,常产生假溢出现象。
A)顺序)链队列
23、链式存储的存储结构所占存储空间( A )。
A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针
A)13 B)33 C)18 D)40
25、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边
26、在一个链队列中,假定front和rear分别为队首和队尾指针,则插入一个结点的操作为( B )。
5、已知栈的最大容量为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
6、已知广义表L=((x,y,z),a,(u,t,w)),从L 表中取出原子项t 的操作是( D )。
A)4 B)5
C)6 D)7
17、已知广义表L=((x,y,z),a,(u,t,w)),从L 表中取出原子项t 的操作是( D )。
A) Head(Head(Tail(Tail(L))))
B) Tail(Head(Head(Tail(L))))
30、向一个栈顶指针为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;
1、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。
A)p->next=p->next->next; B) p=p->next;
C)p=p->next->next; D) p->next=p;
2、采用链结构存储线性表时,其地址( B )。
C)p=p->next->next; D) p->next=p;
33、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( B )。
A)9 B)11 C)15 D)不能确定
34、( C )在进行插入操作时,常产生假溢出现象。
A)4 B)5
C)6 D)7
28、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。
A)p->next=p->next->next; B) p=p->next;
C)p=p->next->next; D) p->next=p;
21、设有一个栈,元素的进栈次序为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
31、( C )在进行插入操作时,常产生假溢出现象。
A)顺序栈 B)循环队列
C)顺序队列 D)链队列
32、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。
A)p->next=p->next->next; B) p=p->next;
A)3 B)4 C)5 D)1
9、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a??11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为( B )。
A)13 B)33 C)18 D)40
7、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。
A) 单链表 B) 仅有头指针的单循环链表
C) 双链表 D) 仅有尾指针的单循环链表
8、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。
C) Head(Tail(Head(Tail(L))))
D)Head(Tail(Head(Tail(Tail(L)))))
18、设有一个栈,元素的进栈次序为A, B, C, D, E,下列是不可能的出栈序列是( C )。
A) A, B, C, D, E
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)))))
14、在一个单链表中,已知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;
C) 双链表 D) 仅有尾指针的单循环链表
20、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为( A )。
A)p->next=p->next->next B)p=p->next
C)p=p->nexe->next D)p->next=p
29、用一维数组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
37、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为( B )。
A) rear=rear->next; B) front=front->next;
C) rear=front->next; D) front=rear->next ;
A)front=front->next; B) rear=rear->next;
C) rear=front->next; D) front=rear->next ;
27、在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为( C )。
B) B, C, D, E, A
C) E, A, B, C, D
D) E, D, C, B, A
19、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。
A) 单链表 B) 仅有头指针的单循环链表
4、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为( B )。
A) rear=rear->next; B) front=front->next;
C) rear=front->next; D) front=rear->next ;
B)只有一部分,存放结点值
C)只有一部分,存储表示结点间关系的指针
D)分两部分,一部分存放结点值,另一部分存放结点所占单元数
24、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a??11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为( B )。
相关文档
最新文档