文档库 最新最全的文档下载
当前位置:文档库 › 中南大学数据结构与算法第9章查找课后作业答案

中南大学数据结构与算法第9章查找课后作业答案

中南大学数据结构与算法第9章查找课后作业答案
中南大学数据结构与算法第9章查找课后作业答案

第9章查找习题练习答案

1.对含有n个互不相同元素的集合,同时找最大元和最小元至少需进行多少次比较?

答:

设变量max和min用于存放最大元和最小元(的位置),第一次取两个元素进行比较,大的放入max,小的放入min。从第2次开始,每次取一个元素先和max比较,如果大于max 则以它替换max,并结束本次比较;若小于max则再与min相比较,在最好的情况下,一路比较下去都不用和min相比较,所以这种情况下,至少要进行n-1次比较就能找到最大元和最小元。

2.若对具有n个元素的有序的顺序表和无序的顺序表分别进行顺序查找,试在下述两种情况下分别讨论两者在等概率时的平均查找长度:

(1)查找不成功,即表中无关键字等于给定值K的记录;

(2)查找成功,即表中有关键字等于给定值K的记录。

答:

查找不成功时,需进行n+1次比较才能确定查找失败。因此平均查找长度为n+1,这时有序表和无序表是一样的。

查找成功时,平均查找长度为(n+1)/2,有序表和无序表也是一样的。因为顺序查找与表的初始序列状态无关。

3.画出对长度为18的有序的顺序表进行二分查找的判定树,并指出在等概率时查找成功的平均查找长度,以及查找失败时所需的最多的关键字比较次数。

答:

等概率情况下,查找成功的平均查找长度为:

ASL=(1+2*2+3*4+4*8+5*3)/18=3.556

查找失败时,最多的关键字比较次树不超过判定树的深度,此处为5.

4.为什么有序的单链表不能进行折半查找?

答:

因为链表无法进行随机访问,如果要访问链表的中间结点,就必须先从头结点开始进行依次访问,这就要浪费很多时间,还不如进行顺序查找,而且,用链存储结构将无法判定二分的过程是否结束,因此无法用链表实现二分查找。

5.设有序表为(a,b,c,e,f,g,i,j,k,p,q),请分别画出对给定值b,g和n进行折半查找的过程。

解:

(1)查找b的过程如下(其中方括号表示当前查找区间,圆括号表示当前比较的关键字)

下标: 1 2 3 4 5 6 7 8 9 10 11 12 13

第一次比较:[a b c d e f (g) h i j k p q]

第二次比较:[a b (c) d e f] g h i j k p q

第三次比较:[a (b)]c d e f g h i j k p q

经过三次比较,查找成功。

(2)g的查找过程如下:

[a b c d e f (g) h i j k p q]

一次比较成功。

(3)n的查找过程如下:

下标: 1 2 3 4 5 6 7 8 9 10 11 12 13

第一次比较:[a b c d e f (g) h i j k p q]

第二次比较: a b c d e f g [h i (j) k p q]

第三次比较: a b c d e f g h i j [k (p) q]

第四次比较: a b c d e f g h i j [k] p q]

经过四次比较,查找失败。

6.将(for, case, while, class, protected, virtual, public, private, do, template, const ,if, int)中的关键字依次插入初态为空的二叉排序树中,请画出所得到的树T。然后画出删去for之后的二叉排序树T',若再将for 插入T'中得到的二叉排序树T''是否与T相同?最后给出T"的先序、中序和后序序列。

答:

二叉排序树T如下图:

删去for后的二叉排序树如下图:

再插入结点for后的二叉排序树T":

二叉排序树T"与T不同

T"的先序序列是:do case class const while protected private if for int virtual public template

T"的中序序列是:case class const do for if int private protected public template virtual while

T"的后序序列是:const class case for int if private template public virtual protected while do

7.对给定的关键字集合,以不同的次序插入初始为空的树中,是否有可能得到同一棵二叉排序树?答:

有可能。如有两个序列:3,1,2,4 和3,4,1,2,它们插入空树所得的二叉排序树是相同的。

8.将二叉排序树T的先序序列中的关键字依次插入一空树中,所得和二叉排序树T'与T否相同?为什么?答:

这两棵二叉树完全相同。

9.设二叉排序树中关键字由1至1000的整数构成,现要查找关键字为363的结点,下述关键字序列哪一个不可能是在二叉排序树上查找到的序列?

(a) 2,252,401,398,330, 344,397,363;

(b) 924, 220, 911, 244, 898, 258, 362, 363;

(c) 925, 202, 911, 240, 912, 245, 363;

(d) 2, 399, 387, 219, 266, 382, 381, 278, 363.

答:

(c)是不可能查找到的序列。把这四个序列各插入到一个初始为空的二叉排序树中,结果可以发现,(c)序列所形成的不是一条路径,而是有分支的,可见它是不可能在查找过程中访问到的序列。

10.设二叉排序树中关键字互不相同,则其中最小元必无左孩子,最大元必无右孩子。此命题是否正确?最小元和最大元一定是叶子吗?一个新结点总是插在二叉排序树的某叶子上吗?

答:

此命题正确。假设最小元有左孩子,则根据二叉排序树性质,此左孩子应比最小元更小,如此一来就产生矛盾了,因此最小元不可能有左孩子,对于最大元也是这个道理。

但最大元和最小元不一定是叶子,它也可以是根、内部结点(分支结点)等,这得根据插入结点时的次序而定。

新结点总是作为叶子插入在二叉排序树中的。

11.在一棵m阶的B-树中,当将一关键字插入某结点而引起该结点的分裂时,此结点原有多少个关键字?若删去某结点中的一个关键字,而导致结点合并时,该结点中原有几个关键字?

答:

在一棵m阶的B-树中,若由于一关键字的插入某结点而引起该结点的分裂时,则该结点原有m-1个关键字。

若删去某结点中一个关键字而导致结点合并时,该结点中原有┌m/2┐-1个关键字。

12.在一棵B-树中,空指针数总是比关键字数多一个,此说法是否正确?请问包含8个关键字的3阶B-树(即2-3树)最多有几个结点?最少有几个结点?画出这两种情况的B-树。

答:

这个说法是正确的。包含8个关键字的3阶B-树最多有7个结点,最少有4个结点。

13.从空树开始,依次输入20,30,50,52,60,68,70,画出建立2-3树的过程。并画出删除50和68后的B-树状态。

答:过程如下:

(1) 插入20,30:

(2) 插入50:

(3) 插入52:

(4) 插入60:

(5) 插入68:

(6) 插入70:

(7)删去50:

(8) 删去68

14.画出依次插入z,v,o,p,w,y到图9.12(h)所示的5阶B-树的过程。

解:

(1)插入z后:

(2)插入v,o后

(3)插入 p,w,y后

16.为什么在内存中使用的B-树通常是3阶的,而不使用更高阶的B-树?

答:

因为查找等操作的cpu时间在B-树上是O(lgn·(m/lgt)),而m/lgt>1,所以m较大时它所费时间比平衡的二叉排序树上相应操作时间大得多,因此,仅在内存中使用的B-树通常取最小值3

17.为什么二叉排序树长高时,新结点总是一个叶子,而B-树长高时,新结点总是根?哪一种长高能保证树平衡?

答:

因为在二叉排序树中,关键字总是作为一个叶子结点插入以原来的树中,所以当树增高时,新结点总是一个叶子;而B-树中关键字插入总是插入到叶子结点内部,在叶结点中的关键字数目尚未超过它能够容纳的数目之前是不会增加结点的,当关键字数超过结点可容纳的数目时,叶结点就会发生分裂,产生一个新结点(但不一定引起树增高),并且将其中的中间结点传至上一层,只有当这种分裂操作传递至根结点并引起根结点的分裂时,才能引起树高增加,此时产生一个新的根结点。所以说B树长高时,新结点总是根。

显然,后一种长高总能保证树的平衡。

