结构体与链表习题 附答案

结构体与链表习题  附答案
结构体与链表习题  附答案

一、选择题

1、在说明一个结构体变量时系统分配给它的存储空间是().

A)该结构体中第一个成员所需的存储空间

B)该结构体中最后一个成员所需的存储空间

C)该结构体中占用最大存储空间的成员所需的存储空间

D)该结构体中所有成员所需存储空间的总和。

2.设有以下说明语句,则以下叙述不正确的是( )

struct stu

{int a;float b;}stutype;

A. struct 是结构体类型的关键字

B. struct stu 是用户定义的结构体类型

C. stutype 是用户定义的结构体类型名

D. a 和b 都是结构体成员名

3、以下对结构体变量stu1中成员age的合法引用是()

#include

struct student

{

int age;

int num;

}stu1,*p;

p=&stu1;

A)stu1->age B)student.age C)p->age D) p.age

4、有如下定义:

Struct date

{

int year,month,day;

};

Struct worklist

{

Char name[20];

Char sex;

Struct date birthday;

}person;

对结构体变量person的出生年份进行赋值时,下面正确的赋值语句是( ) 。

A worklist .birthday.year=1978

B birthday.year=1978

C person.birthday.year=1958

D person.year=1958

5、以下程序运行的结果是( ) 。

#include”stdio.h”

main()

{ struct date

{ int year , month , day ;

} today ;

printf(“%d\n”,sizeof(struct date));

}

A .6 B.8 C.10 D.12

6、对于时间结构体

struct date

{ int year , month , day ;

char week[5];

}

则执行printf(“%d\n”,sizeof(struct date))的输出结果为( ) 。

A .12 B.17 C.18 D.20

7、设有以下语句:

struct st

{ int n ;

char name[10]

} ;

struct st a[3]={ 5 , “li” , 7 , “wang” , 9 ,”zhao”} , *p ;

p= a;

则以下表达式的值为6的是( ) 。

A. p++ ->n

B. p->n++

C. (*p) . n++

D. ++p ->n

8、设有以下语句,则输出结果是( ) 。

struct List

{ int data ;

struct List *next;};

struct List a[3]={1,&a[1],2,&a[2],3,&a[0]}, * p;

p=&a[1] ;

printf("%d\n",--p->data);

printf("%d\n",p->next->data);

printf("%d\n",p--->data);

}

A. 1 3 1

B.3 1 1

C. 1 3 2

D. 2 1 3

9、若有以下语句,则下面表达式的值为1002的是( ) 。

struct student

{ int age ;

int num ;

} ;

struct student stu[3]={{1001,20} , {1002,19} , {1003,21}} ;

struct student *p ;

p=stu ;

A. (p++) -> num

B. (p++)->age

C. (*p) . num

D. (*++p) . age

10、下若有以下语句,则下面表达式的值为( ) 。

struct cmplx{int x; int y;}

cnumn[2]={1,3,2,7};

cnum[0].y/cnum[0].x*cnum[1].x;

A.0

B.1

C.3

D.6

11、若对员工数组进行排序,下面函数声明最合理的为()。

A.void sort( struct Emplyee ); B.void sort( struct Emplyee *);

C.void sort( struct Emplyee [ ]); D.void sort( struct Emplyee *[] );

12、线性表采用链式存储结构时,要求内存中可用存储单元的地址( D )。

A、必须是连续的

B、部分地址必须是连续的

C、一定是不连续的

D、连续或不连续都可以。

13、在一个单链表中,若在P所指结点之后插入S所指结点,则执行()。

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;

14、在一个单链表中,已知q是p的前趋结点,若q和p之间插入结点s,则执行()。

[9.7链表]

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;

15、设有定义"enum term { my,your=4,his,her=his+10};",则输出是( )

printf("%d,%d,%d,%d\n",my,your,his,her);

A.0,l,2,3 B.0,4,0,10 C.0,4,5,15 D.1,4,5,15

16、以下对枚举类型名的定义中,正确的是( )

A.enum a ={one,two,three}; B.enum a{a1, a2,a3};

C.enum a ={’1’,’2’,’3’}; D.enum a {"one","two","three" };

二、填空题

1、填空完成以下程序,实现在结构体数组中查找并输出分数最高和最低的同学姓名和成绩。

#include

Struct Student {

char name[8];

int score;}

void main()

{

int max,min,i,j , num;

Struct Student stud[ ]={"李平",92,"王兵",72,"钟虎",83,"孙逊",60,"徐军",88};

for(i=1;i

{

if( )

max=i;

else

if(stud[i].score

}

}

2、下面程序实现的功能是在已定义的的考生链表中删除指定考生号的结点。请按照程序功能填空。

Struct student *delete ( head , num ) ;

Struct student *head ;

Long num ;

{ struct student *p1 , *p2;

if ( head==NULL )

{ printf (“\nlist NULL ! \n”) ;

goto end ;

}

p2=head ;

while ((num != p2 -> num )&&( _________[1]_________ ) )

{ p1=p2 ; p2= p2 ->next ; }

if ( num== p2 ->num )

{

if ( p2==head ) head=p2 ->next ;

else ________[2]___________ ;

printf (“delete : % ld\n”, num );

________[3]___________

}

else printf ( “%ld not found ! \n “, num ) ;

end :

return (head );

}

三、选作题目

1、建立双向循环链表并实现基本操作。

2、设计函数解决学生链表中名字重复问题,当新增加学生节点时,若有重名则在后面加后缀,如王洋A、王洋B。

四、思考题

1.设想网络上的一个发送者和64个接收者,发送者每秒有不超过128条的命令产生,每条命令包含一个512字节的头部command_head_t和至多4K字节的变长内容。command_head_t 的结构如下:

typedef struct {

int cmd_no; //该命令的命令号,唯一识别一个命令

int version; //产生该命令的程序的版本

int detail_len; //变产内容的实际长度

char *content; //指向变长内容的指针

} command_head_t;

发送者根据命令号将这些命令分别发送给接收者去处理,例如:发送者产生c1,c2,c3,c4命令,并设定将c1,c2命令发送到接收者r1和r2,将c2、c3,c4命令发送到r3。

接收者执行接收到的命令,并相应修改自己的状态。

现在的问题是:在尽可能多的考虑各种可能的意外情况下(包括但不限于网络故障、传输错误、程序崩溃、停电…),如何设计命令的存储、发送、接收的流程,以保证命令的:

1) 传输中的有序、无漏、无重复性

2) 整个过程中命令和数据的正确性

