文档详情

北航201303学期算法与数据结构答案作业2.doc

发布:2017-08-06约字共3页下载文档
文本预览下载声明
作业2 单项选择题 第1题 数据结构中的数据和存贮介质(如磁盘)的关系是:()。 A、数据是存贮介质 B、存贮介质是数据的载体 C、存贮介质是传送数据的工具 D、数据是计算机处理对象,存贮介质是磁盘 答案:B 第2题 设front和rear分别是队头与队尾指针,实现循环队列的数组长度为n,那么队满、队空的判断条件分别是:()。 A、front == rear, front +1 == rear B、(rear +1) % n == front, front == rear C、rear == front, (rear + 1 )% n ==front D、front == rear ,rear == front 答案:B 第3题 数据结构中的数据是指:()。 A、用于计算的数字 B、信息 C、磁盘 D、计算机的处理对象 答案:D 第4题 设n为正整数。试确定下列程序段中带标号@的语句的频度。 X=91; Y=100; While(y0) @If(x100){ X=x–10; Y=y–1; }else x=x+1; :()。 A、无穷多次 B、1100 C、9100 D、100 答案:B 多项选择题 第5题 假设以链表的方式实现堆栈,top为栈顶指针,指向类型为linkstack类型,下述程序实现将堆栈初始化为空栈的操作。判断哪一段程序是正确的(): A、void INITSTACK( linkstack *top ){ top = NULL; } B、void INITSTACK(linkstack * top ){ top = -1; } C、void INITSTACK(linkstack * top ){ top = 0; } D、void INITSTACK(linkstack * top ){ top = 空; } 答案:A|C 第6题 假设以链表的方式实现堆栈,top为栈顶指针,类型为linkstack的结点分别以data和next表示数据域与链域,其中datatype为栈内元素的数据类型,。下述程序实现将元素x压入链顶的操作。判断哪一段程序是正确的(): A、void push( linkstack *top, datatype x ){ linkstack * p ; p = malloc(sizeof(linkstack)); p-data = x; p-next = top; top = p; } B、void pushstack( linkstack *top, datatype x ){ linkstack * p ; p = malloc(sizeof(linkstack)); p-data = x; p-next = top; top = p; } C、void push( linkstack *top, datatype x ){ p-data = x; p-next = top; top = p; } D、void push( linkstack *top, datatype x ){ top-data = x; top-next = top; } 答案:A|B 第7题 假设有二维数组a[m][n],如果在内存中以行优先方式存贮。下述计算数据元素a[i][j]地址loc(a[i][j])的公式中哪些是正确的(): A、loc(a[i][j]) = l0 +(m * j + i )*k , 其中k为每个元素所占的存贮单元,l0为a[0][0]的地址,并且假定数组下标的起始值为0 B、loc(a[i][j]) = l0 +(i*n +j )*k , 其中k为每个元素所占的存贮单元,l0为a[0][0]的地址,并且假定数组下标的起始值为0 C、loc(a[i][j]) = l0 +((i-1)*n +j -1)*k , 其中k为每个元素所占的存贮单元,l0为a[0][0]的地址,并且假定数组下标的起始值为1 D、loc(a[i][j]) = l0 +((m-1) *j + i)*k , 其中k为每个元素所占的存贮单元,l0为a[0][0]的地址,并且假定数组下标的起始值为0 答案:B|C 第8题 假设以链表的方式实现堆栈,top为栈顶指针,类型为linkstack结点分别以data和next表示数据域与链域,datatype表示栈内元素的数据类型。下述程序实现出栈操作。判断哪一段程序是错误的(): A、datatype pop( linkstack *top ){ linkstack * p ; if ( top
显示全部
相似文档