19.对于一组给定的、固定不变的关键字序列,有可能设计出无冲突的散列函数H,此时称H为完备的散列函数(perfect hashing function),若H能无冲突地将关键字完全填满散列表,则称H是最小完备(minimal perfect)的散列函数。通常找完备的散列函数非常困难,找最小完备的散列函数就更困难。请问:

(1)若h是已知关键字集合K的完备的散列函数,若要增加一个新的关键字到集合K,一般情况下H还是完备的吗?

(2)已知关键字集合为(81,129,301,38,434,216,412,487,234),散列函数为H(x)=(x+18)/63,请问H是完备的吗?它是最小完备的吗?

(3)考虑由字符串构成的关键字集合(Bret,Jane,Shirley,Bryce,Michelle,Heather),试为散列表[0..6]设计一个完备的散列函数。(提示:考虑每个字符串的第3个字符,即s[2])

答:

(1) 一般情况下H不是完备的,如果说插入一个新的关键字它还是完备的,那么再插入一个呢?它岂不是永远是完备的散列函数了? 所以一般情况下它不能总是完备的,只有一些很少的情况下它还可能是完备的。

(2)这个H是完备的,其函数值依次为:1,2,5,0,7,3,6,8,4。如果散列表长m=9时,它就是最小完备的。

(3) 这个函数如下:

int Hash (char key[])

{ return key[2]%7;}

20.设散列函数为h(key)=key%101,解决冲突的方法为线性探查,表中用"-1"表示空单元。若删去散列表HT中的304(即令HT[1]=-1)之后,在表HT中查找707将会发生什么?若将删去的表项标记为"-2",查找时探查到-2继续向前搜索,探查到-1时终止搜索。请问用这种方法删304后能否正确地查找到707?

012 3 100

┌──┬──┬──┬──┬───────────┬─┐

HT│202 │304 │507 │707 │...... ││

└──┴──┴──┴──┴───────────┴─┘

答:

查找707时,首先根据散列函数计算得出该元素应在散列表中的0单元,但是在0单元没有找到,因此将向下一单元探查,结果发现该单元是-1(为空单元),所以结束查找,这将

导致707无法找到。

如果改用"-2"作为删除标记,则可以正确找到707所在的结点。

21.设散列表长度为11,散列函数h(x)=x%11,给定的关键字序列为:1,13,13,34,38,33,27,22.试画出分别用拉链法和线性探查法解决冲突时所构造的散列表,并求出在等概率情况下,这两种方法查找成功和失败时的平均查找长度。请问装填因子的值是什么?

答:

(1)拉链法如下图:

T[0..10]

┌──┐

0││→ 33 → 22 →∧

├──┤

1││→ 1 → 12 →34→ ∧

├──┤

2││→ 13 →∧

├──┤

3│ ∧│

├──┤

4│ ∧│

├──┤

5││→ 38 → 27 →∧

├──┤

6│ ∧│

├──┤

7│ ∧│

├──┤

8│ ∧│

├──┤

9│ ∧│

├──┤

10│ ∧│

└──┘

(2)线性探查法如下图:

下标0 1 2 3 4 5 6 7 8 9 10

┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐

T[0..10]│33│1 │13│12│34│38│27│22││││

└─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘

探查次数 1 1 1 3 4 1 7 8

用拉链法的查找成功平均查找长度为:

ASLsucc=(1*4+2*3+3*1)/8=1.625

查找失败时平均查找长度为:

ASLunsucc=(2+3+1+0+0+0+2+0+0+0+0)/11=0.73

用线性探查法查找成功时平均查找长度为:

ASLsucc=(1+1+1+3+4+1+7+8)/8=3.25

查找失败时平均查找长度为:

ASLunsucc=(9+8+7+6+5+4+3+2+1+1+1)/11=4.3

装填因子α拉链=4/11=0.36 α线性探查=8/11=0.73

22.假定有k个关键字互为同义词,若用线性探查法把这些同义词存入散列表中,至少要进行多少次探查?答:

至少要进行1+2+3...+k-1+k次探查。

也就是说,在散列表的一连串连续空间内,第一个关键字只需探查一次,第二个就要探查2次,如此这般,第k个关键字就要探查k次才能找到位置存放。所以至少要把它们全加起来才够。

23.为什么说当装填因子非常接近1时,线性探查类似于顺序查找?为什么说当装填因子比较小(比如α=0.7左右)时,散列查找的平均查找时间为O(1)?

答:

当α非常接近1时,整个散列表几乎被装满。由于线性探查法在关键字同义时解决冲突的办法是线性地向后查找,当整个表几乎装满时,它就很类似于顺序查找了。

当α比较小时,关键字碰撞的几率比较小,一般情况下只要按照散列函数计算出的结果能够1次性就找到相应结点,因此它的平均查找时间接近于1.

24.设顺序表中关键字是递增有序的,试写一顺序查找算法,将哨兵设在表的高下标端。然后求出等概率情况下查找成功与失败时的ASL.

答:

typedef struct{

KeyType key;

InfoType otherinfo;//此类型依赖于应用

}NodeType;

typedef NodeType SeqList[n+1];//n号单元用作哨兵

int SeqSearch(Seqlist R,KeyType K)