3) 多个同一类型的接收者(例如r1与r2)的状态可以在有限时间内趋于一致

最后,请针对你考虑到的意外情况,说明所采用的避免、解决或恢复方案。

2 、一条1百万节点的单向链表,链表所有节点是按value字段从小到大的顺序链接;下面是一个节点的结构

typedef struct node_t{

int value; /* 节点排序字段*/

int group; /* 组号: 0,1,2,3,4,5,6,7,8,9 */

struct node_t *pnext; /* 下个节点的指针*/

}node_t;

node_t head; /*该单向链表的头节点,全局变量*/

试设计程序:针对各个group(0-->9),根据value字段排序,输出各组top 10的节点。(top10是从小到大,取后面的大值top10.)

要求:尽量减少计算复杂度、遍历次数,不允许大量的辅助内存

1. D

2. C

3. C

4. C

5. D

6. D

7.D

8.A

9.D 10.D

11. D 12.D 13.B 14. C 15. C 16.B

历年链表考题及答案

历年链表考题及答案 [2005秋II.14] 设已建立了两条单向链表,这两链表中的数据已按从小到大的次序排好,指针h1和h2分别指向这两条链表的首结点。链表上结点的数据结构如下: struct node{ int data; node *next; }; 以下函数node *Merge(node *h1, node *h2)的功能是将h1和h2指向的两条链表上的结点合并为一条链表,使得合并后的新链表上的数据仍然按升序排列,并返回新链表的首结点指针。 算法提示:首先,使newHead和q都指向首结点数据较小链表的首结点,p指向另一链表首结点。其次,合并p和q所指向的两条链表。在q不是指向链尾结点的情况下,如果q 的下一个结点数据小于p指向的结点数据,则q指向下一个结点;否则使p1指向q的下一个结点,将p指向的链表接到q所指向的结点之后,使q指向p所指向的结点,使p指向p1所指向的链表。直到p和q所指向的两条链表合并结束为止。注意,在合并链表的过程中,始终只有两条链表。 [函数] (4分) node * Merge(node *h1, node *h2) { node *newHead, *p, *p1; // 使newHead和q指向首结点数据较小链表的首结点,p指向另一链表首结点if( (27) ) { newHead=h1; p=h2; } // h1->datadata else { newHead=h2; p=h1; } node *q=newHead; // 合并两条链表 while( q->next) { if( q->next->data < p->data ) (28) ; // q=q->next else { (29) ; // p1=q->next q->next=p; q=p; p=p1; } } q->next=p; (30) ; // return newNead } [2005春II.11] 设已建立一条单向链表,指针head指向该链表的首结点。结点的数据结构如下: struct Node{ int data; Node *next; }; 以下函数sort(Node *head)的功能是:将head所指向链表上各结点的数据按data值从小

宏观经济学思考题及参考答案

宏观经济学思考题及参考答案(1) 第四章 基本概念:潜在GDP,总供给,总需求,AS曲线,AD曲线。 思考题 1、宏观经济学的主要目标是什么?写出每个主要目标的简短定义。请详细解释 为什么每一个目标都十分重要。 答:宏观经济学目标主要有四个:充分就业、物价稳定、经济增长和国际收支平衡。 (1)充分就业的本义是指所有资源得到充分利用,目前主要用人力资源作为充分就业的标准;充分就业本不是指百分之百的就业,一般地说充分就业允许的失业范畴为4%。只有经济实现了充分就业,一国经济才能生产出潜在的GDP,从而使一国拥有更多的收入用于提高一国的福利水平。 (2)物价稳定,即把通胀率维持在低而稳定的水平上。物价稳定是指一般物价水平(即总物价水平)的稳定;物价稳定并不是指通货膨胀率为零的状态,而是维持一种能为社会所接受的低而稳定的通货膨胀率的经济状态,一般指通货膨胀率为百分之十以下。物价稳定可以防止经济的剧烈波动,防止各种扭曲对经济造成负面影响。 (3)经济增长是指保持合意的经济增长率。经济增长是指单纯的生产增长,经济增长率并不是越高越好,经济增长的同时必须带来经济发展;经济增长率一般是用实际国民生产总值的年平均增长率来衡量的。只有经济不断的增长,才能满足人类无限的欲望。 (4)国际收支平衡是指国际收支既无赤字又无盈余的状态。国际收支平衡是一国对外经济目标,必须注意和国内目标的配合使用;正确处理国内目标与国际目标的矛盾。在开放经济下,一国与他国来往日益密切,保持国际收支的基本平衡,才能使一国避免受到他国经济波动带来的负面影响。 3,题略 答:a.石油价格大幅度上涨,作为一种不利的供给冲击,将会使增加企业的生产成本,从而使总供给减少,总供给曲线AS将向左上方移动。 b.一项削减国防开支的裁军协议,而与此同时,政府没有采取减税或者增加政府支出的政策,则将减少一国的总需求水平,从而使总需求曲线AD向左下方移动。 c.潜在产出水平的增加,将有效提高一国所能生产出的商品和劳务水平,从而使总供给曲线AS向右下方移动。 d.放松银根使得利率降低,这将有效刺激经济中的投资需求等,从而使总需求增加,总需求曲线AD向右上方移动。 第五章 基本概念:GDP,名义GDP,实际GDP,NDP,DI,CPI,PPI。 思考题: 5.为什么下列各项不被计入美国的GDP之中? a优秀的厨师在自己家里烹制膳食; b购买一块土地; c购买一幅伦勃朗的绘画真品; d某人在2009年播放一张2005年录制的CD所获得的价值; e电力公司排放的污染物对房屋和庄稼的损害;

结构体和链表编程题目

第四阶段(结构体与链表) 1.对候选人得票的统计程序。设有三个候选人,每次输入一个得票的候选人的 名字,要求最后输出各候选人得票结果。本题应该先定义一个结构体,结构体中包含姓名和票数两个变量。 2.建立一个描述个人信息的结构体,包括ID号,姓名,性别,年龄等信息,定 义该结构体数组并初始化,将按年龄分成三个部分(小于18岁,18-60岁,大于60岁),每一部分放在一起打印。 3.建立一个描述个人信息的结构体,包括ID号,姓名,性别,年龄等信息,定 义该结构体数组并初始化,将按年龄分成三个部分(小于18岁,18-60岁,大于60岁),然后定义一个该结构体的二维数组,二维数组的每一行按年龄分别存放同一部分的个人信息。 4.定义一个关于学生成绩的结构体,结构体中包含学生学号,姓名,英语成绩, 数学成绩,总分等信息,你可以定义该结构体的数组并初始化,总分可以通过程序获得,然后按总分为第一关键字,英语成绩为第二关键字将学生成绩信息从高到低排列并存到原数组中。(尽量不要定义新的数组)。 5.在屏幕上模拟显示一个数字式时钟(不要求1秒钟为频率)。结构体中应当定 义三个int变量,hour,minute,second。如何让second加1呢?这个可以使用延时程序,如: Delay() { Int I,j; For(i=0;i<1000;i++) For(j=0;j<1000;j++) {} } 这个延时程序不一定是1秒,只要模拟一下数字时钟就可以了。同时,你可能要用到形式如printf(“%d\r”)的打印,”\r”表示打印时又重新回到本行开头处打印,因为你每更新一次数据时都需要打印,打印的位置没有变化才会像一个电子时钟。 6.设计一结构体,包括ID号(int型),名称(字符串),请定义该结构体的数 组,并给这些数组赋初值,根据ID号将数组进行排序,把ID从小到大排序,不能再定义新的数组。比如:数组的第一个元素的ID号放ID号最小的值,并将这个ID号对应的名称也放在第一个元素的名称中。 7.给定单链表头结点,删除链表中倒数第K个结点。请实现函数struct node* del(struct node *head,int k);返回新链表的头结点。

数据结构习题及答案精编版

第一章 1.在数据结构中,从逻辑上可以把数据结构分为(C ) A.动态结构和静态结构 B. 紧凑结构和非紧凑结构 C.线性结构和非线性结构 D. 内部结构和外部结构 ● 2.在数据结构中,与所使用的计算机无关的是( A ) A. 逻辑结构 B. 存储结构 C. 逻辑和存储结构 D. 物理结构 3.下面程序的时间复杂度为____O(mn)_______。 for (int i=1; i<=m; i++) for (int j=1; j<=n; j++ ) S+=i 第二章线性表 ●链表不具备的特点是(A) A 可以随机访问任一结点(顺序) B 插入删除不需要移动元素 C 不必事先估计空间 D 所需空间与其长度成正比 2. 不带头结点的单链表head为空的判定条件为(A ),带头结点的单链表head为空的判定条件为(B ) A head==null B head->next==null C head->next==head D head!=null ●3.在线性表的下列存储结构中,读取元素花费时间最少的是(D) A 单链表 B 双链表 C 循环链表 D 顺序表 ● 4.对于只在表的首、尾两端进行手稿操作的线性表,宜采用的存储结构为(C) A 顺序表 B 用头指针表示的单循环链表 C 用尾指针表示的单循环链表 D 单链表 ● 5.在一个具有n 个结点的有序单链表中插入一个新的结点,并保持链表元素仍然有序, 则操作的时间复杂度为( D ) A O(1) B O(log2n) C O(n2) D O(n) ● 6.在一个长度为n (n>1)的单链表上,设有头和尾两个指针,执行(B)操作与链表的长 度有关 A 删除单链表中第一个元素 B 删除单链表中最后一个元素 C 在第一个元素之前插入一个新元素 D 在最后一个元素之后插入一个新元素 ●7.与单链表相比,双向链表的优点之一是(D) A 插入删除操作更简单 B 可以进行随机访问 C 可以省略表头指针或表尾指针 D 顺序访问相邻结点更容易 ●8.若list是某带头结点的循环链表的头结点指针,则该链表最后那个链结点的指针域 (头结点的地址)中存放的是( B ) A list的地址 B list的内容 C list指的链结点的值 D 链表第一个链结点的地址 ●9.若list1和list2分别为一个单链表与一个双向链表的第一个结点的指针,则( B ) A list2比list1占用更多的存储单元 B list1与list2占用相同的存储单元 C list1和list2应该是相同类型的指针变量 D 双向链表比单链表占用更多的存储单元 10.链表中的每个链结点占用的存储空间不必连续,这句话正确吗? (不正确) 11. 某线性表采用顺序存储结构,元素长度为4,首地址为100,则下标为12的(第13个)元素的存储地址为148。V 100+4*12=148 11.在顺序表的(最后一个结点之后)插入一个新的数据元素不必移动任何元素。 12.若对线性表进行的操作主要不是插入删除,则该线性表宜采用(顺序)存储结构,若频繁地对线性表进行插入和删除操作,则该线性表宜采用( 链 )存储结构。

线性表练习题(答案)

第2章线性表 一选择题 下列程序段的时间复杂度为( C )。 for( int i=1;i<=n;i++) for( int j=1;j<= m; j++) A[i][j] = i*j ; A. O(m2) B. O(n2) C. O(m*n) D. (m+n) 下面关于线性表的叙述中,错误的是哪一个?(B ) A.线性表采用顺序存储,必须占用一片连续的存储单元。 B.线性表采用顺序存储,便于进行插入和删除操作。 C.线性表采用链接存储,不必占用一片连续的存储单元。 D.线性表采用链接存储,便于插入和删除操作。 线性表是具有n个( C )的有限序列(n>0)。 A.表元素B.字符C.数据元素D.数据项 若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( A )存储方式最节省时间。 A.顺序表B.双链表C.带头结点的双循环链表D.单循环链表 某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。 A.单链表B.仅有头指针的单循环链表 C.双链表D.仅有尾指针的单循环链表 设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用( D )最节省时间。A. 单链表 B.单循环链表 C. 带尾指针的单循环链表 D.带头结点的双循环链表 若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。则采用( D )存储方式最节省运算时间。 A.单链表B.双链表C.单循环链表D.带头结点的双循环链表 链表不具有的特点是( B ) A.插入、删除不需要移动元素B.可随机访问任一元素 C.不必事先估计存储空间D.所需空间与线性长度成正比 下面的叙述不正确的是(B,C ) A.线性表在链式存储时,查找第i个元素的时间同i的值成正比 B. 线性表在链式存储时,查找第i个元素的时间同i的值无关 C. 线性表在顺序存储时,查找第i个元素的时间同i 的值成正比 D. 线性表在顺序存储时,查找第i个元素的时间同i的值无关 若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为( C )(1<=i<=n+1)。 A. O(0) B. O(1) C. O(n) D. O(n2) 对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为(C )。 A.O(n) O(n) B. O(n) O(1) C. O(1) O(n) D. O(1) O(1) 线性表(a1,a2,…,an)以链接方式存储时,访问第i位置元素的时间复杂性为( C )A.O(i)B.O(1)C.O(n)D.O(i-1) 循环链表H的尾结点P的特点是(A )。 A.P->next=H B.P->next= H->next C.P=H D.P=H->next 完成在双循环链表结点p之后插入s的操作是(D );

(完整版)思考题及习题2参考答案

第2章思考题及习题2参考答案 一、填空 1. 在AT89S51单片机中,如果采用6MHz晶振,一个机器周期为。答:2μs 2. AT89S51单片机的机器周期等于个时钟振荡周期。答:12 3. 内部RAM中,位地址为40H、88H的位,该位所在字节的字节地址分别为 和。答:28H,88H 4. 片内字节地址为2AH单元最低位的位地址是;片内字节地址为A8H单元的最低位的位地址为。答:50H,A8H 5. 若A中的内容为63H,那么,P标志位的值为。答:0 6. AT89S51单片机复位后,R4所对应的存储单元的地址为,因上电时PSW= 。这时当前的工作寄存器区是组工作寄存器区。答:04H,00H,0。 7. 内部RAM中,可作为工作寄存器区的单元地址为 H~ H。答:00H,1FH 8. 通过堆栈操作实现子程序调用时,首先要把的内容入栈,以进行断点保护。调用子程序返回指令时,再进行出栈保护,把保护的断点送回到,先弹出的是原来中的内容。答:PC, PC,PCH 9. AT89S51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为AT89S51单片机的PC是16位的,因此其寻址的范围为 KB。答:64 10. AT89S51单片机复位时,P0~P3口的各引脚为电平。答:高 11. AT89S51单片机使用片外振荡器作为时钟信号时,引脚XTAL1接,引脚XTAL2的接法是。答:片外振荡器的输出信号,悬空 12. AT89S51单片机复位时,堆栈指针SP中的内容为,程序指针PC中的内容为 。答:07H,0000H 二、单选 1. 程序在运行中,当前PC的值是。 A.当前正在执行指令的前一条指令的地址 B.当前正在执行指令的地址。 C.当前正在执行指令的下一条指令的首地址 D.控制器中指令寄存器的地址。 答:C 2. 判断下列哪一种说法是正确的?

数据结构习题

《数据结构》习题集 第一章序论 思考题: 1.1简述下列术语:数据、数据元素、数据对象、数据结构、存储结构、数据类型、抽象数据类型 作业题: 1.2设有数据结构(D,R),其中 D={d1, d2, d3, d4 } R={r1, r2} r1={ , , , , , } r2={ (d1, d2), (d1, d3), (d1, d4), (d2, d4), (d2, d3) } 试绘出其逻辑结构示意图。 1.3设n是正整数。试写出下列程序段中用记号“△”标注的语句的频度:(1) i=1; k=0; while(i<=n-1) { △k+=10*i; i++; } (2) i=1; k=0; do { △k+=10*i; i++; }while(i<=n-1) (3)i=1; k=0; do { △k+ = 10*i; i++; }while(i==n); (4) i=1; j=0; while(i+j≤n) { △if(i

(5) x=n; y=0; //n是不小于1的常数 while(x>=(y+1)*(y+1)){ △y++; } (6) x=91; y=100; while ( y>0 ) { △if(x>100) { x-=10; y--; } else x++ ; } (7) for( i=0; i

(完整版)第三章单链表题目和答案

第2章自测卷答案 一、填空 1.顺序表中逻辑上相邻的元素的物理位置相互相邻。单链表中逻辑上相邻的元素的物理位置不 相邻。 2.在单链表中,除了首元结点外,任一结点的存储位置由其直接前驱结点值域指示。 3.在n个结点的单链表中要删除已知结点*p,需找到它的地址。 二、判断正误(在正确的说法后面打勾,反之打叉) 1. 链表的每个结点中都恰好包含一个指针。X 2. 链表的物理存储结构具有同链表一样的顺序。X 3. 链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动地将后续的各个单元向前移动。 X 4. 线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。Y 5. 顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。Y 6. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。X 7. 线性表在物理存储空间中也一定是连续的。X 8. 线性表在顺序存储时,逻辑上相邻的元素未必在存储的物理位置次序上相邻。X 9. 顺序存储方式只能用于存储线性结构。X 10. 线性表的逻辑顺序与存储顺序总是一致的。X 三、单项选择题 (A)1. 链接存储的存储结构所占存储空间: (A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针 (B)只有一部分,存放结点值 (C)只有一部分,存储表示结点间关系的指针 (D)分两部分,一部分存放结点值,另一部分存放结点所占单元数 (B)2. 链表是一种采用存储结构存储的线性表; (A)顺序(B)链式(C)星式(D)网状 (D)3. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址: (A)必须是连续的(B)部分地址必须是连续的 (C)一定是不连续的(D)连续或不连续都可以 (B)4.线性表L在情况下适用于使用链式结构实现。 (A)需经常修改L中的结点值(B)需不断对L进行删除插入 (C)L中含有大量的结点(D)L中结点结构复杂 (C)5.单链表的存储密度 (A)大于1;(B)等于1;(C)小于1;(D)不能确定

思考题与习题答案

思考题与习题 1 1- 1 回答以下问题: ( 1)半导体材料具有哪些主要特性? (2) 分析杂质半导体中多数载流子和少数载流子的来源; (3) P 型半导体中空穴的数量远多于自由电子, N 型半 导体中自由电子的数量远多于空穴, 为什么它们对外却都呈电中性? (4) 已知温度为15C 时,PN 结的反向饱和电流 I s 10 A 。当温度为35 C 时,该PN 结 的反向饱和 电流I s 大约为多大? ( 5)试比较二极管在 Q 点处直流电阻和交流电阻的大小。 解: ( 1)半导体的导电能力会随着温度、光照的变化或掺入杂质浓度的多少而发生显着改变, 即半导体具 有热敏特性、光敏特性和掺杂特性。 ( 2)杂质半导体中的多数载流子是由杂质原子提供的,例如 供一个自由电子,P 型半导体中一个杂质原子提供一个空穴, 浓度;少数载流子则是由热激发产生的。 (3) 尽管P 型半导体中空穴浓度远大于自由电子浓度,但 P 型半导体中,掺杂的杂质原子因获得一个价电子而变成带负电的杂 质离子(但不能移动),价 电子离开后的空位变成了空穴,两者的电量相互抵消,杂质半导体从总体上来说仍是电中性的。 同理, N 型半导体中虽然自由电子浓度远大于空穴浓度,但 N 型半导体也是电中性的。 (4) 由于温度每升高10 C ,PN 结的反向饱和电流约增大 1倍,因此温度为 35C 时,反向 饱和电流为 (5) 二极管在 Q 点处的直流电阻为 交流电阻为 式中U D 为二极管两端的直流电压, U D U on ,I D 为二极管上流过的直流电流, U T 为温度的 电压当量,常温下 U T 26mV ,可见 r d R D 。 1- 2 理想二极管组成的电路如题 1- 2图所示。试判断图中二极管是导通还是截止,并确定 各电路的输 出电压。 解 理想二极管导通时的正向压降为零, 截止时的反向电流为零。 本题应首先判断二极管的工 作状 态,再进一步求解输出电压。二极管工作状态的一般判断方法是:断开二极管, 求解其端口 电压;若该电压使二极管正偏, 则导通; 若反偏, 则截止。 当电路中有两只或两只以上二极管时, 可分别应用该方法判断每只二极管的工作状态。 需要注意的是, 当多只二极管的阳极相连 (共阳 极接法)时,阴极电位最低的管子将优先导通;同理,当多只二极管的阴极相连(共阴极接法) 时,阳极电位最高的管子将优先导通。 (a) 断开二极管 D ,阳极电位为12V ,阴极电位为6V ,故导通。输岀电压 U O 12V 。 (b) 断开二极管 D 1、D 2, D 1、D 2为共阴极接法,其阴极电位均为 6V ,而D 1的阳极电位 为9V , D 2的阳极电位为5V ,故D 1优先导通,将 D 2的阴极电位钳制在 7.5V ,D 2因反向偏置而 截止。输岀电压 U O 7.5V 。 N 型半导体中一个杂质原子提 因此 多子浓度约等于所掺入的杂质 P 型半导体本身不带电。因为在

数据结构习题库汇总

知识点: 01.绪论 02.顺序表 03.链表 04.栈 05.链队列 06.循环队列 07.串 08.数组的顺序表示 09.稀疏矩阵 10.广义表 11.二叉树的基本概念 12.二叉树遍历、二叉树性质 13.树、树与二叉树的转换 14.赫夫曼树 15.图的定义、图的存储 16.图的遍历 17.图的生成树 18.静态查找(顺序表的查找、有序表的查找) 19.动态查找(二叉排序树、平衡树、B树) 20.哈希查找 21.插入排序(直接插入、折半插入、2路插入、希尔排序)22.选择排序(简单选择、树形选择、堆排序) 23.快速排序、归并排序

101A1(1).数据的逻辑结构是(A)。 A.数据的组织形式B.数据的存储形式C.数据的表示形式D.数据的实现形式 101A1(2).组成数据的基本单位是(C)。 A.数据项B.数据类型C.数据元素D.数据变量 101B1(3).与顺序存储结构相比,链式存储结构的存储密度(B)。 A.大B.小C.相同D.以上都不对 101B2(4).对于存储同样一组数据元素而言,(D)。 A.顺序存储结构比链接结构多占空间B.在顺序结构中查找元素的速度比在链接结构中查找要快C.与链接结构相比,顺序结构便于安排数据元素D.顺序结构占用整块空间而链接结构不要求整块空间101B2(5).下面程序的时间复杂度为(B)。 x=0; for(i=1;ii;j++) state; A.n(n+1)/2 B.(n-1)(n+2)/2C.n(n+1)/2 D.(n-1)(n+2) 101D3(8).下面程序的时间复杂度为(A)。 for(i=0;i

图练习题(答案)

《图》练习题 一、单项选择题 1、在一个具有n个顶点的有向图中,若所有顶点的出度数之和为s,则所有顶点的度 数之和为( )。 A. s B. s-1 C. s+1 D. 2s 2、在一个具有n个顶点的无向完全图中,所含的边数为( )。 A. n B. n(n-1) C. n(n-1)/2 D. n(n+1)/2 3、在一个无向图中,若两顶点之间的路径长度为k,则该路径上的顶点数为( )。 A. k B. k+1 C. k+2 D. 2k 4、对于一个具有n个顶点的无向连通图,它包含的连通分量的个数为( )。 A. 0 B. 1 C. n D. n+1 5、若一个图中包含有k个连通分量,若要按照深度优先搜索的方法访问所有顶点,则 必须调用( )次深度优先搜索遍历的算法。 A. k B. 1 C. k-1 D. k+1 6、若要把n个顶点连接为一个连通图,则至少需要( )条边。 A. n B. n+1 C. n-1 D. 2n 7、在一个具有n个顶点和e条边的无向图的邻接矩阵中,表示边存在的元素(又称为 有效元素)的个数为( )。 A. n B. n e C. e D. 2e 8、在一个具有n个顶点和e条边的有向图的邻接矩阵中,表示边存在的元素个数为 ( )。 A. n B. n e C. e D. 2 e 9、在一个有向图的邻接表中,每个顶点单链表中结点的个数等于该顶点的( )。 A. 出边数 B. 入边数 C. 度数 D. 度数减1 10、若一个图的边集为{(A,B),(A,C),(B,D),(C,F),(D,E),(D,F)},则从顶点A开始对 该图进行深度优先搜索,得到的顶点序列可能为( )。 A. A,B,C,F,D,E B. A,C,F,D,E,B C. A,B,D,C,F,E D. A,B,D,F,E,C 11、若一个图的边集为{(A,B),(A,C),(B,D),(C,F),(D,E),(D,F)},则从顶点A开始对 该图进行广度优先搜索,得到的顶点序列可能为( )。 A. A,B,C,D,E,F B. A,B,C,F,D,E C. A,B,D,C,E,F D. A,C,B,F,D,E 12、若如下图所示的无向连通图,则从顶点A开始对该图进行广度优先遍历,得到的顶 点序列可能为( )。

管理学思考题及参考答案

管理学思考题及参考答案 第一章 1、什么是管理? 管理:协调工作活动过程(即职能),以便能够有效率和有效果地同别人一起或通过别人实现组织的目标。 2、效率与效果 效率:正确地做事(如何做) 效果:做正确的事(该不该做) 3、管理者三层次 高层管理者、中层管理者、基层管理者 4、管理职能和(或)过程——职能论 计划、组织、控制、领导 5、管理角色——角色论 人际角色:挂名首脑、领导人、联络人 信息角色:监督者、传播者、发言人 决策角色:企业家、混乱驾驭者、资源分配者、谈判者 6、管理技能——技能论 用图表达。 高层管理概念技能最重要,中层管理3种技能都需要且较平衡,基层管理技术技能最重要。 7、组织三特征? 明确的目的 精细的结构 合适的人员 第二章 泰罗的三大实验: 泰罗是科学管理之父。记住3个实验的名称:1、搬运生铁实验,2、铁锹实验,3、高速钢实验 4、吉尔布雷斯夫妇 动作研究之父 管理界中的居里夫妇 5、法约尔的十四原则 法约尔是管理过程理论之父 记住“十四原则”这个名称就可以了。 6、法约尔的“跳板” 图。 7、韦伯理想的官僚行政组织组织理论之父。6维度:劳动分工、权威等级、正式甄选、非个人的、正式规则、职业生涯导向。 8、韦伯的3种权力 超凡的权力 传统的权力 法定的权力。 9、巴纳德的协作系统论 协作意愿 共同目标 信息沟通 10、罗伯特·欧文的人事管理 人事管理之父。职业经理人的先驱 11、福莱特冲突论 管理理论之母 1)利益结合、 2)一方自愿退让、 3)斗争、战胜另一方 4)妥协。 12、霍桑试验 1924-1932年、梅奥 照明试验、继电器试验、大规模访谈、接线试验 13、朱兰的质量观 质量是一种合用性 14、80/20的法则 多数,它们只能造成少许的影响;少数,它们造成主要的、重大的影响。 15、五项修炼 自我超越 改善心智 共同愿景 团队学习 系统思考 第三章 1、管理万能论 管理者对组织的成败负有直接责任。 2、管理象征论 是外部力量,而不是管理,决定成果。 3、何为组织文化 组织成员共有的价值观和信念体系。这一体系在很大程度上决定成员的行为方式。 4、组织文化七维度

数据结构练习附答案

一、单项选择题 1.逻辑关系是指数据元素间的() A.类型 B.存储方式 C.结构 D.数据项 2.对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构 为( ) A.顺序表 B.用头指针表示的单循环链表 C. 用尾指针表示的单循环链表 D. 单链表 3.设数组data[m]作为循环队列SQ的存储空间,front为队头指针,rear 为队尾指针,则执行出队操作后其头指针front值为() A.front=front+1 B.front= (front+1)%(m-1) C.front=(front-1)%m D.front=(fro nt+1)%m 4.在具有n个单元的顺序存储的循环队列中,假定front和rear分别 为队头指针和队尾指针,则判断队满的条件为( )。 A.rear%n==front B.(front+l)%n==rear C.rear%n-1==front D.(rear+l)%n==front 5.在具有n个单元的顺序存储的循环队列中,假定front和rear分别 为队头指针和队尾指针,则判断队空的条件为( )。 A.rear%n==front B.front+l=rear C.rear==front D.(rear+l)%n=front 6.已知一颗二叉树上有92个叶子结点,则它有____个度为2的结点。 ( ) A. 90 B. 91 C. 92 D. 93 7.在一棵非空二叉树的中序遍历序列中,根结点的右边_____。 A. 只有右子树上的所有结点 B. 只有右子树上的部分结点 C. 只有左子树上的所有结点 D. 只有左子树上的部分结点 8.有n条边的无向图的邻接表存储法中,链表中结点的个数是( )个。 A. n B. 2n C. n/2 D. n*n 9.判断有向图是否存在回路,除了可利用拓扑排序方法外,还可以利 用()。 A. 求关键路径的方法 B.求最短路径的方法 C. 深度优先遍历算法 D.广度优先遍历算法 10.对线性表进行二分查找时,要求线性表必须( )。

数据结构复习题及答案

复习题(一) 一.填空题(每空1分,共15分) 1.一个算法的效率可分为___________________效率和___________________效率。 2.__________________是被限定为只能在表的一端进行插入运算,在表的另一端 进行删除运算的线性表。 3.设S=“A;/document/Mary.doc”,则strlen(S)= _______________,“/”的字符定位 的位置为_______________。 4.设数组a[1…60, 1…70]的基地址为2048,每个元素占2个存储单元,若以列 序为主序顺序存储,则元素a[32,58]的存储地址为_______________。 5.一棵深度为6的满二叉树有_______________个分支结点和_______________个 叶子。 6.用5个权值{3, 2, 4, 5, 1}构造的哈夫曼(Huffman)树的带权路径长度 是。 7.设有一稀疏图G,则G采用存储较省空间。 8.快速排序算法是对算法的一种改进。 9.在数据的存放无规律而言的线性表中进行检索的最佳方法 是。 10.大多数排序算法都有两个基本的操作: 和。 11.设要将序列(Q, H, C, Y, P, A, M, S, R, D, F, X)中的关键码按字母序的升序重 新排列,则:快速排序一趟扫描的结果是。 二.选择题(每题2分,共30分) ()1.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为: (A)存储结构(B)逻辑结构(C)顺序存储结构(D)链式存储结构 ()2. 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要

第1章思考题及参考答案

第一章思考题及参考答案 1. 无多余约束几何不变体系简单组成规则间有何关系? 答:最基本的三角形规则,其间关系可用下图说明: 图a 为三刚片三铰不共线情况。图b 为III 刚片改成链杆,两刚片一铰一杆不共线情况。图c 为I 、II 刚片间的铰改成两链杆(虚铰),两刚片三杆不全部平行、不交于一点的情况。图d 为三个实铰均改成两链杆(虚铰),变成三刚片每两刚片间用一虚铰相连、三虚铰不共线的情况。图e 为将I 、III 看成二元体,减二元体所成的情况。 2.实铰与虚铰有何差别? 答:从瞬间转动效应来说,实铰和虚铰是一样的。但是实铰的转动中心是不变的,而虚铰转动中心为瞬间的链杆交点,产生转动后瞬时转动中心是要变化的,也即“铰”的位置实铰不变,虚铰要发生变化。 3.试举例说明瞬变体系不能作为结构的原因。接近瞬变的体系是否可作为结构? 答:如图所示AC 、CB 与大地三刚片由A 、B 、C 三铰彼此相连,因为三铰共线,体系瞬变。设该 体系受图示荷载P F 作用,体系C 点发生微小位移 δ,AC 、CB 分别转过微小角度α和β。微小位移 后三铰不再共线变成几何不变体系,在变形后的位置体系能平衡外荷P F ,取隔离体如图所 示,则列投影平衡方程可得 210 cos cos 0x F T T βα=?=∑,21P 0 sin sin y F T T F βα=+=∑ 由于位移δ非常小,因此cos cos 1βα≈≈,sin , sin ββαα≈≈,将此代入上式可得 21T T T ≈=,()P P F T F T βαβα +==?∞+, 由此可见,瞬变体系受荷作用后将产生巨大的内力,没有材料可以经受巨大内力而不破坏,因而瞬变体系不能作为结构。由上分析可见,虽三铰不共线,但当体系接近瞬变时,一样将产生巨大内力,因此也不能作为结构使用。 4.平面体系几何组成特征与其静力特征间关系如何? 答:无多余约束几何不变体系?静定结构(仅用平衡条件就能分析受力) 有多余约束几何不变体系?超静定结构(仅用平衡条件不能全部解决受力分析) 瞬变体系?受小的外力作用,瞬时可导致某些杆无穷大的内力 常变体系?除特定外力作用外,不能平衡 5. 系计算自由度有何作用? 答:当W >0时,可确定体系一定可变;当W <0且不可变时,可确定第4章超静定次数;W =0又不能用简单规则分析时,可用第2章零载法分析体系可变性。 6.作平面体系组成分析的基本思路、步骤如何? 答:分析的基本思路是先设法化简,找刚片看能用什么规则分析。

数据结构习题二

习题二 一、选择题 1.在一个长度为n的顺序表中删除第i个元素(0<i

数据结构模拟卷(含答案)经典习题培训讲学

数据结构模拟卷(含答案)经典习题

练习题 一、单项选择题 1. 若将数据结构形式定义为二元组(K,R),其中K是数据元素的有限集合,则R是K上( ) A. 操作的有限集合 B. 映象的有限集合 C. 类型的有限集合 D. 关系的有限集合 2. 在长度为n的顺序表中删除第i个元素(1≤i≤n)时,元素移动的次数为( ) A. n-i+1 B. i C. i+1 D. n-i 3. 若不带头结点的单链表的指针为head,则该链表为空的判定条件是( ) A. head==NULL B. head->next==NULL C. head!=NULL D. head->next==head 4. 引起循环队列队头位置发生变化的操作是( ) A. 出队 B. 入队 C. 取队头元素 D. 取队尾元素 5. 若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则不.可能出现的出栈序列是( ) A. 2,4,3,1,5,6 B. 3,2,4,1,6,5 C. 4,3,2,1,5,6 D. 2,3,5,1,6,4

6. 字符串通常采用的两种存储方式是( ) A. 散列存储和索引存储 B. 索引存储和链式存储 C. 顺序存储和链式存储 D. 散列存储和顺序存储 7. 数据结构是() A.一种数据类型 B.数据的存储结构 C.一组性质相同的数据元素的集合 D.相互之间存在一种或多种特定关系的数据元素的集合 8. 算法分析的目的是() A.辨别数据结构的合理性 B.评价算法的效率 C.研究算法中输入与输出的关系 D.鉴别算法的可读性 9. 在线性表的下列运算中,不.改变数据元素之间结构关系的运算是 () A.插入B.删除 C.排序D.定位10. 下列图示的顺序存储结构表示的二叉树是( )

数据结构练习试题和答案解析

第1章绪论 一、判断题 1.数据的逻辑结构与数据元素本身的容和形式无关。(√) 2.一个数据结构是由一个逻辑结构和这个逻辑结构上的一个基本运算集构成的整体。(√) 3.数据元素是数据的最小单位。(×) 4.数据的逻辑结构和数据的存储结构是相同的。(×) 5.程序和算法原则上没有区别,所以在讨论数据结构时可以通用。(×) 6.从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类。(√) 7.数据的存储结构是数据的逻辑结构的存储映象。(√) 8.数据的物理结构是指数据在计算机实际的存储形式。(√) 9.数据的逻辑结构是依赖于计算机的。(×) 10.算法是对解题方法和步骤的描述。(√) 二、填空题 1.数据有逻辑结构和存储结构两种结构。 2.数据逻辑结构除了集合以外,还包括线性结构、树形结构和图形结构。 3.数据结构按逻辑结构可分为两大类,它们是线性结构和非线性结构。 4.树形结构和图形结构合称为非线性结构。 5.在树形结构中,除了树根结点以外,其余每个结点只有1个前驱结点。 6.在图形结构中,每个结点的前驱结点数和后继结点数可以任意多个。 7.数据的存储结构又叫物理结构。 8.数据的存储结构形式包括顺序存储、链式存储、索引存储和散列存储。 9.线性结构中的元素之间存在一对一的关系。 10.树形结构中的元素之间存在一对多的关系。 11.图形结构的元素之间存在多对多的关系。 12.数据结构主要研究数据的逻辑结构、存储结构和算法(或运算)3个方面的容。 13.数据结构被定义为(D,R),其中D是数据的有限集合,R是D上的关系有限集合。 14.算法是一个有穷指令的集合。 15.算法效率的度量可以分为事先估算法和事后统计法。 16.一个算法的时间复杂度是算法输入规模的函数。 17.算法的空间复杂度是指该算法所耗费的存储空间,它是该算法求解问题规模的n的函数。 18.若一个算法中的语句频度之和为T(n)=6n+3nlog2n,则算法的时间复杂度为O(nlog2n)。 19.若一个算法的语句频度之和为T(n)=3n+nlog2+n2,则算法的时间复杂度为O(n2)。 20.数据结构是一门研究非数值计算的程序问题中计算机的操作对象,以及它们之间的关系和运算的学 科。 三、选择题 1.数据结构通常是研究数据的(A)及它们之间的相互关系。 A.存储结构和逻辑结构B.存储和抽象C.联系和抽象D.联系与逻辑 2.在逻辑上可以把数据结构分成(C)。 A.动态结构和静态结构B.紧凑结构和非紧凑结构 C.线性结构和非线性结构D.部结构和外部结构。 3.数据在计算机存储表示时,物理地址和逻辑地址相同并且是连续的,称之为(C)。 A.存储结构B.逻辑结构C.顺序存储结构D.链式存储结构 4.非线性结构中的每个结点(D)。 A.无直接前驱结点.B.无直接后继结点.

相关文档
最新文档