数据结构第五章数组和广义表习题及答案.doc
习题五数组和广义表一、单项选择题1.常对数组进行的两种基本操作是()A建立与删除B索引与修改C查找与修改D查找与索引2.对于C语言的二维数组DATATYPEAMN,每个数据元素占K个存储单元,二维数组中任意元素AI,J的存储位置可由式确定ALOCI,JAM,NN1IJKBLOCI,JLOC0,0MNIJKCLOCI,JLOC0,0N1IJKDLOCI,JN1IJK3.稀疏矩阵的压缩存储方法是只存储A非零元素B三元祖(I,J,AIJ)CAIJDI,J4数组A05,06的每个元素占五个字节,将其按列优先次序存储在起始地址为1000的内存单元中,则元素A5,5的地址是。A1175B1180C1205D12105AN,N是对称矩阵,将下面三角(包括对角线)以行序存储到一维数组TN(N1)/2中,则对任一上三角元素AIJ对应TK的下标K是()。AI(I1)/2JBJ(J1)/2ICI(JI)/21DJ(I1)/216用数组R存储静态链表,结点的NEXT域指向后继,工作指针J指向链中结点,使J沿链移动的操作为。AJRJNEXTBJJ1CJJNEXTDJRJNEXT7对稀疏矩阵进行压缩存储目的是()。A.便于进行矩阵运算B.便于输入和输出C.节省存储空间D.降低运算的时间复杂度8已知广义表LS=A,B,C,D,E,F,运用HEAD和TAIL函数取出LS中原子E的运算是。AHEADTAILLSBTAILHEADLSCHEADTAILHEADTAILLSDHEADTAILTAILHEADLS9广义表((A,B,C,D))的表头是(),表尾是()。AAB()C(A,B,C,D)D(B,C,D)10设广义表L((A,B,C)),则L的长度和深度分别为()。A1和1B1和3C1和2D2和311下面说法不正确的是。A广义表的表头总是一个广义表B广义表的表尾总是一个广义表C广义表难以用顺序存储结构D广义表可以是一个多层次的结构二、填空题1.通常采用___________存储结构来存放数组。对二维数组可有两种存储方法一种是以___________为主序的存储方式,另一种是以___________为主序的存储方式。2用一维数组B与列优先存放带状矩阵A中的非零元素AI,J1≤I≤N,I2≤J≤I2,B中的第8个元素是A中的第__行,第__列的元素。3.设N行N列的下三角矩阵A已压缩到一维数组B1N(N1)/2中,若按行为主序存储,则AI,J对应的B中存储位置为_______。4所谓稀疏矩阵指的是_。5广义表简称表,是由零个或多个原子或子表组成的有限序列,原子与表的差别仅在于____。为了区分原子和表,一般用____表示表,用_____表示原子。一个表的长度是指__,而表的深度是指____6.设广义表L,,则HEADL是;TAILL是;L的长度是;深度是__。7.基于三元组的稀疏矩阵转置的处理方法有两种,以下运算按照矩阵A的列序来进行转置,请在___________处用适当的句子用以填充。TRANS_SPARMATSPMATRIXTPA,SPMATRIXTPB{BMUANUBNUAMUBTUATUIFATU{Q1FORCOL1___________COLFORP1PTAG0QVALDATAPVALDATA}ELSE{2IF3{TREVERSEPVALPTRTPSTWHILESVALPTRTPNULLSSVALPTRTPSVALPTRTPGLISTMALLOCSIZEOFGNODESSVALPTRTPSTAG1SVALPTRTPNULLSVALPTRHPH4__}ELSE{QGLISTMALLOCSIZEOFGNODEQTAG1QVALPTRTPNULL5}}}RETURNQ}第5章数组和广义表一、单项选择题1.C2.C3.A4.A5.B6.A7.C8.C9.C10.C11.A二、填空题1.顺序、列序、行序2第1行第3列3.II1/2J1TAG0//处理原子(2)HREVERSEPVALPTRHP//处理表头(3)PVALPTRTP//产生表尾的逆置广义表(4)SVALPTRTPT//连接(5)QVALPTRHPH//头结点指向广义表