{ //在关键字递增有序的顺序表R[0..n-1]中顺序查找关键字为K的结点,

//成功时返回找到的结点位置,失败时返回-1

int i;

R[n].key=K;//设置哨兵

for(i=0;R[i].key<=K;i--);//从表前往后找

if (i

else return -1

} //SeqSearch

等概率情况下查找成功ASL=(1+2+3+…+n)/n

等概率情况下查找失败时的ASL=(1+2+3+…+n+n+1)/(n+1)

25试写出二分查找的递归算法。

解:

int BinSearch(SeqList R,KeyType K,int low,int high)

{ //在有序表R[low..high]中进行二分查找,成功时返回结点的位置,失败时返回零int mid;//置当前查找区间上、下界的初值

if (low<=high){ //当前查找区间R[low..high]非空

mid=(low+high)/2;

if(R[mid].key==K) return mid;//查找成功返回

if(R[mid].kdy>K)

return BinSearch( R,K,low,mid-1)//在R[low..mid-1]中查找

else

return BinSearch( R,K,mid+1,high);//在R[mid+1..high]中查找

}

return 0;//当low>high时表示查找区间为空,查找失败

} //BinSeareh

26试写一算法判别给定的二叉树是否为二叉排序树,设此二叉树以二叉链表为存储结构,且树中结点的关键字均不相同。

解:

由二叉排序树的定义可得:二叉排序树中左子树的所有结点的值都小于根结点的值,所有右子树中结点的值都大于根结点的值。那么只要对待判定的二叉树中的结点按层遍历并判断即可。在该算法中要用到队列保存已遍历的结点指针。

typedef BinTNode *DataType;//循环队列中元素为二叉树结点指针

int BinSortStree(BinTree T)

{

CirQueue Q;

BinTNode *p;

if (!T) return 1;//空树为二叉排序树

InitQueue(&Q);

EnQueue(&Q,T);

while(!QueueEmpty(&Q))

{

p=DeQueue(&Q);

if (p->lchild)

if (p->datalchild->data) return -1;//不是二叉排序树

else EnQueue(&Q,p->lchild);

if (p->rchild)

if (p->data>p->rchild->data) return -1;//不是二叉排序树

else EnQueue(&Q,p->rchild);

}

return 1;//是二叉排序树

}

27.试写一递归算法,从大到小输出二叉排序树中所有其值不小于x的关键字。要求算法的时间为O(lgn+m),n为树中结点数,m为输出关键字个数(提示:先遍历右子树,后遍历左子树)。

答:

typedef int KeyType;//假定关键字类型为整数

typedef struct node { //结点类型

KeyType key;//关键字项

InfoType otherinfo;//其它数据域,InfoType视应用情况而定,下面不处理它

struct node *lchild,*rchild;//左右孩子指针

} BSTNode;

typedef BSTNode *BSTree;

void OUTPUTNODE(BSTree T,KeyType x)

{//从大到小输出二叉排序树中所有其值不小于x的关键字

if (T)

{

OUTPUTNODE( T->rchild,x);

if (T->key>=x) printf("%d",T->key);

OUTPUTNODE( T->Lchild,x);

}

}

28.写一个遍历B-树的算法,使输出的关键字序列递增有序。算法中的读盘操作可假定为DiskRead。答:

#define Max l000 //结点中关键字的最大数目:Max=m-1,m是B-树的阶

#define Min 500 //非根结点中关键字的最小数目:Min=「m/2(-1

typedef int KeyType;//KeyType应由用户定义

typedef struct node{ //结点定义中省略了指向关键字代表的记录的指针

int keynum;//结点中当前拥有的关键字的个数,keynum<=Max

KeyType key[Max+1];//关键字向量为key[1..keynum],key[0]不用。

struct node *parent;//指向双亲结点

struct node *son[Max+1];//孩子指针向量为son[0..keynum]

}BTreeNode;

typedef BTreeNode *BTree;

void travelBtree(BTree T){

//按关键字递增序输出B-树序列

int i;

if (T){

for(i=0;i<=T->keynum;i++)//T->keynum个关键字的结点有T->keynum+1棵子树{

if (T->son[i]){

DiskRead(T->son[i]);//读入根结点的第i棵子树

travelBtree(T->son[i]);//遍历第i棵子树

}

if (ikeynmu)//若刚遍历的子树不是最后一棵子树

printf("%d",T->key[i+1];

}

}

29若采用除余法作为散列函数,线性探查解决冲突,则9.4.4节中通用的散列表查找算法可改写为对线性探查专用的查找算法:

int HashSearch(HashTable T,KeyType K,int *pos){

int i=0;//记录探查次数

*pos=K%m; //散列函数值作为第一个散列地址

while(i++

{

if(T[*pos].key==K) return 1;//查找成功返回

if(T[*pos].key==NIL) return 0;//查找失败返回

*pos=(*pos+1)%m;//用线性探查法求下一个探查地址

}

return -1;//查找失败,且表满

}//HashSearch

假设散列表上的删除操作已将结点的关键字标记为DELETED(例如,不妨设DELETED为-2)。请修改上述散列表上的查找算法及插入算法HashInsert,使之能正确地查找和插入。

解:

(1)查找算法

#define DELETED -2

#define NIL -1 //空结点标记依赖于关键字类型,本节假定关键字均为非负整数

#define M 997 //表长度依赖于应用,但一般应根据。确定m为一素数

typedef struct{ //散列表结点类型

KeyType key;

InfoType otherinfo;//此类依赖于应用

}NodeType;

typedef NodeType HashTable[m];//散列表类型

int HashSearch(HashTable T,KeyType K,int *pos){

int i=0;//记录探查次数

*pos=K%m; //散列函数值作为第一个散列地址

while(i++

{

if(T[*pos].key==K) return 1;//查找成功返回

if(T[*pos].key==NIL) return 0;//查找失败返回

*pos=(*pos+1)%m;//用线性探查法求下一个探查地址

}

return -1;//查找失败,且表满

}//HashSearch

(2)插入算法HashInsert

int HashInsert(HashTable T,KeyType K){

//返回1,表示表中已有k,返回0表示正常插入,返回-1表示插入失败int i=0;//记录探查次数

int j=-1;//记录DELETED的位置

int pos=K%m; //散列函数值作为第一个散列地址

while(i++

{

if(T[pos].key==K) return 1;//查找成功返回

if(T[pos].key==NIL)

{if (j==-1) T[pos].key=K;//查找失败,插入

else T[j].key=K;//插入到被删除元素留出的位置

return 0;

}//正常插入

if(T[pos].key==DELETED)

if (j==-1) j=pos;

pos=(pos+1)%m;//用线性探查法求下一个探查地址

}

return -1;//查找失败,且表满

}

30用拉链法解决冲突,有关的类型说明和插入算法如下,请据此写出散列表的建表、查找及删除算法。typedef struct node{

KeyType key;//关键字

InfoType Otherinfo;//以下不处理此域

struct node *next;//链域

}CNodeType;

typedef CNodeType *CHashTable[m];//散列表类型是一个指针数组

void ChainHashInsert(CHashTable T,KeyType K){

//将关键字K插入表T中,设散列函数为h(K)=K%m

CNodeType *p;

int addr;

p=ChainHashSearch(T,K);//在T中查找有无关键字为K的结点

if (p) printf("duplicate key!");//关键字已存在

else {//申请一个新结点,将其关键字置为K,并插入相应链表的头上

addr=K%m;//求散列函数值作为散列地址

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

p->key=K;p->next=T[addr];T[addr]=p;//将*p插入链表T[addr]的头部

}//endif

}//ChainHashInsert

解:

(1)建表

void ChainHashCreat(CHashTable T){

//设散列函数为h(K)=K%m,建立以拉链法为解决冲突方法的散列表

CNodeType *p;

int addr;

int i;

KeyType K;

for(i=0;i

T[i]=NULL;

scanf("%d",&K);

while (K)//设输入的数据以0结束

{

p=ChainHashSearch(T,K);//在T中查找有无关键字为K的结点

if (p) printf("duplicate key!");//关键字已存在

else {//申请一个新结点,将其关键字置为K,并插入相应链表的头上

addr=K%m;//求散列函数值作为散列地址

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

p->key=K;p->next=T[addr];T[addr]=p;//将*p插入链表T[addr]的头部}//endif

scanf("%d",&K);

}//endwhile

}//ChainHashCreat

(2)查找

CNodeType ChainHashSearch(CHashTable T,KeyType K)

{//查找关键字值为K的结点,若有返回该结点指针,否则返回NULL CNodeType *p;

int addr;

addr=K%m;//求散列函数值

p=T[addr];

while (p)&&(p->key!=K)

p=p->next;

return p;

}

(3)删除

CNodeType ChainHashDelete(CHashTable T,KeyType K)

{//删除关键字值为K的结点,若有返回该结点指针,否则返回NULL

CNodeType *p,*q;

int addr;

addr=K%m;//求散列函数值

p=T[addr];

if (p)&&(p->key==K) T[addr]=p->next;//要删的是T[addr]表的第一个结点

while (p->next)&&(p->next->key!=K)

p=p->next;

if (p->next)

{q=p;p=p->next;q->next=p->next;//删除p}

return p;

}

中南大学结构力学试卷及答案

中南大学《结构力学》下试题 一选择题(每小题4分,共24分) 1 图示结构中,不能直接用力矩分配法计算的结构是() A. C. B. D. EI= 2 根据影响线,使跨中截面K产生最大弯矩的均布活荷载最不利分布是( ) (A) K K (B) (C) K K (D) 3 不考虑轴向变形,图示结构用先处理法建立的结构刚度矩阵阶数是( ) (A) 3×3 (B) 4×4 (C) 5×5 (D) 6×6 (E) 7×7 (F) 8×8 题一.3图题一.4图 4 不计杆件质量和轴向变形,图示体系的振动自由度数为( ) (A) 1 (B) 2 (C) 3 (D) 4 5 设ω为结构自振频率,θ为动力荷载频率,关于动力系数β的下列论述中正 确的是( ) (A)ω越大、β也越大(B)θ越大、β也越大(C)θ/ω越接近1、β越大

6 图示三单跨梁的自振频率分别为ωa ,ωb ,ωc , 它们之间的关系是( ) (a) (b) (c) (A)c b a ωωω>> (B) b c a ωωω>> (C) b a c ωωω>> (D) c a b ωωω>> 二 用力矩分配法计算图示连续梁,并作其M 图(25分) 三 简述根据定位向量、用直接刚度法形成结构整体刚度矩阵的规则和步骤(15分) 四 用矩阵位移法计算连续梁(计算至建立起结构刚度方程),忽略轴向变形(20 分) 20 kN/m 50kN 6m 2m 2m 2 E I EI A B x y M , θ 五 图示体系各柱柱高均为h ,EI=常数,3 18mh EI = θ,求最大动弯矩图(16分) m sin θP t o o m l/2 l/2 l/2 l/2 m m l/2 l/2 t F P θsin

中南大学网络教育数据结构

《数据结构》 学习中心: 专业: 学号: 姓名:

作业练习一 (第二章) 一、选择题 1、以下关于线性表的说法不正确的是( )。 A)线性表中的数据元素可以是数字、字符、记录等不同类型。 B)线性表中包含的数据元素个数不是任意的。 C)线性表中的每个结点都有且只有一个直接前趋和直接后继。 D)存在这样的线性表:表中各结点都没有直接前趋和直接后继。 2、线性表的顺序存储结构是一种( )的存储结构。 A)随机存取 B)顺序存取C)索引存取 D)散列存取 3、在顺序表中,只要知道( ),就可在相同时间内求出任一结点的存储地址。 A)基地址B)结点大小C)线性表大小D)基地址和结点大小 4、下面关于线性表的叙述中,错误的是哪一个?() A)线性表采用顺序存储,必须占用一片连续的存储单元。 B)线性表采用顺序存储,便于进行插入和删除操作。 C)线性表采用链接存储,不必占用一片连续的存储单元。 D)线性表采用链接存储,便于插入和删除操作。 5、线性表采用链表存储时其存储地址要求()。 A)必须是连续的;B)部分地址必须是连续的; C)必须是不连续的;D)连续和不连续都可以。 6、一个长度为n的顺序存储线性表中,向第i个元素(1≤i≤n+1)之前插入一个新元素时,需要从后向前依次后移( )个元素。 A)n-i B)n-i+1 C)n-i-1 D)i 7、( )运算中,使用顺序表比链表好。 A)插入B)删除C)根据序号查找 D)根据元素值查找 8、个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是( )。 A) O(1) B) O(n) C) O(n2) D) O(log2n) 9、在一个长度为n的顺序存储线性表中,删除第i个元素(1≤i≤n+1)时,需要从前向后依次前移( )个元素。 A)n-i B)n-i+1 C)n-i-1 D)i 10、在一个长度为n的线性表中顺序查找值为x的元素时,查找时的平均查找长度(即x 同元素的平均比较次数,假定查找每个元素的概率都相等)为( )。 A)n B)n/2 C)(n+1)/2 D)(n-1)/2 11、在一个带头结点单链表HL中,若要向表头插入一个由指针p指向的结点,则 执行( )。 A)HL = p; p->next = HL;B)p->next = HL; HL = p; C)p->next = HL; p = HL; D)p->next = HL->next; HL->next = p; 12、在一个单链表HL中,若要在指针q所指的结点的后面插入一个由指针p所指的结点,则执行( )。 A)q->next = p->next ; p->next = q; B)p->next = q->next; q = p;

