文档库 最新最全的文档下载
当前位置:文档库 › 《数据结构——C语言描述》习题及答案 耿国华

《数据结构——C语言描述》习题及答案 耿国华

《数据结构——C语言描述》习题及答案 耿国华
《数据结构——C语言描述》习题及答案 耿国华

第1章绪论

习题

一、问答题

1. 什么是数据结构?

2. 四类基本数据结构的名称与含义。

3. 算法的定义与特性。

4. 算法的时间复杂度。

5. 数据类型的概念。

6. 线性结构与非线性结构的差别。

7. 面向对象程序设计语言的特点。

8. 在面向对象程序设计中,类的作用是什么?

9. 参数传递的主要方式及特点。

10. 抽象数据类型的概念。

二、判断题

1. 线性结构只能用顺序结构来存放,非线性结构只能用非顺序结构来存放。

2. 算法就是程序。

3. 在高级语言(如C、或PASCAL)中,指针类型是原子类型。

三、计算下列程序段中X=X+1的语句频度

for(i=1;i<=n;i++)

for(j=1;j<=i;j++)

for(k=1;k<=j;k++)

x=x+1;

[提示]:

i=1时:1 = (1+1)×1/2 = (1+12)/2

i=2时:1+2 = (1+2)×2/2 = (2+22)/2

i=3时:1+2+3 = (1+3)×3/2 = (3+32)/2

i=n时:1+2+3+……+n = (1+n)×n/2 = (n+n2)/2

f(n) = [ (1+2+3+……+n) + (12 + 22 + 32 + …… + n2 ) ] / 2

=[ (1+n)n/2 + n(n+1)(2n+1)/6 ] / 2

=n(n+1)(n+2)/6

=n3/6+n2/2+n/3

区分语句频度和算法复杂度:

O(f(n)) = O(n3)

四、试编写算法求一元多项式Pn(x)=a0+a1x+a2x2+a3x3+…a n x n的值P n(x0),并确定算法中的每一语句的执行次数和整个算法的时间复杂度,要求时间复杂度尽可能的小,规定算法中不能使用求幂函数。注意:本题中的输入a i(i=0,1,…,n), x和n,输出为P n(x0).通常算法的输入和输出可采用下列两种方式之一:

(1)通过参数表中的参数显式传递;

(2)通过全局变量隐式传递。

试讨论这两种方法的优缺点,并在本题算法中以你认为较好的一种方式实现输入和输出。[提示]:float PolyValue(float a[ ], float x, int n) {……}

核心语句:

p=1; (x的零次幂)

s=0;

i从0到n循环

s=s+a[i]*p;

p=p*x;

或:

p=x; (x的一次幂)

s=a[0];

i从1到n循环

s=s+a[i]*p;

p=p*x;

实习题

设计实现抽象数据类型“有理数”。基本操作包括有理数的加法、减法、乘法、除法,以及求有理数的分子、分母。

第一章答案

1.3计算下列程序中x=x+1的语句频度

for(i=1;i<=n;i++)

for(j=1;j<=i;j++)

for(k=1;k<=j;k++)

x=x+1;

【解答】x=x+1的语句频度为:

T(n)=1+(1+2)+(1+2+3)+……+(1+2+……+n)=n(n+1)(n+2)/6

1.4试编写算法,求p n(x)=a0+a1x+a2x2+…….+a n x n的值p n(x0),并确定算法中每一语句的执行次数和整个算法的时间复杂度,要求时间复杂度尽可能小,规定算法中不能使用求幂函数。注意:本题中的输入为a i(i=0,1,…n)、x和n,输出为P n(x0)。算法的输入和输出采用下列方法(1)通过参数表中的参数显式传递(2)通过全局变量隐式传递。讨论两种方法的优缺点,并在算法中以你认为较好的一种实现输入输出。

【解答】

(1)通过参数表中的参数显式传递

优点:当没有调用函数时,不占用内存,调用结束后形参被释放,实参维持,函数通用性强,移置性强。

缺点:形参须与实参对应,且返回值数量有限。

(2)通过全局变量隐式传递

优点:减少实参与形参的个数,从而减少内存空间以及传递数据时的时间消耗

缺点:函数通用性降低,移植性差

算法如下:通过全局变量隐式传递参数

PolyValue()

