2015广西壮族自治区C与数据结构链表(必备资料)
C语言数据结构之单链表
什么是链表?链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。
其在物理地址上的存储示意图如下:链表的分类链表分为:单链表、循环单链表、双链表、循环双链表、静态链表。
单链表的概念1单链表的组成链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。
每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。
2结点的分类结点可分为:头结点、开始结点(首元结点)、其他结点。
(1)头结点:其值域不包含任何信息。
不是必须的,根据实际情况建立。
(2)开始结点:开始结点也称做首元结点,代表链表中第一个存有数据的结点。
(3)其他结点:除了头结点与开始结点之外的结点。
3前驱与后继链表的相邻元素之间存在着序偶关系。
如用(a1,…,ai-1,ai,ai+1,…,an)表示一个链表,则表中ai-1领先于ai,ai领先于ai+1,称ai-1是ai的直接前驱元素,ai+1是ai的直接后继元素。
当i=1,2,…,n-1时,ai有且仅有一个直接后继,当i=2,3,…,n 时,ai有且仅有一个直接前驱。
(ps:顺序表前驱和后继的概念也是如此)5头指针头指针head永远指向链表第一个节点的位置,头指针用于指明链表的位置,便于后期找到链表并使用表中的数据。
链表中有头结点时,头指针指向头结点;反之,若链表中没有头结点,则头指针指向开始结点。
链表完整示意图如下:6带头结点与不带头结点的单链表(1)带头结点的单链表:头指针head指向头结点。
头指针head始终不等于NULL,head->next等于NULL的时候链表为空。
(2)不带头结点的单链表:头结点head指向开始结点,当head等于NULL时链表为空。
单链表的操作示例1单链表结点的定义/* 数据元素类型 */typedef int ListType;/* 单链表结点定义 */typedef struct LNode{ListType data; //数据域struct LNode *next; //指针域,指向直接后继元素}LNode;2创建一个链表使用头插法创建一个链表:(5,2,0,13,14),代码如下3链表中查找某结点因为链表不支持随机访问,即链表的存取方式是顺序存取的(注意“存储”与“存取”是两个不一样的概念),所以要查找某结点,必须通过遍历的方式查找。
广西壮族自治区考研计算机科学与技术复习资料数据结构重要考点梳理
广西壮族自治区考研计算机科学与技术复习资料数据结构重要考点梳理数据结构是计算机科学与技术专业考研中的一门重要科目,对于考生来说,熟练掌握数据结构的相关知识点是取得优异成绩的关键。
本文将就广西壮族自治区考研计算机科学与技术专业的数据结构考点进行详尽的梳理,帮助考生快速复习和掌握重要知识。
一、线性表线性表是数据结构中最基本的数据结构之一,常见的线性表有数组、链表、栈、队列等。
对于广西壮族自治区考研计算机科学与技术专业的考试来说,线性表是必考的内容,考生需要熟悉线性表的定义、基本操作以及时间复杂度等。
1. 数组数组是一种在内存中连续存储多个相同类型的数据的数据结构,对于广西壮族自治区考研计算机科学与技术专业考试来说,考生需要了解数组的定义、初始化、访问及修改等操作,同时还需要掌握数组的存储结构和时间复杂度的计算方法。
2. 链表链表是一种非连续的数据结构,它由节点组成,每个节点包含数据以及指向下一个节点的指针。
对于广西壮族自治区考研计算机科学与技术专业的考试来说,考生需要了解链表的定义、插入、删除等操作,同时还需要熟悉链表的存储结构和时间复杂度分析。
3. 栈栈是一种特殊的线性表,它只能在表尾进行插入和删除操作,遵循先进后出的原则。
对于广西壮族自治区考研计算机科学与技术专业考试来说,考生需要了解栈的定义、基本操作以及栈的应用等知识点。
4. 队列队列是一种特殊的线性表,它只能在表尾进行插入操作,而在表头进行删除操作,遵循先进先出的原则。
对于广西壮族自治区考研计算机科学与技术专业考试来说,考生需要了解队列的定义、基本操作以及队列的应用等知识点。
二、树和二叉树树是一种非线性的数据结构,常见的树结构有二叉树、二叉查找树、平衡二叉树等。
对于广西壮族自治区考研计算机科学与技术专业的考试来说,考生需要重点掌握树和二叉树的定义、遍历方式、查找与插入操作等。
1. 二叉树二叉树是指每个节点最多有两个子节点的树结构,对于广西壮族自治区考研计算机科学与技术专业考试来说,考生需要了解二叉树的定义、遍历方式(前序、中序、后序)、查找与插入操作等知识点,同时还需要了解常见的二叉树性质如完全二叉树、满二叉树等。
数据结构c语言版第二版配套资料
数据结构是计算机科学领域中的核心概念,它是指在计算机中组织和存储数据的方法。
C语言是一种广泛应用于系统编程和应用程序开发的高级编程语言,它具有高效性和灵活性的特点。
数据结构在C语言中的应用具有重要意义。
为了更好地掌握数据结构在C语言中的应用,深入理解数据结构的原理和实现方式,我们推出了《数据结构C语言版第二版》配套资料,旨在帮助读者更好地理解和应用数据结构。
一、配套资料的内容1. 数据结构基础知识概述配套资料将从数据结构的基本概念、逻辑结构、物理结构和数据的运算等方面进行详细介绍,帮助读者建立起对数据结构的整体认识。
2. C语言相关知识点C语言作为数据结构的实现语言,配套资料将对C语言的基础知识、指针与内存管理等内容进行系统讲解,为读者后续的学习奠定扎实的基础。
3. 线性表配套资料将着重介绍线性表的定义、基本操作和实现方式,包括顺序表、链表、栈、队列等数据结构的应用实例和代码示例,帮助读者深入理解线性表的特点和应用。
4. 树与图树与图是数据结构中的重要概念,配套资料将详细介绍树与图的定义、性质、存储结构和常见算法,帮助读者掌握树与图的应用要点。
5. 查找与排序查找与排序是数据处理中常见的操作,配套资料将对各种查找和排序算法进行详细解读,包括顺序查找、二分查找、快速排序、归并排序等,帮助读者理解这些常用算法的原理和实现方法。
6. 综合实例与练习配套资料将通过丰富的实例和练习题,帮助读者将所学知识运用到实际问题中,巩固理论知识,提升编程能力,为读者的实际应用打下坚实的基础。
二、配套资料的特点1. 结构清晰配套资料采用了清晰的章节划分和重点标注,帮助读者快速把握每个知识点的重点,提高学习效率。
2. 实例丰富配套资料通过丰富的实例和代码示例,帮助读者更好地理解和应用数据结构在C语言中的实现方式,加深对数据结构的认识。
3. 题目实用配套资料设计了大量的练习题和编程题,旨在帮助读者将所学知识运用到实际问题中,并提供了详细的答案和解析,帮助读者快速检验和巩固所学知识。
c语言数据结构基础知识
c语言数据结构基础知识C语言中的数据结构基础知识主要包括以下内容:1. 数组(Array):是一种线性数据结构,用于存储相同类型的数据元素。
数组的元素通过索引访问,索引从0开始。
2. 链表(LinkedList):是一种动态数据结构,由节点组成,每个节点存储数据和指向下一个节点的指针。
链表可以分为单向链表、双向链表和循环链表等。
3. 栈(Stack):是一种后进先出(LIFO)的数据结构,只允许在表的一端进行插入和删除操作,该端称为栈顶。
栈可以用数组或链表实现。
4. 队列(Queue):是一种先进先出(FIFO)的数据结构,只允许在一端插入元素,在另一端删除元素。
队列可以用数组或链表实现。
5. 树(Tree):是一种非线性数据结构,由节点和边组成,每个节点可以有多个子节点。
常见的树结构包括二叉树、平衡二叉树、二叉搜索树等。
6. 图(Graph):是一种非线性数据结构,由顶点和边组成,可以表示各种关系。
图可以分为有向图和无向图,常见的图算法包括深度优先搜索和广度优先搜索。
7. 哈希表(HashTable):是一种根据关键字直接访问内存位置的数据结构,通过散列函数将关键字转化为索引,可以实现快速的查找、插入和删除操作。
8. 集合(Set):是一种用于存储不重复元素的数据结构,可以实现集合的并、交、差等操作。
9. 堆(Heap):是一种完全二叉树的数据结构,每个节点的值都大于等于(或小于等于)其子节点的值。
堆常用于实现优先队列和排序算法。
10. 图表(Table):是一种二维数据结构,由行和列组成,常用于存储和处理大量的数据。
以上是C语言中常见的数据结构基础知识,掌握这些知识可以帮助我们更好地理解和应用C语言中的数据结构。
2015山东省C与数据结构链表必过技巧
24、广义表A=(A,B,(C,D),(E,(F,G))),则head(tail(head(tail(tail(A)))))=( D )。
A) (G) B) (D) C) C D) D
25、n个顶点,e条边的有向图的邻接矩阵中非零元素有( C )个。
A)n B)2e C)e D) n+e
A)p->next=p->next->next; B) p=p->next;
C)p=p->next->next; D) p->next=p;
33、用一维数组A进行顺序存储时,若起始地址为loc(A1),元素长度为c,则A的第i个数组单元在存放地址loc(Ai),等于( B )。
A)13 B)33 C)18 D)40
3、在数据结构中,从逻辑上可以把数据结构分为( C )。
A)动态结构和静态结构 B)紧凑结构和非紧凑结构
C)线性结构和非线性结构 D)内部结构和外部结构
4、广义表head((((c,d)
C)空表 D)((a,b),(c,d))
5、在数据结构中,从逻辑上可以把数据结构分为( C )。
A)动态结构和静态结构 B)紧凑结构和非紧凑结构
C)线性结构和非线性结构 D)内部结构和外部结构
C) s->next=hs; hs=s; D) s->next=hs; hs=hs->next;
35、链式存储的存储结构所占存储空间( A )。
A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针
B)只有一部分,存放结点值
C)只有一部分,存储表示结点间关系的指针
9、下列序列中,执行第一趟快速排序后得到的序列是( A )。
2012广西壮族自治区C与数据结构链表考试技巧重点
37、n个顶点,e条边的有向图的邻接矩阵中非零元素有( C )个。
A)n B)2e C)e D) n+e
38、线索二叉树中某结点D,没有左孩子的条件是( B )。
A)loc(A1)+i*c B)loc(A1)+(i-1)*c
C)loc(A1)+i*c+1 D)loc(A1)+(i+1)*c
19、队列的操作的原则是( A )。
A)先进先出 B) 后进先出
C) 只能进行插入 D) 只能进行删除
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
24、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( D )存储方式最节省时间。
A)顺序表 B)双链表 C)带头结点的双循环链表 D)单循环链表
A)D->Lchild=Null B) D->ltag=1
C) D->Rchild=Null D) D->ltag=0
39、设一数列的顺序为1,2,3,4,5,6,通过栈结构不可能排成的顺序数列为( B )。
A)3,2,5,6,4,1 B)1,5,4,6,2,3
14、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。
A)p->next=p->next->next; B) p=p->next;
C)p=p->next->next; D) p->next=p;
2015四川省C与数据结构链表试题及答案
C) 双链表 D) 仅有尾指针的单循环链表
43、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为( A )。
A)p->next=p->next->next B)p=p->next
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)
24、串的逻辑结构与( D )的逻辑结构不同。
A)线性表 B)栈
C)队列 D)树
25、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边
A) 单链表 B) 仅有头指针的单循环链表
C) 双链表 D) 仅有尾指针的单循环链表
30、下面关于线性表的叙述中,错误的是哪一个?( D )
A)线性表采用顺序存储,必须占用一片连续的存储单元。
B)线性表采用链接存储,便于插入和删除操作。
C) 双链表 D) 仅有尾指针的单循环链表
11、数据结构研究的内容是( D )。
A)数据的逻辑结构 B)数据的存储结构
C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面
A)顺序表示法 B)单字符为结点的单链表表示法
C)等量分块表示法 D)不等量分块表示法
10、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。
2015年广西壮族自治区数据结构基础考试重点和考试技巧
B.只有表尾指针没有表头指针的循环单链表
C.非循环双链表
D.循环双链表
38、在二维数组a[9][10]中:每个数组元素占用3个存储空间,从首地址SA开始按行优先
连续存放,则元素a[8][5]的起始地址是
A.SA+141 B.SA+144 C.SA+222 D.SA+255
31、长度为n的顺序表,删除位置i上的元素(0≤i≤n一1),需要移动的元素个数为
A.n—i B.n—i—l 算机无关的是数据的 A 结构。
A.逻辑 B.存储 C.逻辑和存储 D.物理
48、下列关于哈夫曼树的叙述中,错误的是
A.用n个结点构造的哈夫曼树是唯一的
B.哈夫曼树中只有度为0或度为2的结点
C.树中两个权值最小的结点可能是兄弟结点
D.同一结点集构造的二叉树中,哈夫曼树的WPL最小
49、由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )。
A.各结点的值如何 B.结点个数的多少
C.对数据有哪些运算 D.所用的编程语言实现这种结构是否方便。
30、在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C 。
A.数据的处理方法 B.数据元素的类型
C.数据元素之间的关系 D.数据的存储方法
12、若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用
D 存储方式最节省运算时间。
A.单链表 B.给出表头指针的单循环链表 C.双链表 D.带头结点的双循环链表
13、对于图1所示的二叉树,其后序序列为(C )。
A)ABDECFG B)DBEAFCG
2015广西壮族自治区数据库考试含答案高级
1、有一个带头结点的单链表,每个结点包括两个域,一个是整型域info,另一个是指向下一个结点的指针域next。
假设单链表已建立,设计算法删除单链表中所有重复出现的结点,使得info域相等的结点只保留一个。
#include <stdio.h>typedef char datatype;typedef struct node{datatype data;struct node * next;} listnode;typedef listnode* linklist;/*--------------------------------------------*//* 删除单链表中重复的结点 *//*--------------------------------------------*/linklist deletelist(linklist head){ listnode *p,*s,*q;p=head->next;while(p){s=p;q=p->next;while(q)if(q->data==p->data){s->next=q->next;free(q);q=s->next;}else{ s=q; /*找与P结点值相同的结点*/q=q->next;}p=p->next;}return head;}2、两棵空二叉树或仅有根结点的二叉树相似;对非空二叉树,可判左右子树是否相似,采用递归算法。
int Similar(BiTree p,q) //判断二叉树p和q是否相似{if(p==null && q==null) return (1);else if(!p && q || p && !q) return (0);else return(Similar(p->lchild,q->lchild) && Similar(p->rchild,q->rchild)) }//结束Similar3、二叉树的层次遍历序列的第一个结点是二叉树的根。
2015年广西壮族自治区C++语言版大纲
scanf("%d%d%d" ,&edge[i].i ,&edge[i].j ,&edge[i].w);
for (i=2;i<=e;i++) //按边上的权值大小,对边进行逆序排序。
1、设一棵树T中边的集合为{(A,B),(A,C),(A,D),(B,E),(C,F),(C,G)},要求用孩子兄弟表示法(二叉链表)表示出该树的存储结构并将该树转化成对应的二叉树。
2、设有一个数组中存放了一个无序的关键序列K1、K2、…、Kn。现要求将Kn放在将元素排序后的正确位置上,试编写实现该功能的算法,要求比较关键字的次数不超过n。
if (n<1) printf("n<0");
else
{/*建表*/
head=(linklist)malloc(sizeof(listnode)); /*建第一个结点*/
head->data=n;
r=head;
for (i=n-1;i>0;i--) /*建立剩余n-1个结点*/
{edge[0]=edge[i]; j=i-1;
while (edge[j].w<edge[0].w) edge[j+1]=edge[j--];
edge[j+1]=edge[0]; }//for
k=1; eg=e;
while (eg>=n) //破圈,直到边数e=n-1.
#include<stdlib.h>
typedef int datatype;
数据结构(C语言版)知识点复习资料
数据结构(C语言版)知识点复习资料数据结构(C语言版)知识点复习资料数据结构是计算机科学中重要的基础学科,它研究不同数据元素之间的逻辑关系和存储结构,旨在为解决实际问题提供高效的数据处理方案。
C语言是一种高效而强大的编程语言,与数据结构紧密结合,使得学习数据结构的过程更加深入和实践性更强。
本文将重点介绍以C语言为基础的数据结构知识点,方便读者对数据结构的学习进行复习和总结。
一、数组(Array)数组是一种基本的数据结构,它由相同数据类型的元素按照一定顺序组成的集合。
C语言中的数组具有以下特点:1. 数组元素的类型相同且连续存储;2. 数组的大小在创建时固定;3. 数组的下标从0开始。
下面是一个示例的C语言数组定义和初始化的代码:```cint array[5] = {1, 2, 3, 4, 5};```在C语言中,我们可以通过下标来访问数组元素,例如:```cint value = array[2];```这样可以把数组中下标为2的元素赋值给变量value。
二、链表(Linked List)链表是一种动态数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。
链表具有以下特点:1. 链表中的节点可以动态创建和删除;2. 链表中的节点可以在内存中分散存储,不需要连续的存储空间;3. 链表的大小可以根据需要进行动态调整。
下面是一个示例的C语言链表定义和插入操作的代码:```ctypedef struct Node {int data;struct Node* next;} Node;void insert(Node** head, int value) {Node* new_node = (Node*)malloc(sizeof(Node));new_node->data = value;new_node->next = *head;*head = new_node;}```在C语言中,我们可以通过指针操作来遍历和操作链表。
c语言链表的原理
c语言链表的原理链表数据结构是计算机科学中最基础的数据结构之一。
链表是一个由节点组成的线性数据结构,节点在内存中分别分配,并通过指针链接在一起,形成一个链式结构。
而C语言是一种强大的编程语言,以其简洁的语言结构和高性能的特性,著名于世界。
C语言链表的原理C语言链表原理是指使用C语言编程语言实现链表数据结构。
在C语言中,数据可以通过指针进行引用,链表数据结构正是利用了这一特性。
C语言链表数据结构是基于节点的数据类型,每个节点中会包含一个指向下一个节点的指针。
首先,需要定义一个节点结构体用于存储数据和指向下一个节点的指针。
例如:```cstruct node {int data;struct node *next;};```其中,data变量用于存储节点的数据,next指针用于链接下一个节点。
这个节点结构体定义的时候需要注意,结构体类型中包含了自身类型的指针变量。
接下来,我们需要定义一个头结点,头结点是链表数据结构的入口,也是链表的第一个节点。
需要注意的是,头结点并不存储数据,其实只是一个指针变量。
例如:```cstruct node *head = NULL;```这个head指针变量,初始值为NULL,是作为链表的入口,并且在初始化时不能包含任何数据。
当有新的数据需要加入链表时,需要动态分配一个节点结构体,将数据存储在节点的data变量中,然后将该节点的指针链接到链表中。
例如:```cstruct node *new_node = (struct node *) malloc(sizeof(struct node));new_node->data = 10;new_node->next = head;head = new_node;```这里,我们动态分配了一个新的节点结构体,并将值10存储在新的节点中,接着将新节点的指针链接到了链表的头部,然后更新头结点的指针为新节点的指针。
在创建完链表后,可以通过遍历链表来访问链表数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C)路径 D)弧
24、对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。这样的排序方法是( A )。
A)直接选择排序 B)直接插入排序
C)快速排序 D)起泡排序
A)动态结构和静态结构 B)紧凑结构和非紧凑结构
C)线性结构和非线性结构 D)内部结构和外部结构
34、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。
A)一个数量级别 B)一个平均值
16、设一数列的顺序为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
17、设一数列的顺序为1,2,3,4,5,6,通过栈结构不可能排成的顺序数列为( B )。
A)13 B)33 C)18 D)40
32、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
33、在数据结构中,从逻辑上可以把数据结构分为( C )。
C)一个最大值 D)一个均方值
35、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
36、向一个栈顶指针为hs的链栈中插入一个s结点时,应执行( D )。
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
18、( C )在进行插入操作时,常产生假溢出现象。
A)顺序栈 B)循环队列
C)顺序队列 D)链队列
D)线性表采用顺序存储,便于进行插入和删除操作。
9、在数据结构中,从逻辑上可以把数据结构分为( C )。
A)动态结构和静态结构 B)紧凑结构和非紧凑结构
C)线性结构和非线性结构 D)内部结构和外部结构
10、倘若在对串的插入、删除运算中,期望运算速度最快,则应采用( C )。
12、二叉树第i(i≥1)层上至多有( C )结点。
A)2i B)2i C)2i-1 D)2i-1
13、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
25、线性表的链接实现有利于( A )运算。
A)插入 B)读元素
C)查找 D)定位
26、与无向图相关的术语有( C )。
A)强连通图 B)入度
C)路径 D)弧
C) 双链表 D) 仅有尾指针的单循环链表
8、下面关于线性表的叙述中,错误的是哪一个?( D )
A)线性表采用顺序存储,必须占用一片连续的存储单元。
B)线性表采用链接存储,便于插入和删除操作。
C)线性表采用链接存储,不必占用一片连续的存储单元。
28、设有一个栈,元素的进栈次序为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
C)FCFS D)HPF
21、( C )在进行插入操作时,常产生假溢出现象。
A)顺序栈 B)循环队列
C)顺序队列 D)链队列
22、向一个栈顶指针为hs的链栈中插入一个s结点时,应执行( D )。
14、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。
A)3 B)4 C)5 D)1
15、线索二叉树中某结点D,没有左孩子的条件是( B )。
A)D->Lchild=Null B) D->ltag=1
C) D->Rchild=Null D) D->ltag=0
3、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。
A)3 B)4 C)5 D)1
4、链式存储的存储结构所占存储空间( A )。
A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针
B)只有一部分,存放结点值
A) rear=rear->next; B) front=front->next;
C) rear=front->next; D) front=rear->next ;
31、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a??11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为( B )。
A)强连通图 B)入度
C)路径 D)弧
7、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。
A) 单链表 B) 仅有头指针的单循环链表
C)只有一部分,存储表示结点间关系的指针
D)分两部分,一部分存放结点值,另一部分存放结点所占单元数
5、与无向图相关的术语有( C )。
A)强连通图 B)入度
C)路径 D)弧
6、与无向图相关的术语有( C )。
A)顺序表示法 B)单字符为结点的单链表表示法
C)等量分块表示法 D)不等量分块表示法
11、串的逻辑结构与( D )的逻辑结构不同。
A)线性表 B)栈
C)队列 D)树
29、已知栈的最大容量为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
30、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为( B )。
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;
37、广义表A=(A,B,(C,D),(E,(F,G))),则head(tail(head(tail(tail(A)))))=( D )。
1、( C )在进行插入操作时,常产生假溢出现象。
A)顺序栈 B)循环队列
C)顺序队列 D)链队列
2、串的逻辑结构与( D )的逻辑结构不相同。
A)线性表 B)栈
C)队列 D)集合
19、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为( C )。
A)top不变 B)top=0 C)top-- D)top++
20、栈进行插入和删除操作的特点是( A )。
A)LIFO B)FIFO
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;
23、与无向图相关的术语有( C )。
A)强连通图 B)入度
27、设有一个栈,元素的进栈次序为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