中南大学人工智能考试试卷及答案

复无常,看不惯主管的假公济私,那么你要尝试学习如何与不同的人相处,提高自己化 中南大学考试试卷 2006年第2学期,考试时间110分钟 人工智能课程 48学时,3学分,考试形式:开卷 专业年级:计算机03级总分100分,占总评成绩70 % 注:此页不作答题纸,请将答案写在答题纸上 一、选择题(共20分,每题2分) 1、消解原理是一种用于 A、表达式变换的推理规则 B、变量运算的推理规则 C、一定的子句公式的推理规则 D 、规则演绎的推理规则 2、下列哪个系统属于新型专家系统? A、多媒体专家系统 B、实时专家系统 C、军事专家系统 D、分布式专家系统 3、示例学习属于下列哪种学习方法? A. 解释学习 B. 归纳学习 C. 类比学习 D. 机械学习 4、不属于神经网络常用学习算法的是: A. 有师学习 B. 增强学习 C. 观察与发现学习 D. 无师学习 5、人工智能应用研究的两个最重要最广泛领域为: A. 专家系统、自动规划 B. 专家系统、机器学习 C. 机器学习、智能控制 D. 机器学习、自然语言理解 6、下列搜索方法中不属于盲目搜索的是: A. 等代价搜索 B. 宽度优先搜索 C. 深度优先搜索 D. 有序搜索 7、被认为是人工智能“元年”的时间应为: A、1948年 B、1946年 C、1956年 D、1961年 8、被誉为国际“人工智能之父”的是: A、图灵(Turing) B、费根鲍姆(Feigenbaum) C、傅京孙(K.S.Fu) D、尼尔逊(Nilsson) 9、语义网络的组成部分为: A、框架和弧线 B、状态和算符 C、节点和链 D、槽和值 10、尽管人工智能学术界出现“百家争鸣”的局面,但是,当前国际人工智能的主流派仍属于:

中南大学模电试题(卷)与答案解析-成考类

中南大学 模拟电子技术试卷(第1套) 一、一、填空题(20分,每空1分) 1.双极型三极管是控制器件,当其工作在放大区时发射结需要加偏置,集电结需要加偏置。场效应管是控制器件。 2.在有源滤波器中,运算放大器工作在区;在滞回比较器中,运算放大器工作在区。 3.在三极管多级放大电路中,已知A u1=20,A u2=-10,A u3=1,则可知其接法分别为:A u1是放大器,A u2是放大器,A u3是放大器。 4.在双端输入、单端输出的差动放大电路中,发射极R e公共电阻对信号的放大作用无影响,对信号具有抑制作用。差动放大器的共模抑制比K CMR =。 5.设某一阶有源滤波电路的电压放大倍数为200 1 200 f j A + = & ,则此滤波器为滤波器,其通带放大倍数为,截止频率为。 6.如图所示的功率放大电路处于类工作状态;其静态损耗为;电路的最大输出功率为;每个晶体管的管耗为最大输出功率的 倍。 二、基本题:(每题5分,共25分) 1.如图所示电路中D为理想元件,已知u i = 5sinωt V ,试对应u i画出u o的波形图。

2.测得电路中NPN型硅管的各级电位如图所示。试分析管子的工作状态(截止、饱和、放大)。 3.已知BJT管子两个电极的电流如图所示。求另一电极的电流,说明管子的类型(NPN 或PNP)并在圆圈中画出管子。 4.如图所示电路中,反馈元件R7构成级间负反馈,其组态为; 其作用是使输入电阻、放大电路的通频带变。 三、如图所示电路中,β=100, Ω = ' 100 b b r,试计算:(15分) 1.放大电路的静态工作点;(6分)

中南大学数据结构实验报告(六)