{ int i,n;

float x,a[],p;

printf(“\nn=”);

scanf(“%f”,&n);

printf(“\nx=”);

scanf(“%f”,&x);

for(i=0;i

scanf(“%f ”,&a[i]); /*执行次数:n次*/

p=a[0];

for(i=1;i<=n;i++)

{ p=p+a[i]*x; /*执行次数:n次*/

x=x*x;}

printf(“%f”,p);

}

算法的时间复杂度:T(n)=O(n)

通过参数表中的参数显式传递

float PolyValue(float a[ ], float x, int n)

{

float p,s;

int i;

p=x;

s=a[0];

for(i=1;i<=n;i++)

{s=s+a[i]*p; /*执行次数:n次*/

p=p*x;}

return(p);

}

算法的时间复杂度:T(n)=O(n)

第2章线性表

习题

2.1 描述以下三个概念的区别:头指针,头结点,首元素结点。

2.2 填空:

(1)在顺序表中插入或删除一个元素,需要平均移动__一半__元素,具体移动的元素个数与__插入或删除的位置__有关。

(2)在顺序表中,逻辑上相邻的元素,其物理位置______相邻。在单链表中,逻辑上相邻的元素,其物理位置______相邻。

(3)在带头结点的非空单链表中,头结点的存储位置由______指示,首元素结点的存储位置由______指示,除首元素结点外,其它任一元素结点的存储位置由__其直接前趋的next域__指示。

2.3 已知L是无表头结点的单链表,且P结点既不是首元素结点,也不是尾元素结点。按要求从下列语句中选择合适的语句序列。

a. 在P结点后插入S结点的语句序列是:_(4)、(1)_。

b. 在P结点前插入S结点的语句序列是:(7)、(11)、(8)、(4)、(1)。

c. 在表首插入S结点的语句序列是:(5)、(12)。

d. 在表尾插入S结点的语句序列是:(11)、(9)、(1)、(6)。

供选择的语句有:

(1)P->next=S;

(2)P->next= P->next->next;

(3)P->next= S->next;

(4)S->next= P->next;

(5)S->next= L;

(6)S->next= NULL;

(7)Q= P;

(8)while(P->next!=Q) P=P->next;

(9)while(P->next!=NULL) P=P->next;

(10)P= Q;

(11)P= L;

(12)L= S;

(13)L= P;

2.4 已知线性表L递增有序。试写一算法,将X插入到L的适当位置上,以保持线性表L 的有序性。

[提示]:void insert(SeqList *L; ElemType x)

< 方法1 >

(1)找出应插入位置i,(2)移位,(3)……

< 方法2 > 参P. 229

2.5 写一算法,从顺序表中删除自第i个元素开始的k个元素。

[提示]:注意检查i和k的合法性。(集体搬迁,“新房”、“旧房”)

< 方法1 > 以待移动元素下标m(“旧房号”)为中心,

计算应移入位置(“新房号”):

for ( m= i-1+k; m<= L->last; m++)

L->elem[ m-k ] = L->elem[ m ];

< 方法2 > 同时以待移动元素下标m和应移入位置j为中心:

< 方法3 > 以应移入位置j为中心,计算待移动元素下标:

2.6已知线性表中的元素(整数)以值递增有序排列,并以单链表作存储结构。试写一高效算法,删除表中所有大于mink且小于maxk的元素(若表中存在这样的元素),分析你的算法的时间复杂度(注意:mink和maxk是给定的两个参变量,它们的值为任意的整数)。[提示]:注意检查mink和maxk的合法性:mink < maxk

不要一个一个的删除(多次修改next域)。

(1)找到第一个应删结点的前驱pre

pre=L; p=L->next;

while (p!=NULL && p->data <= mink)

{ pre=p; p=p->next; }

(2)找到最后一个应删结点的后继s,边找边释放应删结点

s=p;

while (s!=NULL && s->data < maxk)

{ t =s; s=s->next; free(t); }

(3)pre->next = s;

2.7 试分别以不同的存储结构实现线性表的就地逆置算法,即在原表的存储空间将线性表(a1, a2..., a n)逆置为(a n, a n-1,..., a1)。

(1)以一维数组作存储结构,设线性表存于a(1:arrsize)的前elenum个分量中。

(2)以单链表作存储结构。

[方法1]:在原头结点后重新头插一遍

[方法2]:可设三个同步移动的指针p, q, r,将q的后继r改为p

2.8 假设两个按元素值递增有序排列的线性表A和B,均以单链表作为存储结构,请编写算法,将A表和B表归并成一个按元素值递减有序的排列的线性表C,并要求利用原表(即A表和B表的)结点空间存放表C.

[提示]:参P.28 例2-1

< 方法1 >

void merge(LinkList A; LinkList B; LinkList *C)

{ ……

pa=A->next; pb=B->next;

*C=A; (*C)->next=NULL;

while ( pa!=NULL && pb!=NULL )

{

if ( pa->data <= pb->data )

{

smaller=pa; pa=pa->next;

smaller->next = (*C)->next; /* 头插法*/

(*C)->next = smaller;

}

else

{

smaller=pb; pb=pb->next;

smaller->next = (*C)->next;

(*C)->next = smaller;

}

}

while ( pa!=NULL)

{

smaller=pa; pa=pa->next;

smaller->next = (*C)->next;

(*C)->next = smaller;

}

while ( pb!=NULL)

{

smaller=pb; pb=pb->next;

smaller->next = (*C)->next;

(*C)->next = smaller;

}

< 方法2 >

LinkList merge(LinkList A; LinkList B)

{ ……

LinkList C;

pa=A->next; pb=B->next;

C=A; C->next=NULL;

……

……

return C;

2.9 假设有一个循环链表的长度大于1,且表中既无头结点也无头指针。已知s为指向链表某个结点的指针,试编写算法在链表中删除指针s所指结点的前趋结点。

[提示]:设指针p指向s结点的前趋的前趋,则p与s有何关系?

2.10 已知有单链表表示的线性表中含有三类字符的数据元素(如字母字符、数字字符和其它字符),试编写算法来构造三个以循环链表表示的线性表,使每个表中只含同一类的字符,且利用原表中的结点空间作为这三个表的结点空间,头结点可另辟空间。

2.11 设线性表A=(a1, a2,…,a m),B=(b1, b2,…,b n),试写一个按下列规则合并A、B为线性表C的算法,使得:

C= (a1, b1,…,a m, b m, b m+1,…,b n)当m≤n时;

或者C= (a1, b1,…,a n, b n, a n+1,…,a m) 当m>n时。

线性表A、B、C均以单链表作为存储结构,且C表利用A表和B表中的结点空间构成。注意:单链表的长度值m和n均未显式存储。

[提示]:void merge(LinkList A; LinkList B; LinkList *C)

或:LinkList merge(LinkList A; LinkList B)

2.12 将一个用循环链表表示的稀疏多项式分解成两个多项式,使这两个多项式中各自仅含奇次项或偶次项,并要求利用原链表中的结点空间来构成这两个链表。

[提示]:注明用头指针还是尾指针。

2.13 建立一个带头结点的线性链表,用以存放输入的二进制数,链表中每个结点的data域存放一个二进制位。并在此链表上实现对二进制数加1的运算。

[提示]:可将低位放在前面。

2.14 设多项式P(x)采用课本中所述链接方法存储。写一算法,对给定的x值,求P(x)的值。[提示]:float PolyValue(Polylist p; float x) {……}

实习题

1.将若干城市的信息存入一个带头结点的单链表,结点中的城市信息包括城市名、城市的位置坐标。要求:

(1)给定一个城市名,返回其位置坐标;

(2)给定一个位置坐标P和一个距离D,返回所有与P的距离小于等于D的城市。2.约瑟夫环问题。

约瑟夫问题的一种描述是:编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个整数作为报数上限值m,从第一个人开始顺时针

自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有的人全部出列为止。试设计一个程序,求出出列顺序。

利用单向循环链表作为存储结构模拟此过程,按照出列顺序打印出各人的编号。

例如m的初值为20;n=7,7个人的密码依次是:3,1,7,2,4,8,4,出列的顺序为6,1,4,7,2,3,5。

第二章答案

实习题二:约瑟夫环问题

约瑟夫问题的一种描述为:编号1,2,…,n的n个人按顺时针方向围坐一圈,每个人持有一个密码(正整数)。一开始任选一个报数上限值m,从第一个人开始顺时针自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有的人全部出列为止。试设计一个程序,求出出列顺序。利用单向循环链表作为存储结构模拟此过程,按照出列顺序打印出各人的编号。

例如,m的初值为20;n=7,7个人的密码依次是:3,1,7,2,4,8,4,出列顺序为6,1,4,7,2,3,5。

【解答】算法如下:

typedef struct Node

{

int password;

int num;

struct Node *next;

} Node,*Linklist;

void Josephus()

{

Linklist L;

Node *p,*r,*q;

int m,n,C,j;

L=(Node*)malloc(sizeof(Node)); /*初始化单向循环链表*/

if(L==NULL) { printf("\n链表申请不到空间!");return;}

L->next=NULL;

r=L;

printf("请输入数据n的值(n>0):");

scanf("%d",&n);

for(j=1;j<=n;j++) /*建立链表*/

{

p=(Node*)malloc(sizeof(Node));

if (p!=NULL)

{

printf("请输入第%d个人的密码:",j);

scanf("%d",&C);

p->password=C;

p->num=j;

r->next=p;

r=p;

}

}

r->next=L->next;

printf("请输入第一个报数上限值m(m>0):");

scanf("%d",&m);

printf("*****************************************\n"); printf("出列的顺序为:\n");

q=L;

p=L->next;

while(n!=1) /*计算出列的顺序*/

{

j=1;

while(j

q=p; /*q为当前结点p的前驱结点*/

p=p->next;

j++;

}

printf("%d->",p->num);

m=p->password; /*获得新密码*/

n- -;

q->next=p->next; /*p出列*/

r=p;

p=p->next;

free(r);

}

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

}

2.7试分别以不同的存储结构实现单线表的就地逆置算法,即在原表的存储空间将线性表(a1,a2,…,a n)逆置为(a n,a n-1,…,a1)。

【解答】(1)用一维数组作为存储结构

void invert(SeqList *L, int *num)

{

int j;

ElemType tmp;

for (j=0;j<=(*num-1)/2;j++)

{

tmp=L[j];

L[j]=L[*num-j-1];

L[*num-j-1]=tmp;}

}

}

(2)用单链表作为存储结构

void invert (LinkList L)

{

Node *p, *q, *r;

if(L->next ==NULL) return; /*链表为空*/

p=L->next;

q=p->next;

p->next=NULL; /* 摘下第一个结点,生成初始逆置表*/

while(q!=NULL) /* 从第二个结点起依次头插入当前逆置表*/

{

r=q->next;

q->next=L->next;

L->next=q;

q=r;

}

}

2.11将线性表A=(a1,a2,……am), B=(b1,b2,……bn)合并成线性表C, C=(a1,b1,……am,bm,bm+1,…….bn)当m<=n时,或C=(a1,b1, ……an,bn,an+1,……am)当m>n时,线性表A、B、C以单链表作为存储结构,且C表利用A表和B表中的结点空间构成。注意:单链表的长度值m和n均未显式存储。

【解答】算法如下:

LinkList merge(LinkList A, LinkList B, LinkList C)

{

Node *pa, *qa, *pb, *qb, *p;

pa=A->next; /*pa表示A的当前结点*/

pb=B->next;

p=A; / *利用p来指向新连接的表的表尾,初始值指向表A的头结点*/

while(pa!=NULL && pb!=NULL) /*利用尾插法建立连接之后的链表*/

{

qa=pa->next;

qb=qb->next;

p->next=pa; /*交替选择表A和表B中的结点连接到新链表中;*/

p=pa;

p->next=pb;

p=pb;

pa=qa;

pb=qb;

}

if(pa!=NULL) p->next=pa; /*A的长度大于B的长度*/

if(pb!=NULL) p->next=pb; /*B的长度大于A的长度*/

C=A;

return(C);

}

第3章限定性线性表—栈和队列

习题

1. 按图3.1(b)所示铁道(两侧铁道均为单向行驶道)进行车厢调度,回答:

⑴如进站的车厢序列为123,则可能得到的出站车厢序列是什么?123、213、132、231、321(312)

⑵如进站的车厢序列为123456,能否得到435612和135426的出站序列,并说明原

因。(即写出以“S”表示进栈、以“X”表示出栈的栈操作序列)。

SXSS XSSX XXSX 或S1X1S2S3X3S4S5X5X4X2S6X6

2. 设队列中有A、B、C、D、E这5个元素,其中队首元素为A。如果对这个队列重复执

行下列4步操作:

(1)输出队首元素;

(2)把队首元素值插入到队尾;

(3)删除队首元素;

(4)再次删除队首元素。

直到队列成为空队列为止,则是否可能得到输出序列:

(1)A、C、E、C、C (2)A、C、E

(3)A、C、E、C、C、C (4)A、C、E、C

[提示]:

A、B、C、D、E (输出队首元素A)

A、B、C、D、E、A (把队首元素A插入到队尾)

B、C、D、E、A (删除队首元素A)

C、D、E、A (再次删除队首元素B)

C、D、E、A (输出队首元素C)

C、D、E、A、C (把队首元素C插入到队尾)

D、E、A、C (删除队首元素C)

E、A、C (再次删除队首元素D)

3. 给出栈的两种存储结构形式名称,在这两种栈的存储结构中如何判别栈空与栈满?

4. 按照四则运算加、减、乘、除和幂运算(↑)优先关系的惯例,画出对下列算术表达式

求值时操作数栈和运算符栈的变化过程:

A-B*C/D+E↑F

5. 试写一个算法,判断依次读入的一个以@为结束符的字母序列,是否为形如‘序列1&

序列2’模式的字符序列。其中序列1和序列2中都不含字符’&’,且序列2是序列1的逆序列。例如,‘a+b&b+a’是属该模式的字符序列,而‘1+3&3-1’则不是。

[提示]:

(1)边读边入栈,直到&

(2)边读边出栈边比较,直到……

6. 假设表达式由单字母变量和双目四则运算算符构成。试写一个算法,将一个通常书写形

式(中缀)且书写正确的表达式转换为逆波兰式(后缀)。

[提示]:

例:

中缀表达式:a+b后缀表达式: ab+

中缀表达式:a+b×c后缀表达式: abc×+

中缀表达式:a+b×c-d后缀表达式: abc×+d-

中缀表达式:a+b×c-d/e后缀表达式: abc×+de/-

中缀表达式:a+b×(c-d)-e/f后缀表达式: abcd-×+ef/-

?后缀表达式的计算过程:(简便)

顺序扫描表达式,

(1)如果是操作数,直接入栈;

(2)如果是操作符op,则连续退栈两次,得操作数X, Y,计算X op Y,并将结果入栈。?如何将中缀表达式转换为后缀表达式?

顺序扫描中缀表达式,

(1)如果是操作数,直接输出;

(2)如果是操作符op2,则与栈顶操作符op1比较:

如果op2 > op1,则op2入栈;

如果op2 = op1,则脱括号;

如果op2 < op1,则输出op1;

7. 假设以带头结点的循环链表表示队列,并且只设一个指针指向队尾元素结点(注意不设

头指针),试编写相应的队列初始化、入队列和出队列的算法。

[提示]:参P.56 P.70 先画图.

typedef LinkList CLQueue;

int InitQueue(CLQueue * Q)

int EnterQueue(CLQueue Q, QueueElementType x)

int DeleteQueue(CLQueue Q, QueueElementType *x)

8. 要求循环队列不损失一个空间全部都能得到利用, 设置一个标志域tag , 以tag为0或

1来区分头尾指针相同时的队列状态的空与满,请编写与此结构相应的入队与出队算法。

[提示]:

初始状态:front==0, rear==0, tag==0

队空条件:front==rear, tag==0

队满条件:front==rear, tag==1

其它状态:front !=rear, tag==0(或1、2)

入队操作:

…(入队)

if (front==rear) tag=1;(或直接tag=1)

出队操作:

…(出队)

tag=0;

[问题]:如何明确区分队空、队满、非空非满三种情况?

9. 简述以下算法的功能(其中栈和队列的元素类型均为int):

(1)void proc_1(Stack S)

{ i

int i, n, A[255];

n=0;

while(!EmptyStack(S))

{

n++;

Pop(&S, &A[n]);

}

for(i=1; i<=n; i++)

Push(&S, A[i]);

}

将栈S逆序。

(2)void proc_2(Stack S, int e)

{

Stack T; int d;

InitStack(&T);

while(!EmptyStack(S))

{

Pop(&S, &d);

if (d!=e) Push( &T, d);

}

while(!EmptyStack(T))

{

Pop(&T, &d);

Push( &S, d);

}

}

删除栈S中所有等于e的元素。(3)void proc_3(Queue *Q)

{

Stack S; int d;

InitStack(&S);

while(!EmptyQueue(*Q))

{

DeleteQueue(Q, &d);

Push( &S, d);

}

while(!EmptyStack(S))

{

Pop(&S, &d);

EnterQueue(Q,d)

}

}

将队列Q逆序。

实习题

1.回文判断。称正读与反读都相同的字符序列为“回文”序列。

试写一个算法,判断依次读入的一个以@为结束符的字母序列,是否为形如‘序列1&序列2’模式的字符序列。其中序列1和序列2中都不含字符‘&’,且序列2是序列1的逆序列。例如,‘a+b&b+a’是属该模式的字符序列,而‘1+3&3-1’则不是。

2.停车场管理。

设停车场是一个可停放n辆车的狭长通道,且只有一个大门可供汽车进出。在停车场内,汽车按到达的先后次序,由北向南依次排列(假设大门在最南端)。若车场内已停满n 辆车,则后来的汽车需在门外的便道上等候,当有车开走时,便道上的第一辆车即可开入。当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门后,其它车辆再按原次序返回车场。每辆车离开停车场时,应按其停留时间的长短交费(在便道上停留的时间不收费)。

试编写程序,模拟上述管理过程。要求以顺序栈模拟停车场,以链队列模拟便道。从终端读入汽车到达或离去的数据,每组数据包括三项:①是“到达”还是“离去”;②汽车牌照号码;③“到达”或“离去”的时刻。与每组输入信息相应的输出信息为:如果是到达的车辆,则输出其在停车场中或便道上的位置;如果是离去的车辆,则输出其在停车场中停留的时间和应交的费用。(提示:需另设一个栈,临时停放为让路而从车场退出的车。)

3.商品货架管理。

商品货架可以看成一个栈,栈顶商品的生产日期最早,栈底商品的生产日期最近。上货时,需要倒货架,以保证生产日期较近的商品在较下的位置。用队列和栈作为周转,实现上述管理过程。

第三章答案

3.1 按3.1(b)所示铁道(两侧铁道均为单向行驶道)进行车厢调度,回答:

(1)如进站的车厢序列为123,则可能得到的出站车厢序列是什么?

(2)如进站的车厢序列为123456,能否得到435612和135426的出站序列,并说明原因(即写出以“S”表示进栈、“X”表示出栈的栈序列操作)。

【解答】

(1)可能得到的出站车厢序列是:123、132、213、231、321。

(2)不能得到435612的出站序列。

因为有S(1)S(2)S(3)S(4)X(4)X(3)S(5)X(5)S(6)S(6),此时按照“后进先出”的原则,出栈的顺序必须为X(2)X(1)。

能得到135426的出站序列。因为有S(1)X(1)S(2)S(3)X(3)S(4)S(5)X(5)X(4)X(2)X(1)。

3.3给出栈的两种存储结构形式名称,在这两种栈的存储结构中如何判别栈空与栈满?

【解答】

(1)顺序栈(top用来存放栈顶元素的下标)

判断栈S空:如果S->top==-1表示栈空。

判断栈S满:如果S->top==Stack_Size-1表示栈满。

(2)链栈(top为栈顶指针,指向当前栈顶元素前面的头结点)

判断栈空:如果top->next==NULL表示栈空。

判断栈满:当系统没有可用空间时,申请不到空间存放要进栈的元素,此时栈满。

3.4 照四则运算加、减、乘、除和幂运算的优先惯例,画出对下列表达式求值时操作数栈和运算符栈的变化过程:A-B*C/D+E↑F

【解答】

3.5 写一个算法,判断依次读入的一个以@为结束符的字母序列,是否形如‘序列1&序列2’的字符序列。序列1和序列2中都不含‘&’,且序列2是序列1 的逆序列。例如,’a+b&b+a’是属于该模式的字符序列,而’1+3&3-1’则不是。

【解答】算法如下:

int IsHuiWen()

{

Stack *S;

Char ch,temp;

InitStack(&S);

Printf(“\n请输入字符序列:”);

Ch=getchar();

While( ch!=&) /*序列1入栈*/

{

Push(&S,ch);

ch=getchar();

}

do /*判断序列2是否是序列1的逆序列*/

{

ch=getchar();

Pop(&S,&temp);

if(ch!= temp) /*序列2不是序列1的逆序列*/

{

return(FALSE); printf(“\nNO”);

}

} while(ch!=@ && !IsEmpty(&S))

if(ch = = @ && IsEmpty(&S))

{ return(TRUE); printf(“\nYES”);} /*序列2是序列1的逆序列*/

else

{return(FALSE); printf(“\nNO”);}

}/*IsHuiWen()*/

3.8 要求循环队列不损失一个空间全部都能得到利用,设置一个标志tag,以tag为0或1来区分头尾指针相同时的队列状态的空与满,请编写与此相应的入队与出队算法。

【解答】入队算法:

int EnterQueue(SeqQueue *Q, QueueElementType x)

{ /*将元素x入队*/

if(Q->front==Q->front && tag==1) /*队满*/

return(FALSE);

if(Q->front==Q->front && tag==0) /*x入队前队空,x入队后重新设置标志*/ tag=1;

Q->elememt[Q->rear]=x;

Q->rear=(Q->rear+1)%MAXSIZE; /*设置队尾指针*/

Return(TRUE);

}

出队算法:

int DeleteQueue( SeqQueue *Q , QueueElementType *x)

{ /*删除队头元素,用x返回其值*/

if(Q->front==Q->rear && tag==0) /*队空*/

return(FALSE);

*x=Q->element[Q->front];

Q->front=(Q->front+1)%MAXSIZE; /*重新设置队头指针*/

if(Q->front==Q->rear) tag=0; /*队头元素出队后队列为空,重新设置标志域*/ Return(TUUE);

}

编写求解Hanoi问题的算法,并给出三个盘子搬动时的递归调用过程。

【解答】算法:

void hanoi (int n ,char x, char y, char z)

{ /*将塔座X上按直径由小到大且至上而下编号为1到n的n个圆盘按规则搬到塔座Z 上,Y可用做辅助塔座*/

if(n = =1)

move(x,1,z);

else

{ Hanoi(n-1,x,z,y);

move(x, n, z);

Hanoi(n-1, y,x,z);

}

}

Hanoi(3,A,B,C)的递归调用过程:

Hanoi(2,A,C,B):

Hanoi(1,A,B,C) move(A->C) 1号搬到C

Move(A->B) 2号搬到B

Hanoi(1,C,A,B) move(C->B) 1号搬到B

2021年自考《社会统计学》习题及答案(卷二)

2021年自考《社会统计学》习题及答案(卷二) 一、填空 1.( )是指由调查者直接搜集的、未经加工整理而保持其原本状态的资料。( )是指经他人加工整理,可以在一定程度上被引用来说明总体特征的资料。 2.如果考虑到资料的时间过程,凡某一特定时刻的资料称为( );凡某时期内变动累计的资料称为( )。 3.( )调查就是根据调查的目的和要求,在对所研究对象进行初步全面分析的基础上,从中选择有代表性的单位,做周密细致的调查。 4.( )误差,是指在调查和统计过程中由于各种主客观因素而引起的技术性、操作性误差以及由于责任心缘故而造成的误差等。( )误差,是指由调查方式本身所决定的统计指标和总体指标之间存在的差数。 5. 统计误差有( )和( )两类,其中( )在全面调查和非全面调查中都可能发生。 6.对在全国钢产量中占很大比重的十大钢铁企业进行钢产量生产调查,这种调查方式属于( )。 7.统计调查从调查范围上分,可分为( )和( )。 8.统计调查按调查登记时间是否连续,可分为( )和( )。 9.统计调查从调查目的上,可分为( )和专项调查。 10.( )误差是在遵守随机原则的条件下,用样本指标代表总体指标不可避免存在的误差,它表示抽样估计的精度。

二、单项选择 1.将总体按与研究有关的标志进行分组,然后再随机地从各组中抽选单位组成样本。这种抽样方式叫( )。 A 简单随机抽样 B 类型抽样 C 等距抽样 D 整群抽样。 2.搞好重点调查的关键是( ) 。 A 力求统一要求和统一行动 B 选择好重点单位 C 选择最有代表性的单位 D 遵循随机原则。 3.下列资料,属于静态资料的是( ) 。 A 某厂89年职工工资总额为76万元; B 某乡89年粮食总产量为1亿3千万公斤; C 某市89年末人口为36.3万人; D 某市89年征用土地125亩。 4.关于统计调查的组织形式,下面正确的描述有( )。 A 普查是一种专门组织的一次性调查; B 满足一定条件,重点调查的结果可以用来推断总体; C 抽样调查是一种全面调查; D 典型调查是在研究现象的总体中,选择其中的重点单位进行调查。 5.应用( )方式抽取样本时,必须避免抽样间隔和现象本身的节奏性或循环周期相重合。 A 随机抽样 B 系统抽样 C 整群抽样 D 分层抽样 6.下面能进行除法运算的测量尺度是( )。

社会统计学复习题(有答案)

社会统计学课程期末复习题 一、填空题(计算结果一般保留两位小数) 1、第五次人口普查南京市和上海市的人口总数之比为 比较 相对指标;某企业男女职工人数之比为 比例 相对指标;某产品的废品率为 结构 相对指标;某地区福利机构网点密度为 强度 相对指标。 2、各变量值与其算术平均数离差之和为 零 ;各变量值与其算术平均数离差的平方和为 最小值 。 3、在回归分析中,各实际观测值y 与估计值y ?的离差平方和称为 剩余 变差。 4、平均增长速度= 平均发展速度 —1(或100%)。 5、 正J 形 反J 形 曲线的特征是变量值分布的次数随变量值的增大而逐步增多; 曲线的特征是变量值分布的次数随变量值的增大而逐步减少。 6、调查宝钢、鞍钢等几家主要钢铁企业来了解我国钢铁生产的基本情况,这种调查方式属于 重点 调查。 7、要了解某市大学多媒体教学设备情况,则总体是 该市大学中的全部多媒体教学设备 ;总体单位是 该市大学中的每一套多媒体教学设备; 。 8、若某厂计划规定A 产品单位成本较上年降低6%,实际降低了7%,则A 产品单位成本计划超额完成程度为 100%7% A 100% 1.06%100%6% -=-=-产品单位成本计划超额完成程度 ;若某厂计划规定B 产品产量较上年增长5%,实际增长了10%,则B 产品产量计划超额完成程度为 100%10% 100% 4.76%100%5% +=-=+B 产品产量计划超额完成程度 。 9、按照标志表现划分,学生的民族、性别、籍贯属于 品质 标志;学生的体重、年龄、成绩属于 数量 标志。 10、从内容上看,统计表由 主词 和 宾词 两个部分组成;从格式上看,统计表由 总标题 、 横行标题 、 纵栏标题 和 指标数值(或统计数值); 四个部分组成。 11、从变量间的变化方向来看,企业广告费支出与销售额的相关关系,单位产品成本与单位产品原材料消耗量的相关关系属于 正 相关;而市场价格与消费者需求数量的相关关系,单位产品成本与产品产量的相关关系属于 负 相关。 12、按指标所反映的数量性质不同划分,国民生产总值属于 数量 指标;单位成本属于 质量 指标。 13、如果相关系数r=0,则表明两个变量之间 不存在线性相关关系 。 二、判断题

数据结构习题答案 耿国华主编 第六章

6.27 [问题] 假设一棵二叉树的先序序列为EBADCFHGIKJ和中序序列为ABCDEFGHIJK。请画出该树。[解答] [问题] 假设一棵二叉树的层序序列为ABCDEFGHIJ和中序序列为DBGEHJACIF。请画出该树。 [问题] 试利用栈的基本操作写出先序遍历二叉树的非递归算法。 [解答提示] 改写教材p.130-131算法6.2或6.3。 将if (!visit(p->data)) return ERROR;提前。 6.43 [问题] 编写递归算法,将二叉树中所有结点的左、右子树相互交换。 Status Exchange-lr(Bitree bt){ //将bt所指二叉树中所有结点的左、右子树相互交换

if (bt && (bt->lchild || bt->rchild)) { bt->lchild<->bt->rchild; Exchange-lr(bt->lchild); Exchange-lr(bt->rchild); } return OK; }//Exchange-lr 6.45 [问题] 编写递归算法,对于二叉树中每一个元素值为x的结点,删去以它为根的子树,并释放相应的空间。 [解答] Status Del-subtree(Bitree bt){ //删除bt所指二叉树,并释放相应的空间 if (bt) { Del-subtree(bt->lchild); Del-subtree(bt->rchild); free(bt); } return OK; }//Del-subtree Status Search-del(Bitree bt, TelemType x){ //在bt所指的二叉树中,查找所有元素值为x的结点,并删除以它为根的子树 if (bt){ if (bt->data=x) Del-subtree(bt); else { Search-Del(bt->lchild, x); Search-Del(bt->rchild, x); } } return OK; }//Search-Del 第六章树和二叉树 6.33 int Is_Descendant_C(int u,int v)//在孩子存储结构上判断u是否v的子孙,是则返回1,否则返回0 { if(u==v) return 1; else { if(L[v]) if (Is_Descendant(u,L[v])) return 1; if(R[v]) if (Is_Descendant(u,R[v])) return 1; //这是个递归算法

统计学计算例题及答案

计算题例题及答案: 1、某校社会学专业同学统计课成绩如下表所示。 社会学专业同学统计课成绩表 学号成绩学号成绩学号成绩101023 76 101037 75 101052 70 101024 91 101038 70 101053 88 101025 87 101039 76 101054 93 101026 78 101040 90 101055 62 101027 85 101041 76 101056 95 101028 96 101042 86 101057 95 101029 87 101043 97 101058 66 101030 86 101044 93 101059 82 101031 90 101045 92 101060 79 101032 91 101046 82 101061 76 101033 80 101047 80 101062 76 101034 81 101048 90 101063 68 101035 80 101049 88 101064 94 101036 83 101050 77 101065 83 要求: (1)对考试成绩按由低到高进行排序,求出众数、中位数和平均数。

(2)对考试成绩进行适当分组,编制频数分布表,并计算累计频数和累计频率。答案: (1)考试成绩由低到高排序: 62,66,68,70,70,75,76,76,76,76,76,77,78,79, 80,80,80,81,82,82,83,83,85,86,86,87,87,88, 88,90,90,90,91,91,92,93,93,94,95,95,96,97, 众数:76 中位数:83 平均数: =(62+66+……+96+97)÷42 =3490÷42 =83.095 (2) 按成绩 分组频数频率(%) 向上累积向下累积 频数频率(%) 频数频率(%) 60-69 3 7.143 3 7.143 42 100.000 70-79 11 26.190 14 33.333 39 92.857 80-89 15 35.714 29 69.048 28 66.667

最全数据结构课后习题答案(耿国华版[12bb]

第1章绪论工程大数电习题答案册工程大数电习题答案 册 2.(1)×(2)×(3)√ 3.(1)A(2)C(3)C 5.计算下列程序中x=x+1的语句频度 for(i=1;i<=n;i++) for(j=1;j<=i;j++) for(k=1;k<=j;k++) x=x+1; 【解答】x=x+1的语句频度为: T(n)=1+(1+2)+(1+2+3)+……+(1+2+……+n)=n(n+1)(n+2)/6 6.编写算法,求一元多项式p n(x)=a0+a1x+a2x2+…….+a n x n的值p n(x0),并确定算法中每一语句的执行次数和整个算法的时间复杂度,要求时间复杂度尽可能小,规定算法中不能使用求幂函数。注意:本题中的输入为a i(i=0,1,…n)、x和n,输出为P n(x0)。算法的输入和输出采用下列方法 (1)通过参数表中的参数显式传递 (2)通过全局变量隐式传递。讨论两种方法的优缺点,并在算法中以你认为较好的一种实现输入输出。 【解答】 (1)通过参数表中的参数显式传递 优点:当没有调用函数时,不占用内存,调用结束后形参被释放,实参维持,函数通用性强,移置性强。 缺点:形参须与实参对应,且返回值数量有限。 (2)通过全局变量隐式传递 优点:减少实参与形参的个数,从而减少内存空间以及传递数据时的时间消耗 缺点:函数通用性降低,移植性差 算法如下:通过全局变量隐式传递参数 PolyValue() { int i,n; float x,a[],p; printf(“\nn=”); scanf(“%f”,&n); printf(“\nx=”); scanf(“%f”,&x); for(i=0;i

《社会统计学》作业(共享含部份答案)

社会统计学作业 一、单项选择题 1.为了解IT行业从业者收入水平,某研究机构从全市IT行业从业者随机抽取800人作为样本进行调查,其中44%回答他们的月收入在6000元以上,30%回答他们每月用于娱乐消费在1000元以上。此处800人是( A ) A.样本 B. 总体 C. 统计量 D. 变量 2.在频数分布表中,将各个有序类别或组的百分比逐级累加起来称为( C )A.频率 B. 累积频数 C. 累积频率 D. 比率 3.离散系数的主要目的是( D ) A.反映一组数据的平均水平 B.比较多组数据的平均水平 C.反映一组数据的离散程度 D.比较多组数据的离散程度 4.经验法则表明,当一组数据正态分布时,在平均数加减1个标准差的范围之内大约有 ( B ) A. 50%的数据 B. 68%的数据 C. 95%的数据 D. 99%的数据 5.在某市随机抽取10家企业,7月份利润额(单位:万元)分别为72.0、63.1、20.0、23.0、54.7、54.3、23.9、25.0、26.9、29.0,那么这10家企业7月份利润额均值为( A ) A. 39.19

B. 28.90 C .19.54 D .27.95 6.用样本统计量的值直接作为总体参数的估计值,这种方法称为( A ) A .点估计 B .区间估计 C .有效估计 D .无偏估计 7.某单位对该厂第一加工车间残品率的估计高达10%,而该车间主任认为该比例(π)偏高。如果要检验该说法是否正确,则假设形式应该为( B ) A .0H :π≥0.1;1H :π<0.1 B .0H :π≤0.1;1H :π>0.1 C .0H :π=0.1;1H :π≠0.1 D .0H :π>0.1;1H :π≤0.1 8.下面哪一项不是方差分析中的假定( D ) A .每个总体都服从正态分布 B .观察值是相互独立的 C .各总体的方差相等 D .各总体的方差等于0 9.判断下列哪一个不可能是相关系数( D ) A .-0.9 B .0 C .0.5 D .1.2 10.用于说明回归方程中拟合优度的统计量主要是( D ) A. 相关系数 B. 离散系数 C. 回归系数 D. 判定系数

社会统计学习题和答案--相关与回归分析报告

第十二章 相关与回归分析 第一节 变量之间的相关关系 相关程度与方向·因果关系与对称关系 第二节 定类变量的相关 双变量交互分类(列联表)·削减误差比例(PRE )·λ系数与τ系数 第三节 定序变量的相关分析 同序对、异序对和同分对·Gamma 系数·肯德尔等级相关系数(τa 系数、τb 与τc 系数)·萨默斯系数(d 系数)·斯皮尔曼等级相关(ρ相关)·肯德尔和谐系数 第四节 定距变量的相关分析 相关表和相关图·积差系数的导出和计算·积差系数的性质 第五节 回归分析 线性回归·积差系数的PRE 性质·相关指数R 第六节 曲线相关与回归 可线性化的非线性函数·实例分析(二次曲线指数曲线) 一、填空 1.对于表现为因果关系的相关关系来说,自变量一般都是确定性变量,依变量则一般是( 随机性 )变量。 2.变量间的相关程度,可以用不知Y 与X 有关系时预测Y 的全部误差E 1,减去知道Y 与X 有关系时预测Y 的联系误差E 2,再将其化为比例来度量,这就是( 削减误差比例 )。 3.依据数理统计原理,在样本容量较大的情况下,可以作出以下两个假定:(1)实际观察值Y 围绕每个估计值c Y 是服从( );(2)分布中围绕每个可能的c Y 值的( )是相同的。 4.在数量上表现为现象依存关系的两个变量,通常称为自变量和因变量。自变量是作为( 变化根据 )的变量,因变量是随( 自变量 )的变化而发生相应变化的变量。 5.根据资料,分析现象之间是否存在相关关系,其表现形式或类型如何,并对具有相关关系的现象之间数量变化的议案关系进行测定,即建立一个相关的数学表达式,称为( 回归方程 ),并据以进行估计和预测。这种分析方法,通常又称为( 回归分析 )。 6.积差系数r 是( 协方差 )与X 和Y 的标准差的乘积之比。 二、单项选择 1.当x 按一定数额增加时,y 也近似地按一定数额随之增加,那么可以说x 与y 之间 存在( A )关系。 A 直线正相关 B 直线负相关 C 曲线正相关 D 曲线负相关

统计学计算题答案..

第 1 页/共 12 页 1、下表是某保险公司160名推销员月销售额的分组数据。书p26 按销售额分组(千元) 人数(人) 向上累计频数 向下累计频数 12以下 6 6 160 12—14 13 19 154 14—16 29 48 141 16—18 36 84 112 18—20 25 109 76 20—22 17 126 51 22—24 14 140 34 24—26 9 149 20 26—28 7 156 11 28以上 4 160 4 合计 160 —— —— (1) 计算并填写表格中各行对应的向上累计频数; (2) 计算并填写表格中各行对应的向下累计频数; (3)确定该公司月销售额的中位数。 按上限公式计算:Me=U- =18-0.22=17,78 2、某厂工人按年龄分组资料如下:p41 工人按年龄分组(岁) 工人数(人) 20以下 160 20—25 150 25—30 105 30—35 45 35—40 40 40—45 30 45以上 20 合 计 550 要求:采用简捷法计算标准差。《简捷法》 3、试根据表中的资料计算某旅游胜地2004年平均旅游人数。P50 表:某旅游胜地旅游人数 时间 2004年1月1日 4月1日 7月1日 10月1日 2005年1月1 日 旅游人数(人) 5200 5000 5200 5400 5600 4、某大学2004年在册学生人数资料如表3-6所示,试计算该大学2004年平均在册学生人数. 时间 1月1日 3月1日 7月1日 9月1日 12月31日 在册学生人数(人) 3408 3528 3250 3590 3575

最全数据结构课后习题答案耿国华版

绪论第1章 √(2)×(3)2.(1)×C )C(3(1)A(2)3. 的语句频度5.计算下列程序中x=x+1for(i=1;i<=n;i++) for(j=1;j<=i;j++) for(k=1;k<=j;k++) x=x+1; 的语句频度为:【解答】x=x+1=n(n+1)(n+2)/6 )+……+(1+2+……+n)T(n)=1+(1+2)+(1+2+3 并确定算法中每一),p(xx+ax+a+…….+ax的值6.编写算法,求一元多项式p(x)=a n20nn20n1规定算法中不能使用要求时间复杂度尽可能小,语句的执行次数和整个算法的时间复杂度,算法的输入和输出)。n,输出为P(x求幂函数。注意:本题中的输入为a(i=0,1,…n)、x和0in采用下列方法1)通过参数表中的参数显式传递()通过全局变量隐式传递。讨论两种方法的优缺点,并在算法中以你认为较好的一种实(2 现输入输出。【解答】1)通过参数表中的参数显式传递(优点:当没有调用函数时,不占用存,调用结束后形参被释放,实参维持,函数通用 性强,移置性强。缺点:形参须与实参对应,且返回值数量有限。 )通过全局变量隐式传递(2 优点:减少实参与形参的个数,从而减少存空间以及传递数据时的时间消耗 缺点:函数通用性降低,移植性差 算法如下:通过全局变量隐式传递参数PolyValue() { int i,n; float x,a[],p; nn=”);printf(“\ scanf(“%f”,&n); nx=”);printf(“\ scanf(“%f”,&x); for(i=0;i

社会统计学习题 卢淑华

1、P58习题十五 人数户数 0 1 2 3 4 5 6 7 8 417 240 366 222 134 63 39 24 21 (1)试作频率统计表,直方图和折线图 (2)试求均值和标准差 2、P59习题十六 设以下是七十二名离婚者的婚龄的统计(见下表)。 (1)试作频率统计表、直方图和折线图 (2)试求众值、中位值和均值,并做简单讨论。 (3)试求四分互差和标准差。 婚龄人数 1-3 4-6 7-9 10-12 13-15 16-18 19-21 22-24 25-27 28-30 5 10 20 14 9 4 3 2 4 1 3、P59习题十七 设以下是1209名抽烟者年龄的统计(见下表) 年龄人数 21-24 25-34 35-44 45-54 55-64 65岁以上212 273 257 226 152 89 (1)试作频率统计表、直方图和折线图 (2)试求四分互差。 4、P72例10 某年级共有学生一百名,其中来自广东省的有二十五名,来自广西省的有十名,问任抽一名,来自两广的概率是多少?

5、P73例12 根据某市职业代际流动的统计,服务性行业代际向下流动的概率为0.07,静止不流动的概率为0.85,求服务性行业代际向上流动的概率是多少? 6、P75例13 为了呀牛父代文化程度对子代文化程度的影响,某大学统计出学生中父亲具有大学文化程度的占30%,母亲具有大学文化程度的占20%,而父母双方都具有大学文化程度的占10%,问学生中任抽一名,父代至少有一名具有大学文化程度的概率是多少? 7、P75例14 某地对外国旅游者旅游动机进行了调查,发现旅游者处于游览名胜的概率为0.219;处于异族文化的吸引占0.509;而两种动机兼而有之的占0.102.问旅游动机为游览名胜或为异族文化吸引的概率是多少? 8、P76例16 根据统计结果,在自然生育情况下,男婴出生的概率为22/43;女婴出生的概率为21/43.某单位有两名孕妇,问两名孕妇都生男婴的概率是多少?两名孕妇都生女婴的概率是多少?其中一名孕妇生男婴、一名孕妇生女婴的概率是多少? 9、P77例17 某居民楼共十二户,其中直系家庭为两户,问访问两户都是直系家庭的概率是多少? 10、P78例18 某居民楼共二十户,其中直系家庭为两户,问访问第二户才是直系家庭的概率是多少?11、P78例20 设居民楼共有住户一千户,其中核心家庭占60%,问访谈中散户都是核心家庭的概率是多少? 12、P83例22 10人抓阄,其中共有2张球票,问第2个人抓到球票的概率? 13、P85例23 设出口商标为Made in China的产品,其中有50%为上海厂的产品;30%为北京厂得产品;20%为天津厂的产品。设上海厂得正品率为90%;北京厂的正品率为95%,天津厂的正品率为97%。问(1)任抽一件为正品的概率是多少?(2)在抽得产品是正品的情况下,是上海厂的概率是多少? 14、P99例27 已知随机变量的概率分布为 ξ13.4 13.5 13.6 13.7 13.8 P(ξ=Xi)0.05 0.15 0.60 0.15 0.05 求σ2=? 15、P106习题三 某班对全班订报纸情况进行了统计,中订《人民日报》的有45%;订《北京晚报》的有80%;两种报纸都订的有30%,试求以下事件的概率。 (1)只定人民日报的 (2)至少订以上一种报纸的 (3)只订以上一种报纸的 (4)以上两种报纸都不订的 16、P107习题6 根据统计,由出生活到60岁的概率为0.8,活到70岁的概率为0.4,问现年60岁的人活到70岁的概率为多少?

统计学期末考试试题(含答案)

西安交大统计学考试试卷 一、单项选择题(每小题2分,共20分) 1.在企业统计中,下列统计标志中属于数量标志的是( C) A、文化程度 B、职业 C、月工资 D、行业 2.下列属于相对数的综合指标有(B ) A、国民收入 B、人均国民收入 C、国内生产净值 D、设备台数 3.有三个企业的年利润额分别是5000万元、8000万元和3900万元,则这句话中有( B)个变量 A、0个 B、两个 C、1个 D、3个 4.下列变量中属于连续型变量的是(A ) A、身高 B、产品件数 C、企业人数 D、产品品种 5.下列各项中,属于时点指标的有(A ) A、库存额 B、总收入 C、平均收入 D、人均收入 6.典型调查是(B )确定调查单位的 A、随机 B、主观 C、随意 D盲目 7.总体标准差未知时总体均值的假设检验要用到( A ): A、Z统计量 B、t统计量 C、统计量 D、X统计量 8. 把样本总体中全部单位数的集合称为(A ) A、样本 B、小总体 C、样本容量 D、总体容量 9.概率的取值范围是p(D ) A、大于1 B、大于-1 C、小于1 D、在0与1之间 10. 算术平均数的离差之和等于(A ) A、零 B、 1 C、-1 D、2 二、多项选择题(每小题2分,共10分。每题全部答对才给分,否则不计分) 1.数据的计量尺度包括( ABCD ): A、定类尺度 B、定序尺度 C、定距尺度 D、定比尺度 E、测量尺度 2.下列属于连续型变量的有( BE ): A、工人人数 B、商品销售额 C、商品库存额 D、商品库存量 E、总产值 3.测量变量离中趋势的指标有( ABE ) A、极差 B、平均差 C、几何平均数 D、众数 E、标准差 4.在工业企业的设备调查中( BDE ) A、工业企业是调查对象 B、工业企业的所有设备是调查对象 C、每台设备是 填报单位 D、每台设备是调查单位 E、每个工业企业是填报单位 5.下列平均数中,容易受数列中极端值影响的平均数有( ABC ) A、算术平均数 B、调和平均数 C、几何平均数 D、中位数 E、众数 三、判断题(在正确答案后写“对”,在错误答案后写“错”。每小题1分,共10分) 1、“性别”是品质标志。(对) 2、方差是离差平方和与相应的自由度之比。(错) 3、标准差系数是标准差与均值之比。(对) 4、算术平均数的离差平方和是一个最大值。(错) 5、区间估计就是直接用样本统计量代表总体参数。(错) 6、在假设检验中,方差已知的正态总体均值的检验要计算Z统计量。(错)

(完整版)数据结构---C语言描述-(耿国华)-课后习题答案

第一章习题答案 2、××√ 3、(1)包含改变量定义的最小范围 (2)数据抽象、信息隐蔽 (3)数据对象、对象间的关系、一组处理数据的操作 (4)指针类型 (5)集合结构、线性结构、树形结构、图状结构 (6)顺序存储、非顺序存储 (7)一对一、一对多、多对多 (8)一系列的操作 (9)有限性、输入、可行性 4、(1)A(2)C(3)C 5、语句频度为1+(1+2)+(1+2+3)+…+(1+2+3+…+n) 第二章习题答案 1、(1)一半,插入、删除的位置 (2)顺序和链式,显示,隐式 (3)一定,不一定 (4)头指针,头结点的指针域,其前驱的指针域 2、(1)A(2)A:E、A B:H、L、I、E、A C:F、M D:L、J、A、G或J、A、G (3)D(4)D(5)C(6)A、C 3、头指针:指向整个链表首地址的指针,标示着整个单链表的开始。 头结点:为了操作方便,可以在单链表的第一个结点之前附设一个结点,该结点的数据域可以存储一些关于线性表长度的附加信息,也可以什么都不存。 首元素结点:线性表中的第一个结点成为首元素结点。 4、算法如下: int Linser(SeqList *L,int X) { int i=0,k; if(L->last>=MAXSIZE-1) { printf(“表已满无法插入”); return(0); } while(i<=L->last&&L->elem[i]last;k>=I;k--) L->elem[k+1]=L->elem[k]; L->elem[i]=X;

L->last++; return(1); } 5、算法如下: #define OK 1 #define ERROR 0 Int LDel(Seqlist *L,int i,int k) { int j; if(i<1||(i+k)>(L->last+2)) { printf(“输入的i,k值不合法”); return ERROR; } if((i+k)==(L->last+2)) { L->last=i-2; ruturn OK; } else {for(j=i+k-1;j<=L->last;j++) elem[j-k]=elem[j]; L->last=L->last-k; return OK; } } 6、算法如下: #define OK 1 #define ERROR 0 Int Delet(LInkList L,int mink,int maxk) { Node *p,*q; p=L; while(p->next!=NULL) p=p->next; if(minknext->data>=mink)||(p->data<=maxk)) { printf(“参数不合法”); return ERROR; } else { p=L; while(p->next-data<=mink)

(完整版)社会统计学简答题与计算题复习资料

社会统计学复习材料 简答题 1、统计数据的质量要求: 1、精度:最低的抽样误差或随机误差; 2、准确性:最小的非抽样误差或偏差; 3、关联性:满足用户决策、管理和研究的需要; 4、及时性:在最短的时间里取得并公布数据; 5、一致性:保持时间序列的可比性; 6、最低成本:以最经济的方式取得数据。 2、抽样误差及其影响因素: 1、由于抽样的随机性所带来的误差; 2、所有样本可能的结果与总体真值之间的平均性差异; 3、影响抽样误差的大小的因素:样本量的大小,总体的变异性。 3、判断计量优劣的评判标准: 用样本的估计量直接作为总体参数的估计值, 无偏性:估计量抽样分布的数学期望等于被估计的总体参数; 有效性:对同一总体参数的两个无偏点估计量,有更小标准差的估计量更有效;一致性:随着样本容量的增大,估计量的值越来越接近被估计的总体参数。4、假设检验的一般步骤: (1)陈述原假设和备择假设; (2)从所研究的总体中抽出一个随机样本; (3)确定一个适当的检验统计量,并利用样本数据算出其具体数值;

(4)确定一个适当的显著性水平,并计算出其临界值,指定拒绝域; (5)将统计量的值与临界值进行比较,作出决策; (6)统计量的值落在拒绝域,拒绝H0,否则不拒绝H0。 5、假设检验中的两类错误及其之间的关系 错误: 1、第Ⅰ类错误(弃真错误)原假设为真时拒绝原假设,第Ⅰ类错误的概率记为a ,即显著性 水平; 2、第Ⅱ类错误(取伪错误)原假设为假时未拒绝原假设,第Ⅱ类错误的概率记为b 。 a 和 b 的关系就像翘翘板,a 小b 就大,a 大b 就小。因此,在样本容量n 固定情况下, 不能同时减少两类错误!一般采用增加样本容量的办法来解决。 关系:当显著性水平a 减小时,由于拒绝域的减小,弃真的错误会减小,但由此而来的是 接受域增大了,因此纳伪的概率b 要增大。反之亦然(P235)。也就是说如果要减小b ,就 增大显著性水平a 。 6、置信区间与置信度的关系表达式: ()αεθθεθ -=+≤≤-1??P []εθεθ+-?,?称作置信区间。α-1称作置信度,可信度,或置信水平。α称置信水平。在样本容量一定的情况下,置信区间和置信度是相互制约的。置 信度愈大,则相应的置信区间也域宽。当把区间估计得小一些,估计的精确程度提高了,但换取的代价将是估错的可能性增加了,也就是可靠性或置信度 α-1下降了。(P201) 7、正态分布曲线的特征: (1)一个高峰:曲线是单峰,有一个最高点。 (2)一个对称轴。曲线的高峰处有一个对称轴,在轴的左右两边是对称的。

社会统计学复习题有答案

社会统计学复习题有答 案 集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

社会统计学课程期末复习题 一、填空题(计算结果一般保留两位小数) 1、第五次人口普查南京市和上海市的人口总数之比为 比较 相对指标;某企业男女职工人数之比为 比例 相对指标;某产品的废品率为 结构 相对指标;某地区福利机构网点密度为 强度 相对指标。 2、各变量值与其算术平均数离差之和为 零 ;各变量值与其算术平均数离差的平方和为 最小值 。 3、在回归分析中,各实际观测值y 与估计值y ?的离差平方和称为 剩余 变差。 4、平均增长速度= 平均发展速度 —1(或100%)。 5、 正J 形 反J 形 曲线的特征是变量值分布的次数随变量值的增大而逐步增多; 曲线的特征是变量值分布的次数随变量值的增大而逐步减少。 6、调查宝钢、鞍钢等几家主要钢铁企业来了解我国钢铁生产的基本情况,这种调查方式属于 重点 调查。 7、要了解某市大学多媒体教学设备情况,则总体是 该市大学中的全部多媒体教学设备 ;总体单位是 该市大学中的每一套多媒体教学设备; 。 8、若某厂计划规定A 产品单位成本较上年降低6%,实际降低了7%,则A 产品单位成本计划超额完成程度为 100%7% A 100% 1.06%100%6% -=- =-产品单位成本计划超额完成程度 ;若某厂计划规定B 产品产量较上年增长5%,实际增长了10%,则B 产品产量计划超额完成程度为 100%10% 100% 4.76%100%5% += -=+B 产品产量计划超额完成程度 。

9、按照标志表现划分,学生的民族、性别、籍贯属于品质标志;学生的体重、年龄、成绩属于数量标志。 10、从内容上看,统计表由主词和宾词两个部分组成;从格式上看,统计表由 总标题、横行标题、纵栏标题和指标数值(或统计数值); 四个部分组成。 11、从变量间的变化方向来看,企业广告费支出与销售额的相关关系,单位产品成本与单位产品原材料消耗量的相关关系属于正相关;而市场价格与消费者需求数量的相关关系,单位产品成本与产品产量的相关关系属于负相关。 12、按指标所反映的数量性质不同划分,国民生产总值属于数量指标;单位成本属于质量指标。 13、如果相关系数r=0,则表明两个变量之间不存在线性相关关系。 二、判断题 1、在季节变动分析中,若季节比率大于100%,说明现象处在淡季;若季节比率小于100%,说明现象处在旺季。(×;答案提示:在季节变动分析中,若季节比率大于100%,说明现象处在旺季;若季节比率小于100%,说明现象处在淡季。 ) 2、工业产值属于离散变量;设备数量属于连续变量。(×;答案提示:工业产值属于连续变量;设备数量属于离散变量) 3、中位数与众数不容易受到原始数据中极值的影响。(√;) 4、有意识地选择十个具有代表性的城市调查居民消费情况,这种调查方式属于典型调查。(√)

统计学计算题例题及计算分析报告

计算分析题解答参考 1.1.某厂三个车间一季度生产情况如下: 计算一季度三个车间产量平均计划完成百分比和平均单位产品成本。 解:平均计划完成百分比=实际产量/计划产量=733/(198/0.9+315/1.05+220/1.1) =101.81% 平均单位产量成本 X=∑xf/∑f=(15*198+10*315+8*220)/733 =10.75(元/件) 1.2.某企业产品的有关资料如下: 试分别计算该企业产品98年、99年的平均单位产品成本。 解:该企业98年平均单位产品成本 x=∑xf/∑f=(25*1500+28*1020+32*980)/3500 =27.83(元/件) 该企业99年平均单位产品成本x=∑xf /∑(m/x)=101060/(24500/25+28560/28+48000/32) =28.87(元/件) 年某月甲、乙两市场三种商品价格、销售量和销售额资料如下: 1.3.1999 解:三种商品在甲市场上的平均价格x=∑xf/∑f=(105*700+120*900+137*1100)/2700 =123.04(元/件) 三种商品在乙市场上的平均价格x=∑m/∑(m/x)=317900/(126000/105+96000/120+95900/137) =117.74(元/件) 2.1.某车间有甲、乙两个生产小组,甲组平均每个工人的日产量为22件,标准差为 3.5件;乙组工人日产量资料:

试比较甲、乙两生产小组中的哪个组的日产量更有代表性? 解:∵X 甲=22件 σ甲=3.5件 ∴V 甲=σ甲/ X 甲=3.5/22=15.91% 列表计算乙组的数据资料如下: ∵x 乙=∑xf/∑f=(11*10+14*20+17*30+20*40)/100 =17(件) σ 乙=√[∑(x-x)2 f]/∑f =√900/100 =3(件) ∴V 乙=σ乙/ x 乙=3/17=17.65% 由于V 甲<V 乙,故甲生产小组的日产量更有代表性。 2.2.有甲、乙两个品种的粮食作物,经播种实验后得知甲品种的平均产量为998斤,标准差为162.7斤;乙品种实验的资料如下: 试研究两个品种的平均亩产量,确定哪一个品种具有较大稳定性,更有推广价值? 解:∵x 甲=998斤 σ甲=162.7斤 ∴V 甲=σ甲/ x 甲=162.7/998=16.30% 列表计算乙品种的数据资料如下:

社会统计学习题和答案--相关与回归分析

第十二章 相关与回归分析 第一节 变量之间的相关关系 相关程度与方向·因果关系与对称关系 第二节 定类变量的相关 双变量交互分类(列联表)·削减误差比例(PRE)·λ系数与τ系数 第三节 定序变量的相关分析 同序对、异序对与同分对·Gamma 系数·肯德尔等级相关系数(τa 系数、τb 与τc 系数)·萨默斯系数(d 系数)·斯皮尔曼等级相关(ρ相关)·肯德尔与谐系数 第四节 定距变量的相关分析 相关表与相关图·积差系数的导出与计算·积差系数的性质 第五节 回归分析 线性回归·积差系数的PRE 性质·相关指数R 第六节 曲线相关与回归 可线性化的非线性函数·实例分析(二次曲线指数曲线) 一、填空 1.对于表现为因果关系的相关关系来说,自变量一般都就是确定性变量,依变量则一般就是( 随机性 )变量。 2.变量间的相关程度,可以用不知Y 与X 有关系时预测Y 的全部误差E 1,减去知道Y 与X 有关系时预测Y 的联系误差E 2,再将其化为比例来度量,这就就是( 削减误差比例 )。 3.依据数理统计原理,在样本容量较大的情况下,可以作出以下两个假定:(1)实际观察值Y 围绕每个估计值c Y 就是服从( );(2)分布中围绕每个可能的c Y 值的( )就是相同的。 4.在数量上表现为现象依存关系的两个变量,通常称为自变量与因变量。自变量就是作为( 变化根据 )的变量,因变量就是随( 自变量 )的变化而发生相应变化的变量。 5.根据资料,分析现象之间就是否存在相关关系,其表现形式或类型如何,并对具有相关关系的现象之间数量变化的议案关系进行测定,即建立一个相关的数学表达式,称为( 回归方程 ),并据以进行估计与预测。这种分析方法,通常又称为( 回归分析 )。 6.积差系数r 就是( 协方差 )与X 与Y 的标准差的乘积之比。 二、单项选择 1.当x 按一定数额增加时,y 也近似地按一定数额随之增加,那么可以说x 与y 之间 存在( A )关系。 A 直线正相关 B 直线负相关 C 曲线正相关 D 曲线负相关 2.评价直线相关关系的密切程度,当r 在0、5~0、8之间时,表示( C )。 A 无相关 B 低度相关 C 中等相关 D 高度相关 3.相关分析与回归分析相辅相成,又各有特点,下面正确的描述有( D )。 A 在相关分析中,相关的两变量都不就是随机的;

应用统计学试题及答案

北京工业大学经济与管理学院2007-2008年度 第一学期期末应用统计学 主考教师 专业:学号:姓名:成绩: 1 C 2 B 3 A 4 C 5 B 6 B 7 A 8 A 9 C 10 C 一.单选题(每题2分,共20分) 1.在对工业企业的生产设备进行普查时,调查对象是 A 所有工业企业 B 每一个工业企业 C 工业企业的所有生产设备 D 工业企业的每台生产设 备 2.一组数据的均值为20, 离散系数为, 则该组数据的标准差为 A 50 B 8 C D 4 3.某连续变量数列,其末组为“500以上”。又知其邻组的组中值为480,则末组的组中值为

A 520 B 510 C 530 D 540 4. 已知一个数列的各环比增长速度依次为5%、7%、9%,则最后一期的定基增长速度为 A .5%×7%×9% B. 105%×107%×109% C .(105%×107%×109%)-1 D. 1%109%107%1053- 5.某地区今年同去年相比,用同样多的人民币可多购买5%的商品,则物价增(减)变化的百分比为 A. –5% B. –% C. –% D. % 6.对不同年份的产品成本配合的直线方程为x y 75.1280? -=, 回归系数b= -表示 A. 时间每增加一个单位,产品成本平均增加个单位 B. 时间每增加一个单位,产品成本平均下降个单位 C. 产品成本每变动一个单位,平均需要年时间 D. 时间每减少一个单位,产品成本平均下降个单位 7.某乡播种早稻5000亩,其中20%使用改良品种,亩产为600 公

斤,其余亩产为500 公斤,则该乡全部早稻亩产为 A. 520公斤 B. 530公斤 C. 540公斤 D. 550公斤 8.甲乙两个车间工人日加工零件数的均值和标准差如下: 甲车间:x=70件,σ=件乙车间: x=90件, σ=件哪个车间日加工零件的离散程度较大: A甲车间 B. 乙车间 C.两个车间相同 D. 无法作比较 9. 根据各年的环比增长速度计算年平均增长速度的方法是 A 用各年的环比增长速度连乘然后开方 B 用各年的环比增长速度连加然后除以年数 C 先计算年平均发展速度然后减“1” D 以上三种方法都是错误的 10. 如果相关系数r=0,则表明两个变量之间 A. 相关程度很低 B.不存在任何

《数据结构(C语言-耿国华版)》复习大纲

第一章绪论 1.数据:人们利用文字符号、数字符号及其他规定的符号对现实世界的事物及其活动的描述。凡是能被计算机输入、存储、处理和输出的一切信息都叫数据。 2.数据元素:数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 数据元素的组成:一个数据元素通常由一个或若干数据项组成。 数据项:指具有独立含义的最小标识单位。 3.数据对象:性质相同的数据元素的集合,是数据的一个子集。 4.数据结构:研究的是数据的逻辑结构和物理结构,以及它们之间的相互关系和所定义的算法在计算机上运行的学科。 5.算法:是对待定问题求解步骤的一种描述,是指令的有限序列。算法应满足以下性质: 1)输入性:具有零个或若干个输入量; 2)输出性:至少产生一个输出; 3)有穷性:每条指令的执行次数是有限的; 4)确定性:每条指令的含义明确,无二义性; 5)可行性:每条指令都应在有限的时间内完成。 6.评价算法优劣的主要指标: 1)执行算法后,计算机运行所消耗的时间,即所需的机器时间; 2)执行算法时,计算机所占存储量的大小,即所需的存储空间; 3)所设计的算法是否易读、易懂,是否容易转换成其他可运行的程序语言。 7.会估算某一算法的总执行时间和时间复杂度。 8.熟悉习题P32:3(5)-(9)、4(2)(3) 第二章线性表 1.线性表(P7):是性质相同的一组数据元素序列。 线性表的特性: 1)数据元素在线性表中是连续的,表中数据元素的个数可以增加或减少,但调整后数据元素仍必须是连续的,即线性表是一种线性结构。 2)数据元素在线性表中的位置仅取决于自己在表中的序号,并由该元素数据项中的关键字(key)加以标识。 3)线性表中所有数据元素的同一数据项,其属性是相同的,数据类型也是一致的。 线性表的主要运算有:插入、删除、查找、存取、长度、排序、复制、合并。 线性表的顺序存储结构及特点(就是把表中相邻的数据元素存放在内存邻接的存储单元,这种存储方法叫做顺序分配,又称顺序映像。其特点:逻辑上相邻的数据元素, 它们的物理次序也是相邻的。),存储地址的计算方式(Loc(a i )=Loc(a )+i*s)。 2.线性表的查找、插入和删除 熟悉线性表的查找算法(P38)、插入算法(P39)和删除算法(P40)。 3.理解线性表的顺序存储结构的优缺点。 4.熟悉线性链表的存储结构(P43) 线性链表(由若干结点链接而成的一种存储结构。)、结点(由存放数据元素值的部分—数据域和存放另一元素存储地址的部分—指针域或链域两部分信息组成的存储结构。)、单链表(线性链表)的概念。 5.熟悉线性链表的建立(P45-47)、查找(P47-48)、插入(P49-50)和删除(P50-51)的算法; 6.明了什么是循环链表(链表中最后一个结点指针域回指向链表的第一个结点,使得整个链表通过链指针成为一个环形,这种形式的链表称为循环链表。)? 7.明了双向链表的结构(链表中的每个结点有两个指针域,一个是向前链接的左指针(Lnext或prior),另一个是向后链接的右指针(Rnext或next),同时还有一个数据域(Data)。);了解双向链表的插入和删除的算法。 8.理解链表的优缺点(P48)。 9.熟悉习题P68:1、2 第三章限定性线性表----栈和队列 1.栈和队列 明确什么是栈及其特点(只允许在一端进行插入和删除的线性表。允许插入和删除

相关文档
相关文档 最新文档