实验六 1.需求分析 2.二分查找算法(设计性实验) 问题描述 从键盘读入一串整数和一个待查键,查找在该整数串中是否有这个待查键。如果有,就输出它在 整数串中的位置;如果没有,输出1。 基本要求 掌握二分查找算法。 测试数据 由读者依据软件工程的测试技术自己确定。注意测试边界数据,如单个结点。 实现提示 利用二分查找算法查找实现。 4.简单个人电话号码查询系统(综合性实验) 问题描述 人们在日常生活中经常要查找某个人或某个单位的电话号码,本实验将实现一个简单的个人电话 号码查询系统,根据用户输入的信息(如姓名等)进行快速查询。 基本要求 (1) 在外存上,用文件保存电话号码信息。 (2) 在内存中,设计数据结构存储电话号码信息。 (3) 提供查询功能:根据姓名实现快速查询。 (4) 提供其他维护功能,如插入、删除、修改等。 测试数据 由读者依据软件工程的测试技术自己确定。注意测试边界数据,如单个结点。 实现提示 由于要管理的电话号码信息较多,而且要在程序运行结束后仍然保存电话号码信息,所以电话号码 信息采用文件的形式存放到外存中。在系统运行时,要将电话号码信息从文件调入内存来进行查找等操作。为了接收文件中的内容,要有一个数据结构与之对应,可以设计如下结构类型的数组来接收数据。const int max=10; struct TeleNumber { String name;// 姓名 String phoneNumber,// 固定电话号码 String mobileNumber,// 移动电话号码 String email;// 电子邮箱 }Tele[max]; 为了实现对电话号码的快速查询,可以将上述结构数组排序,以便应用二分查找,但是,在数组 中实现插入和删除操作的代价较高。如果记录需频繁进行插入或删除操作,可以考虑采用二叉排序树组织电话号码信息,这样查找和维护都能获得较高的时间性能。更复杂地,需考虑该二叉排序树是否平衡,如何使之达到平衡。

中南大学计算机数据结构试题参考答案

中南大学考试试卷 2015--2016学年上学期期末考试试题时间100分钟 数据结构课程56学时3.5学分考试形式:闭卷 专业年级:计算机科学与技术10级总分100分,占总评成绩70% 姓名班级学号 (本试卷共四道大题,答案全部做在答题纸上!) 一、选择题(每题2分,共24分) 1.以下数据结构中,属于线性结构的是() A.图B.栈 C.二分查找树D.森林 2.用二分法查找表(a0,a1,a2,a3,……a16),需要比较2次才能找到的元素是() A.a7和a16 B.a11和a13 C.a1和a14 D.a3和a12 3.用概率查找改进查找效率,是经过多次查找以后使得() A.查找次数越少的元素查找速度越快 B.查找次数越少的元素越往前存放 C.查找次数越多的元素越往后存放 D.查找次数越多的元素查找速度越快 4.二分查找要求元素( ) A.有序、顺序存储 B.有序、链式存储 C.无序、顺序存储 D.无序、链式存储 5.已知pPre为指向链表中某结点的指针,pNew是指向新结点的指针,以下哪段伪码算 法是将一个新结点插入到链表中pPre所指向结点的后面?() A.pPre->link = pNew; pNew = null; B.pPre->link = pNew->link; pNew->link = null; C.pNew->link = pPre->link; pPre->link = pNew; D.pNew->link = pPre->link; pPre->link = null; 6.在递归算法执行过程中,计算机系统必定会用到的数据结构是() A.队列B.链表 C.栈D.二叉树 7.一个队列的入列序为ABCD,则队列的可能输出序列为() A.DCBA B.ABCD C.ADCB D.CBDA 8.具有10个叶子结点的二叉树中有()个度为2的结点 A.8B.9 C.10D.11 9.若A=10,B=4,C=6,D=4,E=15则后缀表达式“AB*CD+-E+”的值为( )。 A.45B.31

中南大学软件工程复习题及参考答案

中南大学复习题及参考答案 软件工程 一、选择题: 1.下面哪些UML图描述系统行为( A ) A.用例图 B.类图 C.对象图 2.属于概要设计活动的是( A ) A.软件结构设计 B.数据结构设计 C.算法设计 3.属行为型设计模式的是(C) A.组合模式 B.工厂方法模式 C.观察者模式 4.下列说法正确的是( B )是软件开发方法是系统描述语言是软件开发过程 5. 根据程序流程图划分的模块通常是( B ) A. 信息内聚的模块 B. 过程内聚的模块 C.逻辑内聚的模块 6.如果某程序中的比较个数是m,则其McCabe环形复杂度为( C ) +1 7.按ISO9000-3的说明,下列属软件配置项的是( C ) A.软件开发方法 B.软件开发组织管理制度 C.软件开发合同 8. 软件测试的目的是( C ) A.证明软件无错 B.发现软件中的所有错误 C.尽可能发现软件系统中的错误 9.软件重构关注的是( B ) A. 软件体系结构 B. 模块细节 C.软件性能 10.软件项目开发计划的内容有( B ) A. 数据分析 B.风险分析 C.功能分析 11.在UML的类图中,描述整体与部分关系的有( B ) A.泛化关系 B.聚合关系 C.依赖关系 12.软件过程能力成熟度模型CMM用以评价(A) A.软件过程能力 B.组织能力 C.学习能力 13. 因计算机硬件和软件环境的变化而作出的修改软件的过程称为( C ) A. 完善性维护 B. 改正性维护 C.适应性维护 14. 对项目软件而言,软件功能需求信息主要由谁提供( A ) A.软件用户 B.软件开发人员 C.软件项目管理人员 15. IDEF0图反映不出(C) A.系统做什么 B.系统功能由谁做 C.系统如何做 16. 原型模型是一种什么开发过程模型(B) A.自顶向上 B. 由外至内 C.增量式 17. 系统流程图描述(A) A.物理系统 B.逻辑系统 C.软件体系结构 18.需求规格说明书的内容不应该包括( C ) A.软件确认准则 B.软件的性能描述 C.算法过程的详细描述 19.适合需求模糊或需求不确定系统开发的软件开发模型有( C ) A. 瀑布模型 B. RAD模型 C.原型模型 图中描述系统结构的有( A ) A. 组件图 B. 顺序图 C.状态图 21.面向对象方法是一种什么软件开发方法( B ) A.层次化 B.迭代增量式 C.逐步求精 22.不可以用来衡量软件可维护性的有() A.可靠性 B.可用性 C.可行性 23. 系统分析员在需求分析最后负责编写()

模电模拟试卷及答案

模拟电子技术基础试卷及答案 一、填空(18分) 1.二极管最主要的特性是 单向导电性 。 3.差分放大电路中,若u I1=100μV ,u I 2 =80μV 则差模输入电压u Id = 20μV ;共模输入电压 u Ic =90 μV 。 4.在信号处理电路中,当有用信号频率低于10 Hz 时,可选用 低通 滤波器;有用信号频率高于10 kHz 时,可选用 高通 滤波器;希望抑制50 Hz 的交流电源干扰时,可选用 带阻 滤波器;有用信号频率为某一固定频率,可选用 带通 滤波器。 6.乙类功率放大电路中,功放晶体管静态电流I CQ 0 、静态时的电源功耗P DC = 0 。这类功放的能量转换效率在理想情况下,可达到 78.5% ,但这种功放有 交越 失真。 二、选择正确答案填空(20分) 1.在某放大电路中,测的三极管三个电极的静态电位分别为0 V ,-10 V ,-9.3 V ,则这只三极管是( A )。 A .NPN 型硅管 B.NPN 型锗管 C.PNP 型硅管 D.PNP 型锗管 2.某场效应管的转移特性如图所示,该管为( D )。 A .P 沟道增强型MOS 管 B 、P 沟道结型场效应管 C 、N 沟道增强型MOS 管 D 、N 沟道耗尽型MOS 管 3.通用型集成运放的输入级采用差动放大电路,这是因为它的( C )。 A .输入电阻高 B.输出电阻低 C.共模抑制比大 D.电压放大倍数大 6.RC 桥式正弦波振荡电路由两部分电路组成,即RC 串并联选频网络和( D )。 A. 基本共射放大电路 B.基本共集放大电路 C.反相比例运算电路 D.同相比例运算电路 7.已知某电路输入电压和输出电压的波形如图所示,该电路可能是( A )。 A.积分运算电路 B.微分运算电路 C.过零比较器 D.滞回比较器 8.与甲类功率放大方式相比,乙类互补对称功放的主要优点是( C )。 a .不用输出变压器 b .不用输出端大电容 c .效率高 d .无交越失真 9.稳压二极管稳压时,其工作在( C ),发光二极管发光时,其工作在( A )。 a .正向导通区 b .反向截止区 c .反向击穿区 三、放大电路如下图所示,已知:V CC 12V ,R S 10k Ω,R B1 120k Ω, R B2 39k Ω,R C 3.9k Ω , R E 2.1k Ω, R L 3.9k Ω , r bb’ Ω,电流放大系数β50,电路中电容容量足够 大,要求: 1.求静态值I BQ ,I CQ 和U CEQ (设U BEQ 0.6V ); 0 i D /mA -4 u GS /V 5 + u O _ u s R B R s +V CC V C + R C R i O t u I t u o 4题图 7题图 R L

中南大学结构力学在线作业一

结构力学_在线作业一 总共30题共100分 一. 单选题(共20题,共80分) 9abfbc21-be3e-single 1. 图示桁架结构中内力为零的杆件的数目(包括支座连杆)为()。 f1da2953-4a3e-single 2. 已知图a中A端转角,则图b中中梁的B端弯矩及A端转角为()。 (4分)A. B.

C. D. c089ab97-01fe-single 3. 图示桁架结构中杆1的轴力为()。 (4分) e5dd4767-7704-single 4. 图示结构杆1的轴力(以拉为正)为()。 (4分)

B. C. D. 6ea25cfc-3512-single 5. 图示梁受外力偶作用,其正确的弯矩图形状应为()。 (4分) 86a896b8-54b6-single 6. 图示桁架结点A处水平位移不等于零的有()。

2f588308-9b2b-single 7. 图示各体系中,几何不变且无多余约束的体系是()。 (4分) 20f2d1b2-d659-single 8. 图示结构中K截面的剪力为()。 (4分)

4d7190c6-1bd8-single 9. C点水平位移为()。(4 A.() B.() C.() 8808e255-17b6-single 10. 图示体系的几何组成是 ()。(4分)

158b67e8-1d1a-single 11. 对比图(a)、(b)所示同一结构两种外因作用情况下C点的挠 度和弯矩,下面结论成立的是()。(4分) A.相等,相等。 B.相等,不相等。 C.不相等,相等。 D.,均不相等。 71c20cf5-787e-single 12. 图中各杆E值相同,三铰刚架D点的角位移为(顺时针为正)()。 (4分) A. B. C. D. 刚体系与变形系虚位移原理的虚功方程两者的区别在于()。(4分)

中南大学模电试卷及答案

中 南 大 学 模拟电子技术试卷(第1套) 一、一、填空题(20分,每空1分) 1.双极型三极管是 控制器件,当其工作在放大区时发射结需要加 偏置,集电结需要加 偏置。场效应管是 控制器件。 2. 在有源滤波器中,运算放大器工作在 区;在滞回比较器中,运算放大器工作在 区。 3. 在三极管多级放大电路中,已知A u1=20,A u2=-10,A u3=1,则可知其接法分别为:A u1是 放大器,A u2是 放大器,A u3是 放大器。 4. 在双端输入、单端输出的差动放大电路中,发射极R e 公共电阻对 信号的放大作用无影响,对 信号具有抑制作用。差动放大器的共模抑制比K CMR = 。 5. 设某一阶有源滤波电路的电压放大倍数为 2001200f j A += ,则此滤波器为 滤波器, 其通带放大倍数为 ,截止频率为 。 6. 如图所示的功率放大电路处于 类工作状态;其静态损耗为 ;电路的最大输出功率为 ;每个晶体管的管耗为最大输出功率的 倍。 二、基本题:(每题5分,共25分) 1.如图所示电路中D 为理想元件,已知u i = 5sin ωt V ,试对应u i 画出u o 的波形图。

2.测得电路中NPN型硅管的各级电位如图所示。试分析管子的工作状态(截止、饱和、放大)。 3.已知BJT管子两个电极的电流如图所示。求另一电极的电流,说明管子的类型(NPN 或PNP)并在圆圈中画出管子。 4.如图所示电路中,反馈元件R7构成级间负反馈,其组态为; 其作用是使输入电阻、放大电路的通频带变。 三、如图所示电路中,β=100, Ω = ' 100 b b r,试计算:(15分) 1.放大电路的静态工作点;(6分) 2.画出放大电路的微变等效电路;(3分) 3.求电压放大倍数A u、输入电阻R i和输出电阻R o;(6分)

(整理)中南大学网络教育-结构力学-在线练习3答案.

(一) 单选题 1. 图示结构在移动荷载载作用下,D支座的最大弯矩为()。 (A) (B) (C) (D) 参考答案: (B) 2. 图示结构,受集中荷载系作用,则对应于的最不利荷载是()。 (A) 集中荷载中10kN力位于C截面; (B) 集中荷载中6kN力位于C截面; (C) 集中荷载中4kN力位于C截面; (D) 集中荷载中6kN力与10kN力对称布置C截面两侧; 参考答案: (B)

3. 图(a )所示结构,下列影响线不正确的是()。 (A) A (B) B (C) C (D) D 参考答案: (A) 4. 当单位集中力偶 在AB之间移动时,图示简支梁K截面的弯矩影响线正确的是()。 (A) A (B) B (C) C (D) D 参考答案: (D) 5. 单元在图示两种坐标系中的劲度矩阵相比()。

完全相同 (A) 第2、4行(列)等值异号 (B) (C) 第3、4行(列)等值异号 (D) 第2、3、4、6行(列)等值异号 参考答案: (A) 6. 图示跨度为60m的简支梁,承受均布荷载,可动均布活荷载以及集中 荷载。则距左支座为15m处的C截面上的最大及最小剪力是()。 (A) (B) (C) (D) 参考答案: (B) 7. 图(a)所示伸臂梁,B支座左侧的影响线正确的是()。

(A) A (B) B (C) C (D) D 参考答案: (A) 8. 图示外伸梁,当单位荷载在AB之间移动时,则下列影响线完全正确的是()。 (A) A (B) B (C) C (D) D 参考答案: (A) 9. 考虑各杆件轴向变形,图示结构若用边界条件先处理法,结构劲度矩阵(全存储)的容量 为()。

中南大学数据结构与算法

第一章绪论习题练习答案 简述下列概念:数据、数据元素、数据类型、数据结构、逻辑结构、存储结构、线性结构、非线性结构。 ? 数据:指能够被计算机识别、存储和加工处理的信息载体。 ? 数据元素:就是数据的基本单位,在某些情况下,数据元素也称为元素、结点、顶点、记录。数据元素 有时可以由若干数据项组成。 ? 数据类型:是一个值的集合以及在这些值上定义的一组操作的总称。通常数据类型可以看作是程序设计语言中已实现的数据结构。 ? 数据结构:指的是数据之间的相互关系,即数据的组织形式。一般包括三个方面的内容 :数据的逻辑结构、存储结构和数据的运算。 ? 逻辑结构:指数据元素之间的逻辑关系 ? 存储结构:数据元素及其关系在计算机存储器内的表示,称为数据的存储结构 ? 线性结构:数据逻辑结构中的一类。它的特征是若结构为非空集,则该结构有且只有一个开始结点和一个终端结点,并且所有结点都有且只有一个直接前趋和一个直接后继。线性表就是一个典型的线性结构。 栈、队列、串等都是线性结构。 ? 非线性结构:数据逻辑结构中的另一大类,它的逻辑特征是一个结点可能有多个直接前趋和直接后继。数组、广义表、树和图等数据结构都是非线性结构。

试举一个数据结构的例子、叙述其逻辑结构、存储结构、运算三个方面的内容。 答: 例如有一张学生体检情况登记表,记录了一个班的学生的身高、体重等各项体检信息。这张登记表中,每个学生的各项体检信息排在一行上。这个表就是一个数据结构。每个记录(有姓名,学号,身高和体重等 字段)就是一个结点,对于整个表来说,只有一个开始结点(它的前面无记录)和一个终端结点(它的后面无记录),其他的结点则各有一个也只有一个直接前趋和直接后继(它的前面和后面均有且只有一个记录)。这几 个关系就确定了这个表的逻辑结构是线性结构。 这个表中的数据如何存储到计算机里,并且如何表示数据元素之间的关系呢即用一片连续的内存单元来存放这些记录(如用数组表示)还是随机存放各结点数据再用指针进行链接呢这就是存储结构的问题。 在这个表的某种存储结构基础上,可实现对这张表中的记录进行查询,修改,删除等操作。对这个表可以进行哪些操作以及如何实现这些操作就是数据的运算问题了。 常用的存储表示方法有哪几种 答: 常用的存储表示方法有四种 : ? 顺序存储方法:它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现。由此得到的存储表示称为顺序存储结构,通常借助程序语言的数组描述。 ? 链接存储方法:它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示。由此得到的存储表示称为链式存储结构,通常借助于程序语言的指针类型描述。 ? 索引存储方法:除建立存储结点信息外,还建立附加的索引表来标识结点的地址。组成索引表的索引 项由结点的关键字和地址组成。若每个结点在索引表中都有一个索引项,则该索引表称之为稠密索引(Dense Index)。若一组结点在索引表中只对应一个索引项,则该索引表称为稀疏索引。 ? 散列存储方法:就是根据结点的关键字直接计算出该结点的存储地址。 设三个函数 f,g,h 分别为 f(n)=100n 3+n2+1000 , g(n)=25n3+5000n2 , h(n)=+5000nlgn 请判断下列关系是否成立:

中南大学软件工程历届试卷

填空题(本题20分,每小题2分) 1. 瀑布模型是以文档为驱动、适合于(软件需求确定的)软件项目的开发。 2. 需求分析的基本任务是(确定用户需要软件做什么)。 3. 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是(边界值分析法)。 4. 根据程序流程图划分的模块通常是(过程)内聚的模块。 5. 软件的分类,按其功能可分为:系统软件、(支撑软件)和应用软件。 6. UML的定义包括UML语义和(UML表示法)两个部分。 7. 客观世界中的若干类,通常有两种主要的结构关系:即分类结构和( 整体与部分结构)。 四、测试题(本题16分,每小题8分) 某程序的程序流程图如下图所示,试据此回答下述问题: 1. 计算程序的环形复杂度; 2. 设计测试用例,满足基本路径覆盖。 四.(1)环路复杂性=判断数+1=6+1=7(个) (2)路径1:(0)—①—(13)—(19) 路径2:(0)—②—③—(14)—(19) 路径3:(0)—②—④—⑤—(15)—(19) 路径4:(0)—②—④—⑥—⑦—(16)—(19) 路径5:(0)—②—④—⑥—⑧—⑨—(17)—(19) 路径6:(0)—②—④—⑥—⑧—⑩—(18)—(19) 路径7:(0)—②—④—⑥—⑧—⑩—(12)—(19) 一、填空题(本题30分,每小题1.5分) 1、软件是计算机程序、(描述计算机程序的文档)及(数据)的完整集合,将其统称为软件配置,这些项称为软件配置项。通过正式复审的软件配置项称为(基线),只有通过正式的变化控制过程才能改变它。 2、通常,将软件生命周期全过程中使用的一整套技术方法的集合称为方法学,包含三个要素,即方法、(工具)和(过程)。传统方法学采用(结构化)技术来自顶向下顺序地完成软件开发的各项任务,而面向对象方法是一种以(数据)为主线,把数据和对数据的操作紧密地结合起来的方法,其开发过程是一个多次迭代的演化过程。 3、软件测试的目标是(暴露程序中的错误),因而从心理学角度来看,由程序作者对自己编写的程序进行测试是不恰当的。设计测试方案是测试阶段的关键技术问题,测试方案一般包括(测试目的)、输入的测试数据

中南大学《数据结构》课程设计题目及要求

《数据结构》课程设计指导书 (一):设计目的: 1)了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力; 2)初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3)提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 4)进行全面综合的训练,对课堂教学、实验等环节的有益补充。 5)提高解决实际问题和培养软件工作所需的动手能力。 6)深化理解和灵活掌握教学内容 7)进行软件工程的综合训练。训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。 (二):设计要求: 1) 学生必须仔细阅读《数据结构》课程设计方案,认真主动完成课设的要求。有问题及时主动通过各种方式与教师联系沟通。 2) 学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时向教师汇报。 3) 课程设计按照教学要求需要两周时间完成,两周中每天(按每周5天)至少要上3-4小时的机来调试C/C++语言/JAVA设计的程序,总共至少要上机调试程序30小时 4) 课程设计题目如下,题后有要求的按要求完成,没有要求的至少从中选择并完成二个题目。 5) 设计期间,要求严格遵守学校规章制度和实验室管理制度。 6) 按指定时间上机,服从指导教师和实验室其他老师的安排。 7) 上机前,应编写相应的程序,禁止无准备的上机。 (三):课程设计题目: 一、试设计一个航空客运订票系统。基本要求如下: 1、每条航线所涉及的信息有:终点站名、航班号、飞机号、飞机周日(星期几)、 乘员定额、余票量、订定票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需数量)。

中南大学人工智能考试试卷及答案

中南大学考试试卷 20XX年第2学期,考试时间110分钟 人工智能课程48学时,3学分,考试形式:开卷 专业年级:计算机03级总分100分,占总评成绩70 % 注:此页不作答题纸,请将答案写在答题纸上 一、选择题(共20分,每题2分) 1、消解原理是一种用于 A、表达式变换的推理规则 B、变量运算的推理规则 C、一定的子句公式的推理规则 D 、规则演绎的推理规则 2、下列哪个系统属于新型专家系统? A、多媒体专家系统 B、实时专家系统 C、军事专家系统 D、分布式专家系统 3、示例学习属于下列哪种学习方法? A. 解释学习 B. 归纳学习 C. 类比学习 D. 机械学习 4、不属于神经网络常用学习算法的是: A.有师学习 B.增强学习 C.观察与发现学习 D.无师学习 5、人工智能应用研究的两个最重要最广泛领域为: A. 专家系统、自动规划 B. 专家系统、机器学习 C. 机器学习、智能控制 D. 机器学习、自然语言理解 6、下列搜索方法中不属于盲目搜索的是: A. 等代价搜索 B.宽度优先搜索 C.深度优先搜索 D.有序搜索 7、被认为是人工智能“元年”的时间应为: A、1948年 B、1946年 C、1956年 D、1961年 8、被誉为国际“人工智能之父”的是: A、图灵(Turing) B、费根鲍姆(Feigenbaum) C、傅京孙(K.S.Fu) D、尼尔逊(Nilsson) 9、语义网络的组成部分为: A、框架和弧线 B、状态和算符 C、节点和链 D、槽和值 10、尽管人工智能学术界出现“百家争鸣”的局面,但是,当前国际人工智能的主流派仍属于:

A、连接主义 B、符号主义 C、行为主义 D、经验主义 二、填空题(共20分,每一填空处1分) 1、机器学习系统由____________、____________、____________和____________几部分构成。 2、人工智能是计算机科学中涉及研究、设计和应用____________的一个分支,它的近期目标在于研究用机器来____________的某些智力功能。 3、规则演绎系统根据推理方向可分为____________、____________以及____________等。 4、计算智能是人工智能研究的新内容,涉及____________、____________和____________等。 5、启发式搜索是一种利用____________信息的搜索,估价函数在搜索过程中起的作用是________________________。 6、模糊判决的常用方法有____________、____________、____________和____________等。 7、在与或图中,没有后裔的非终叶节点为不可解节点,那么含有或后继节点且后裔中至少有一个为可解的非终叶节点是____________,含有与后继节点且后裔中至少有一个为不可解的非终叶节点是____________。 三、回答下列问题(共60分) 1、(10分)当前人工智能有哪些学派?他们对人工智能在理论上有何不同观? 2、(10分)请说明神经元的基本结构和前馈型神经网络的工作过程。 3、(10分)试说明产生式系统的基本结构,各部分的功能以及主要工作过程。 4、(10分)专家系统包括那些基本部份?每一部分的主要功能是什么? 5、(10分)某单位派遣出国人员,有赵、钱、孙三位候选人,经讨论后决定: (1)三人中至少派遣一人。 (2)如果赵去而钱不去,则一定派孙去。 (3)如果钱去,则一定派孙去。 求证:一定会派孙出国。 设用P(x)表示派x出国,zhao、qian、sun分别表示三人,将已知条件与目标用谓词公式正确的表示出来,并用消解反演进行证明。 6、(10分)对于八数码难题按下式定义估价函数: f(x)=d(x)+h(x) 其中,d(x)为节点x的深度;h(x)是所有棋子偏离目标位置的曼哈顿距离(棋子偏离目标位置的水平距离和垂直距离和),例如下图所示的初始状态S0:8的曼哈顿距离为2;2的曼哈顿距离为1;1的曼哈顿距离为1;6的曼哈顿距离为1;h(S0)= 5。 初始状态(S0) ( 1)用A*搜索法搜索目标,列出头三步搜索中的OPEN、CLOSED表的内容和当前扩展节点的f值。(2)画出搜索树和当前扩展节点的f值。

中南大学 人工智能考试试卷及答案

中南大学考试试卷 2011年第2学期,考试时间110分钟 人工智能课程48学时,3学分,考试形式:开卷 专业年级:计算机11级总分100分,占总评成绩70 % 注:此页不作答题纸,请将答案写在答题纸上 一、选择题(共20分,每题2分) 1、消解原理是一种用于 A、表达式变换的推理规则 B、变量运算的推理规则 C、一定的子句公式的推理规则 D 、规则演绎的推理规则 2、下列哪个系统属于新型专家系统? A、多媒体专家系统 B、实时专家系统 C、军事专家系统 D、分布式专家系统 3、示例学习属于下列哪种学习方法? A. 解释学习 B. 归纳学习 C. 类比学习 D. 机械学习 4、不属于神经网络常用学习算法的是: A. 有师学习 B. 增强学习 C. 观察与发现学习 D. 无师学习 5、人工智能应用研究的两个最重要最广泛领域为: A. 专家系统、自动规划 B. 专家系统、机器学习 C. 机器学习、智能控制 D. 机器学习、自然语言理解 6、下列搜索方法中不属于盲目搜索的是: A. 等代价搜索 B. 宽度优先搜索 C. 深度优先搜索 D. 有序搜索 7、被认为是人工智能“元年”的时间应为: A、1948年 B、1946年 C、1956年 D、1961年 8、被誉为国际“人工智能之父”的是: A、图灵(Turing) B、费根鲍姆(Feigenbaum) C、傅京孙(K.S.Fu) D、尼尔逊(Nilsson) 9、语义网络的组成部分为: A、框架和弧线 B、状态和算符 C、节点和链 D、槽和值 10、尽管人工智能学术界出现“百家争鸣”的局面,但是,当前国际人工智能的主流派仍属于:

中南大学模电第二章作业答案解析

2.分别改正下图所示各电路中的错误,使它们有可能放大正弦波信号。要求保留电路原 (a)静态时,发射结正偏,集电结反偏,-VCC改为+VCC (b) 没有RB发射结会烧坏,集电结不能反偏 (c)没有RB1当ui=0时发射结两端电压为零,VBB反过来。 (d)没有RB在交流通路中,VBB短路,交流信号加不进来。 3.放大电路及三极管输出特性如下图所示。 ①在输出特性曲线上画出直流负载线。如要求I CQ=2mA,确定此时的静态工作点,并确 定此时的R b的值; ②利用图解法分别求出R L=∞和R L=3kΩ时的最大不失真输出电压U om(有效值); ③若R b调至150kΩ且i B的交流分量i b(t)=20sinωt(μA),画出i C和u CE的波形图,这时出现什么失真?

解:(1)直流负载线 12 ,.4,0====-=Ce C c ce C c CC ce U O I I U R I V U 作负载线得:I CQ =40μA Ω =≈+=k R U R I V b CE b B CC 30004 .012 (2)R L =∞直流负载线与交流负载线重合Uom=6/1.414=4.23V R L =3K ?,R L //R C =1.5 K ? 当 U CEQ +1.5*I CQ =9 ,Uom=1.5*I CQ/1.414=2.12V

(3) 当RB=150K ?时,IBQ=80Ma 4.电路如图P2.7所示,晶体管的β=80 ,'100bb r =Ω。分别计算L R =∞和3L R k =Ω时的Q 点、u A 、i R 和o R 。 解:在空载和带负载情况下,电路的静态电流、be r 均相等,它们分别为:

中南大学结构力学2

结构力学_在线作业二_试卷 交卷时间:2019-05-08 10:21:31 一、单选题 1. (8分)图示超静定结构及其M图,要校核其正确性可采用下述哪种做法()。 ? A. 计算E点位移 ? B. 计算D点水平位移及E点竖向位移 ? C. 计算E点位移 ? D. 计算C点位移 得分: 8 知识点:在线作业二 收起解析 答案B 解析 2.

(8分)图示结构,在给定荷载作用下,支座反力(向右为正)和(向上为正), 轴力(以拉为正)分别为()。 ? A. ? B. ? C. ? D. 得分: 8 知识点:在线作业二 收起解析 答案C 解析 3.

(8分)图A图D所示结构均可作为图(a)所示结构的力法基本结构,使得力法计算最为简便的基本结构是()。 ? A. A ? B. B ? C. C ? D. D 得分: 8 知识点:在线作业二 收起解析 答案C 解析 4. (8分)图示(a)、(b)两结构,当A支座顺时钟发生单位角位移时,(a)、(b)两图中,与的关系为()。 ? A.

? B. ? C. ? D. 得分: 8 知识点:在线作业二 收起解析 答案C 解析 5. (8分)图示对称超静定结构,力法计算时基本未知值最少为()。 ? A. 12 ? B. 9 ? C. 8 ? D. 3 得分: 8 知识点:在线作业二 收起解析 答案D

解析 6. (8分)图示对称结构,力法求解时,未知量最少为()。? A. 12 ? B. 8 ? C. 4 ? D. 2 得分: 8 知识点:在线作业二 收起解析 答案D 解析 7.

(8分)图示对称结构受反对称荷载,其超静定次数为N,力法求解时的未知量个数最 少为n,则正确答案为()。 ? A. 超静定次数为5,力法求解时的未知量个数最少为2; ? B. 超静定次数为5,力法求解时的未知量个数最少为1; ? C. 超静定次数为4,力法求解时的未知量个数最少为1; ? D. 超静定次数为4,力法求解时的未知量个数最少为2; 得分: 8 知识点:在线作业二 收起解析 答案A 解析 8. (8分)图(a)所示结构,EI常数,取图(b)为力法基本系,()。

中南大学数据结构与算法第3章栈和队列课后作业答案

第3章栈和队列习题练习答案 3.1设将整数1,2,3,4依次进栈,但只要出栈时栈非空,则可将出栈操作按任何次序夹入其中,请回答下述问题: (1)若入、出栈次序为Push(1), Pop(),Push(2),Push(3), Pop(), Pop( ),Push(4), Pop( ),则出栈的数字序列为何(这里Push(i)表示i进栈,Pop( )表示出栈)? (2)能否得到出栈序列1423和1432?并说明为什么不能得到或者如何得到。 (3)请分析1,2 ,3 ,4 的24种排列中,哪些序列是可以通过相应的入出栈操作得到的。 答: (1)出栈序列为:1324 (2)不能得到1423序列。因为要得到14的出栈序列,则应做 Push(1),Pop(),Push(2),Push (3),Push(4),Pop()。这样,3在栈顶,2在栈底,所以不能得到23的出栈序列。能得到1432的出栈序列。具体操作为:Push(1), Pop(),Push(2),Push(3),Push(4),Pop(),Pop(),Pop()。 (3)在1,2 ,3 ,4 的24种排列中,可通过相应入出栈操作得到的序列是: 1234,1243,1324,1342,1432,2134,2143,2314,2341,2431,3214,3241,3421,4321 不能得到的序列是: 1423,2413,3124,3142,3412,4123,4132,4213,4231,4312 3.2 链栈中为何不设置头结点? 答: 链栈不需要在头部附加头结点,因为栈都是在头部进行操作的,如果加了头结点,等于要对头结点之后的结点进行操作,反而使算法更复杂,所以只要有链表的头指针就可以了。 3.3 循环队列的优点是什么? 如何判别它的空和满? 答: 循环队列的优点是:它可以克服顺序队列的"假上溢"现象,能够使存储队列的向量空间得到充分的利用。判别循环队列的"空"或"满"不能以头尾指针是否相等来确定,一般是通过以下几种方法:一是另设一布尔变量来区别队列的空和满。二是少用一个元素的空间,每次入队前测试入队后头尾指针是否会重合,如果会重合就认为队列已满。三是设置一计数器记录队列中元素总数,不仅可判别空或满,还可以得到队列中元素的个数。 3.4设长度为n的链队用单循环链表表示,若设头指针,则入队出队操作的时间为何? 若只设尾指针呢? 答: 当只设头指针时,出队的时间为1,而入队的时间需要n,因为每次入队均需从头指针开始查找,找到最后一个元素时方可进行入队操作。若只设尾指针,则出入队时间均为1。因为是循环链表,尾指针所指的下一个元素就是头指针所指元素,所以出队时不需要遍历整个队列。

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