数据结构C语言版期末考试题附带复习资料.doc
《数据结构C语言版期末考试题附带复习资料.doc》由会员分享,可在线阅读,更多相关《数据结构C语言版期末考试题附带复习资料.doc(36页珍藏版)》请在咨信网上搜索。
- - “数据构造〞期末考试试题 一、单项选择题(每题2分,共12分) 1.在一个单链表HL中,假设要向表头插入一个由指针p指向的结点,那么执行( )。 A. HL=ps p一>next=HL B. p一>next=HL;HL=p3 C. p一>next=Hl;p=HL; D. p一>next=HL一>next;HL一>next=p; 2.n个顶点的强连通图中至少含有( )。 A.n—l条有向边 B.n条有向边 C.n(n—1)/2条有向边 D.n(n一1)条有向边 3.从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为( )。 A.O(1) B.O(n) C.O(1Ogzn) D.O(n2) 4.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )。 A.24 B.48 C. 72 D. 53 5.当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。 A.整形 B.引用型 C.指针型 D.常值引用型· 6.向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( )。 A.O(n) B.O(1) C.O(n2) D.O(10g2n) 二、填空题(每空1分,共28分) 1.数据的存储构造被分为——、——、——和——四种。 2.在广义表的存储构造中,单元素结点与表元素结点有一个域对应不同,各自分别为——域和——域。 3.——中缀表达式 3十x*(2.4/5—6)所对应的后缀表达式为————。 4.在一棵高度为h的3叉树中,最多含有——结点。 5.假定一棵二叉树的结点数为18,那么它的最小深度为——,最大深度为——· 6.在一棵二叉搜索树中,每个分支结点的左子树上所有结点的值一定——该结点的值,右子树上所有结点的值一定——该结点的值。 7.当向一个小根堆插入一个具有最小值的元素时,该元素需要逐层——调整,直到被调整到——位置为止。 8.表示图的三种存储构造为——、——和———。 9.对用邻接矩阵表示的具有n个顶点和e条边的图进展任一种遍历时,其时间复杂度为——,对用邻接表表示的图进展任一种遍历时,其时间复杂度为——。 10.从有序表(12,18,30,43,56,78,82,95)中依次二分查找43和56元素时,其查找长度分别为——和——· 11.假定对长度n=144的线性表进展索引顺序查找,并假定每个子表的长度均为,那么进展索引顺序查找的平均查找长度为——,时间复杂度为——· 12.一棵B—树中的所有叶子结点均处在——上。 13.每次从无序表中顺序取出一个元素,把这插入到有序表中的适当位置,此种排序方法叫做——排序;每次从无序表中挑选出一个最小或最大元素,把它交换到有序表的一端,此种排序方法叫做——排序。 14.快速排序在乎均情况下的时间复杂度为——,最坏情况下的时间复杂度为——。 三、运算题(每题6分,共24分) 1.假定一棵二叉树广义表表示为a(b(c,d),c(((,8))),分别写出对它进展先序、中序、后序和后序遍历的结果。 先序: 中序; 后序: 2.一个带权图的顶点集V和边集G分别为: V={0,1,2,3,4,5}; E={(0,1)8,(0,2)5,(0,3)2,(1,5)6,(2,3)25,(2,4)13,(3,5)9,(4,5)10}, 那么求出该图的最小生成树的权。 最小生成树的权; 3.假定一组记录的排序码为(46,79,56,38,40,84,50,42),那么利用堆排序方法建立的初始堆为——。 4.有7个带权结点,其权值分别为3,7,8,2,6,10,14,试以它们为叶子结点生成一棵哈夫曼树,求出该树的带权路径长度、高度、双分支结点数。 带权路径长度:—— 高度:—— 双分支结点数:——。 四、阅读算法,答复以下问题(每题8分,共16分) 1.VOldAC(List&L) { InitList(L); InsertRear(L;25); InsertFront(L,50); IntaL4]={5,8,12,15,36}; for(inti=0; i<5; i++) if (a[i]%2==0)InsertFront(L,a[i]); elselnsertRear(L,a[i]); } 该算法被调用执行后,得到的线性表L为: 2.void AG(Queue&Q) { InitQueue(Q); inta[5]={6,12,5,15,8}; for(int i=0;i<5; i++)QInsert(Q,a[i]); QInsert(Q,QDelete(Q)); QInsert(Q,20); QInsert(Q,QDelete(Q)十16); while(!QueueEmpty(Q))cout<<QDelete(Q)<<〞; } 该算法被调用后得到的输出结果为: 五、算法填空,在画有横线的地方填写适宜的容(每题6分,共12分) 1.从一维数组A[n)中二分查找关键字为K的元素的递归算法,假设查找成功那么返回对应元素的下标,否那么返回一1。 IntBinsch(ElemTypeA[],Intlow,int high,KeyTypeK) { if(low<=high) { int mid=(low+high)/2; if(K==A[mid].key)——; else if (K<A[mid].key)——; else ; } else return—l; } 2.二叉树中的结点类型BinTreeNode定义为: structBinTreeNode{ElemType data;BinTreeNode*left,*right}; 其中data为结点值域,left和right分别为指向左、右子女结点的指针域。下面函数的功能是返回二叉树BT中值为x的结点所在的层号,请在划有横线的地方填写适宜容。 Int NodeLevel(BinTreeNode * BT,ElemType X) { if(BT:=NULL)return 0; //空树的层号为0 else if(BT一>data==X)return 1; //根结点的层号为1 //向子树中查找x结点 else{ int cl=NodeLevel(BT一>left,X); if(cl>=1)return cl+1; int c2= ; if——; //假设树中不存在X结点那么返回o else return 0; } } 六、编写算法(8分) 按所给函数声明编写一个算法,从表头指针为HL的单链表中查找出具有最大值的结点,该最大值由函数返回,假设单链表为空那么中止运行。 EIemType MaxValue(LNOde*HL); “数据构造〞期末考试试题答案 一、单项选择题(每题2分,共12分) 评分标准;选对者得2分,否那么不得分。 1.B 2.B 3.C 4.D 5.B 6.A 二、填空题(每空1分,共28分) 1.顺序构造 构造 索引构造 散列构造(次序无先后) 2.值(或data) 子表指针(或sublist) 3.3 x 2.4 5/6一*十 4.(3h一1)/2 5. 5 18 6.小于 大于(或大于等于) 7.向上 堆顶 8.邻接矩阵 邻接表 边集数组(次序无先后) 9.O(n2) O(e) 10. 1 3 11.13 O() 12.同一层 13.插人 选择 14.O(nlog2n) O(n2) 三、运算题(每题6分,共24分) 1.先序:a,b,c,d,e,f,e //2分 中序:c,b,d,a,f,8,e //2分 后序:c,d,b,e,f,e,a //2分 2.最小生成树的权:31 //6分 3.(84,79,56,42,40,46,50,38) //6分 4.带权路径长度:131 //3分 高度:5 //2分 双分支结点数:6 //1分 四、阅读算法,答复以下问题(每题8分,共16分) 评分标准:每题正确得8分,出现一处错误扣4分,两处及以上错误不得分。 1.(36,12,8,50,25,5,15) 2.5 15 8 6 20 28 五、算法填空,在画有横线的地方填写适宜的容(每题6分,共12分) 1.feturn mid //2分 returnBinsch(A,low,mid一1,K) //2分 returnBmsch(A,mid+1,high,K) //2分 2.NodeLevel(BT一>right,X) //3分 (c2>=1)returnc2十1 //3分 六、编写算法(8分) 评分标准:请参考语句后的注释,或根据情况酌情给分。 ElemType MaxValue(LNodeO* HL。) { if (HL==NUlL){ //2分 cerr<<"Linked llst is empty!〞<<endl; exit(1); } ElemTypemax:HL一>data; //3分 LNOde*p=HI一>next; //4分 while(P!:NULL){ //7分 if(max<p一>data)max=p一>data; p=p一>next; } returnmax; //8分 } 数据构造复习资料 一、填空题 1. 数据构造是一门研究非数值计算的程序设计问题中计算机的 操作对象 以及它们之间的 关系和运算等的学科。 2. 数据构造被形式地定义为〔D, R〕,其中D是 数据元素 的有限集合,R是D上的 关系 有限集合。 3. 数据构造包括数据的 逻辑构造、数据的存储构造和数据的运算这三个方面的容。 4. 数据构造按逻辑构造可分为两大类,它们分别是线性构造 和非线性构造 。 5. 线性构造中元素之间存在一对一关系,树形构造中元素之间存在一对多关系,图形构造中元素之间存在多对多关系。 6. 在线性构造中,第一个结点 没有前驱结点,其余每个结点有且只有 1个前驱结点;最后一个结点没有后续结点,其余每个结点有且只有1个后续结点。 7. 在树形构造中,树根结点没有前驱 结点,其余每个结点有且只有1个前驱结点;叶子结点没有后续 结点,其余每个结点的后续结点数可以任意多个 。 8. 在图形构造中,每个结点的前驱结点数和后续结点数可以 任意多个 。 9.数据的存储构造可用四种根本的存储方法表示,它们分别是顺序 、 链式 、 索引 和 散列 。 10. 数据的运算最常用的有5种,它们分别是插入 、 删除、修改、 查找 、排序。 11. 一个算法的效率可分为时间效率和空间效率。 12. 在顺序表中插入或删除一个元素,需要平均移动表中一半元素,具体移动的元素个数与表长和该元素在表中的位置有关。 13. 线性表中结点的集合是有限的,结点间的关系是一对一的。 14. 向一个长度为n的向量的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动n-i+1 个元素。 15. 向一个长度为n的向量中删除第i个元素(1≤i≤n)时,需向前移动n-i 个元素。 16. 在顺序表中访问任意一结点的时间复杂度均为 O(1),因此,顺序表也称为随机存取的数据构造。 17. 顺序表中逻辑上相邻的元素的物理位置必定相邻。单链表中逻辑上相邻的元素的物理位置 不一定 相邻。 18.在单链表中,除了首元结点外,任一结点的存储位置由其直接前驱结点的链域的值指示。 19. 在n个结点的单链表中要删除结点*p,需找到它的前驱结点的地址,其时间复杂度为O〔n〕。 20. 向量、栈和队列都是 线性 构造,可以在向量的任何位置插入和删除元素;对于栈只能在栈顶插入和删除元素;对于队列只能在队尾插入和队首删除元素。 21. 栈是一种特殊的线性表,允许插入和删除运算的一端称为栈顶。不允许插入和删除运算的一端称为栈底。 22. 队列是被限定为只能在表的一端进展插入运算,在表的另一端进展删除运算的线性表。 23. 不包含任何字符〔长度为0〕的串称为空串; 由一个或多个空格〔仅由空格符〕组成的串称为空白串。 24. 子串的定位运算称为串的模式匹配;被匹配的主串称为目标串,子串称为模式。 25. 假设有二维数组A6×8,每个元素用相邻的6个字节存储,存储器按字节编址。A的起始存储位置〔基地址〕为1000,那么数组A的体积〔存储量〕为 288 B ;末尾元素A57的第一个字节地址为 1282 ;假设按行存储时,元素A14的第一个字节地址为 (8+4)×6+1000=1072 ;假设按列存储时,元素A47的第一个字节地址为 (6×7+4)×6+1000〕=1276 。 26. 由3个结点所构成的二叉树有5种形态。 27. 一棵深度为6的满二叉树有n1+n2=0+ n2= n0-1=31 个分支结点和26-1 =32个叶子。 注:满二叉树没有度为1的结点,所以分支结点数就是二度结点数。 28. 一棵具有257个结点的完全二叉树,它的深度为9。 〔 注:用ë log2(n) û+1= ë 8.xx û+1=9 29.设一棵完全二叉树有700个结点,那么共有 350个叶子结点。 答:最快方法:用叶子数=[n/2]=350 30. 设一棵完全二叉树具有1000个结点,那么此完全二叉树有500个叶子结点,有499个度为2的结点,有1个结点只有非空左子树,有0个结点只有非空右子树。 答:最快方法:用叶子数=[n/2]=500 ,n2=n0-1=499。 另外,最后一结点为2i属于左叶子,右叶子是空的,所以有1个非空左子树。完全二叉树的特点决定不可能有左空右不空的情况,所以非空右子树数=0. 31.在数据的存放无规律而言的线性表中进展检索的最正确方法是 顺序查找〔线性查找〕。 32. 线性有序表〔a1,a2,a3,…,a256)是从小到大排列的,对一个给定的值k,用二分法检索表中与k相等的元素,在查找不成功的情况下,最多需要检索8 次。设有100个结点,用二分法查找时,最大比拟次数是7。 33. 假设在有序线性表a[20]上进展折半查找,那么比拟一次查找成功的结点数为1;比拟两次查找成功的结点数为 2;比拟四次查找成功的结点数为 8;平均查找长度为3.7。 解:显然,平均查找长度=O〔log2n〕<5次〔25〕。但具体是多少次,那么不应当按照公式 来计算〔即〔21×log221〕/20=4.6次并不正确!〕。因为这是在假设n=2m-1的情况下推导出来的公式。应当用穷举法罗列: 全部元素的查找次数为=〔1+2×2+4×3+8×4+5×5〕=74; ASL=74/20=3.7 !!! 34.折半查找有序表〔4,6,12,20,28,38,50,70,88,100〕,假设查找表中元素20,它将依次与表中元素 28,6,12,20比拟大小。 35. 在各种查找方法中,平均查找长度与结点个数n无关的查找方法是 散列查找 。 36. 散列法存储的根本思想是由关键字的值决定数据的存储地址。 二、判断正误〔在正确的说法后面打勾,反之打叉〕 〔 × 〕1. 链表的每个结点中都恰好包含一个指针。 答:错误。链表中的结点可含多个指针域,分别存放多个指针。例如,双向链表中的结点可以含有两个指针域,分别存放指向其直接前趋和直接后继结点的指针。 〔 × 〕2. 链表的物理存储构造具有同链表一样的顺序。错,链表的存储构造特点是无序,而链表的示意图有序。 〔 × 〕3. 链表的删除算法很简单,因为当删除链中某个结点后,计算时机自动地将后续的各个单元向前移动。错,链表的结点不会移动,只是指针容改变。 〔 × 〕4. 线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。 错,混淆了逻辑构造与物理构造,链表也是线性表!且即使是顺序表,也能存放记录型数据。 〔 × 〕5. 顺序表构造适宜于进展顺序存取,而链表适宜于进展随机存取。 错,正好说反了。顺序表才适合随机存取,链表恰恰适于“顺藤摸瓜〞 〔 × 〕6. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。 错,前一半正确,但后一半说法错误,那是链式存储的优点。顺序存储方式插入、删除运算效率较低,在表长为n的顺序表中,插入和删除一个数据元素,平均需移动表长一半个数的数据元素。 〔 × 〕7. 线性表在物理存储空间中也一定是连续的。 错,线性表有两种存储方式,顺序存储和链式存储。后者不要求连续存放。 〔 × 〕8. 线性表在顺序存储时,逻辑上相邻的元素未必在存储的物理位置次序上相邻。 错误。线性表有两种存储方式,在顺序存储时,逻辑上相邻的元素在存储的物理位置次序上也相邻。 〔 × 〕9. 顺序存储方式只能用于存储线性构造。 错误。顺序存储方式不仅能用于存储线性构造,还可以用来存放非线性构造,例如完全二叉树是属于非线性构造,但其最正确存储方式是顺序存储方式。〔后一节介绍〕 〔 × 〕10. 线性表的逻辑顺序与存储顺序总是一致的。 错,理由同7。链式存储就无需一致。 〔 ×〕11. 线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。 错,线性表是逻辑构造概念,可以顺序存储或链式存储,与元素数据类型无关。 〔 × 〕12. 在表构造中最常用的是线性表,栈和队列不太常用。 错,不一定吧?调用子程序或函数常用,CPU中也用队列。 〔 √ 〕13. 栈是一种对所有插入、删除操作限于在表的一端进展的线性表,是一种后进先出型构造。 〔 √ 〕14. 对于不同的使用者,一个表构造既可以是栈,也可以是队列,也可以是线性表。 正确,都是线性逻辑构造,栈和队列其实是特殊的线性表,对运算的定义略有不同而已。 〔 × 〕15. 栈和链表是两种不同的数据构造。 错,栈是逻辑构造的概念,是特殊殊线性表,而链表是存储构造概念,二者不是同类项。 〔 × 〕16. 栈和队列是一种非线性数据构造。 错,他们都是线性逻辑构造,栈和队列其实是特殊的线性表,对运算的定义略有不同而已。 〔 √ 〕17. 栈和队列的存储方式既可是顺序方式,也可是方式。 〔 √ 〕18. 两个栈共享一片连续存空间时,为提高存利用率,减少溢出时机,应把两个栈的栈底分别设在这片存空间的两端。 〔 × 〕19. 队是一种插入与删除操作分别在表的两端进展的线性表,是一种先进后出型构造。 错,后半句不对。 〔 × 〕20. 一个栈的输入序列是12345,那么栈的输出序列不可能是12345。 错,有可能。 〔 √ 〕21. 假设二叉树用二叉链表作存贮构造,那么在n个结点的二叉树链表中只有n—1个非空指针域。 〔 × 〕22.二叉树中每个结点的两棵子树的高度差等于1。 〔 √ 〕23.二叉树中每个结点的两棵子树是有序的。 〔 × 〕24.二叉树中每个结点有两棵非空子树或有两棵空子树。 〔 × 〕25.二叉树中每个结点的关键字值大于其左非空子树〔假设存在的话〕所有结点的关键字值,且小于其右非空子树〔假设存在的话〕所有结点的关键字值。 〔应当是二叉排序树的特点〕 〔 × 〕26.二叉树中所有结点个数是2k-1-1,其中k是树的深度。〔应2i-1〕 〔 × 〕27.二叉树中所有结点,如果不存在非空左子树,那么不存在非空右子树。 〔 × 〕28.对于一棵非空二叉树,它的根结点作为第一层,那么它的第i层上最多能有2i—1个结点。〔应2i-1〕 〔 √ 〕29.用二叉链表法〔link-rlink〕存储包含n个结点的二叉树,结点的2n个指针区域中有n+1个为空指针。 〔√ 〕30.具有12个结点的完全二叉树有5个度为2的结点。 三、单项选择题 〔 B 〕1. 非线性构造是数据元素之间存在一种: A〕一对多关系 B〕多对多关系 C〕多对一关系 D〕一对一关系 〔 C 〕2. 数据构造中,与所使用的计算机无关的是数据的构造; A) 存储 B) 物理 C) 逻辑 D) 物理和存储 〔 C 〕3. 算法分析的目的是: A) 找出数据构造的合理性 B) 研究算法中的输入和输出的关系 C) 分析算法的效率以求改良 D) 分析算法的易懂性和文档性 〔 A 〕4. 算法分析的两个主要方面是: A) 空间复杂性和时间复杂性 B) 正确性和简明性 C) 可读性和文档性 D) 数据复杂性和程序复杂性 〔 C 〕5. 计算机算法指的是: A) 计算方法 B) 排序方法 C) 解决问题的有限运算序列 D) 调度方法 〔 B 〕6. 计算机算法必须具备输入、输出和等5个特性。 A) 可行性、可移植性和可扩大性 B) 可行性、确定性和有穷性 C) 确定性、有穷性和稳定性 D) 易读性、稳定性和平安性 〔 C 〕7.数据在计算机存储器表示时,物理地址与逻辑地址一样并且是连续的,称之为: 〔A〕存储构造 〔B〕逻辑构造 〔C〕顺序存储构造 〔D〕链式存储构造 〔 B 〕8.一个向量第一个元素的存储地址是100,每个元素的长度为2,那么第5个元素的地址是 〔A〕110 〔B〕108 〔C〕100 〔D〕120 〔 A 〕9. 在n个结点的顺序表中,算法的时间复杂度是O〔1〕的操作是: (A) 访问第i个结点〔1≤i≤n〕和求第i个结点的直接前驱〔2≤i≤n〕 (B) 在第i个结点后插入一个新结点〔1≤i≤n〕 (C) 删除第i个结点〔1≤i≤n〕 (D) 将n个结点从小到大排序 〔 B 〕10. 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动个元素 〔A〕8 〔B〕63.5 〔C〕63 〔D〕7 〔 A 〕11. 存储的存储构造所占存储空间: (A) 分两局部,一局部存放结点值,另一局部存放表示结点间关系的指针 (B) 只有一局部,存放结点值 (C〕 只有一局部,存储表示结点间关系的指针 〔D〕 分两局部,一局部存放结点值,另一局部存放结点所占单元数 〔 B 〕12. 链表是一种采用存储构造存储的线性表; 〔A〕顺序 〔B〕链式 〔C〕星式 〔D〕网状 〔 D 〕13. 线性表假设采用链式存储构造时,要求存中可用存储单元的地址: 〔A〕必须是连续的 〔B〕局部地址必须是连续的 〔C〕一定是不连续的 〔D〕连续或不连续都可以 〔 B 〕14. 线性表L在情况下适用于使用链式构造实现。 〔A〕需经常修改L中的结点值 〔B〕需不断对L进展删除插入 〔C〕L中含有大量的结点 〔D〕L中结点构造复杂 〔 B 〕15.栈中元素的进出原那么是 A.先进先出 B.后进先出 C.栈空那么进 D.栈满那么出 〔 C 〕16. 假设一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,假设p1=n,那么pi为 A.i B.n=i C.n-i+1 D.不确定 〔 B 〕17. 判定一个栈ST〔最多元素为m0〕为空的条件是 A.ST->top<>0 B.ST->top=0 C.ST->top<>m0 D.ST->top=m0 〔 C 〕18. 在一个图中,所有顶点的度数之和等于图的边数的倍。 A.1/2 B. 1 C. 2 D. 4 〔 B 〕19. 在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的倍。 A.1/2 B. 1 C. 2 D. 4 〔 B 〕20. 有8个结点的无向图最多有条边。 A.14 B. 28 C. 56 D. 112 〔 C 〕21. 有8个结点的有向完全图有条边。 A.14 B. 28 C. 56 D. 112 〔 B 〕22.在表长为n的链表中进展线性查找,它的平均查找长度为 A. ASL=n; B. ASL=〔n+1〕/2; C. ASL=+1; D. ASL≈log2〔n+1〕-1 〔 A 〕23.折半查找有序表〔4,6,10,12,20,30,50,70,88,100〕。假设查找表中元素58,那么它将依次与表中比拟大小,查找结果是失败。 A.20,70,30,50 B.30,88,70,50 C.20,50 D.30,88,50 〔 C 〕24.对22个记录的有序表作折半查找,当查找失败时,至少需要比拟次关键字。 A.3 B.4 C.5 D. 6 〔 A 〕25. 链表适用于查找 A.顺序 B.二分法 C.顺序,也能二分法 D.随机 ?数据构造与算法?复习题 一、选择题。 1.在数据构造中,从逻辑上可以把数据构造分为 C 。 A.动态构造和静态构造 B.紧凑构造和非紧凑构造 C.线性构造和非线性构造 D.部构造和外部构造 2.数据构造在计算机存中的表示是指 A 。 A.数据的存储构造 B.数据构造 C.数据的逻辑构造 D.数据元素之间的关系 3.在数据构造中,与所使用的计算机无关的是数据的 A 构造。 A.逻辑 B.存储 C.逻辑和存储 D.物理 4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C 。 A.数据的处理方法 B.数据元素的类型 C.数据元素之间的关系 D.数据的存储方法 5.在决定选取何种存储构造时,一般不考虑 A 。 A.各结点的值如何 B.结点个数的多少 C.对数据有哪些运算 D.所用的编程语言实现这种构造是否方便。 6.以下说确的是 D 。 A.数据项是数据的根本单位 B.数据元素是数据的最小单位 C.数据构造是带构造的数据项的集合 D.一些外表上很不一样的数据可以有一样的逻辑构造 7.算法分析的目的是 C ,算法分析的两个主要方面是 A 。 〔1〕A.找出数据构造的合理性 B.研究算法中的输入和输出的关系 C.分析算法的效率以求改良 C.分析算法的易读性和文档性 〔2〕A.空间复杂度和时间复杂度 B.正确性和简明性 C.可读性和文档性 D.数据复杂性和程序复杂性 8.下面程序段的时间复杂度是 O(n2) 。 s =0; for( I =0; i<n; i++) for(j=0;j<n;j++) s +=B[i][j]; sum = s ; 9.下面程序段的时间复杂度是 O(n*m) 。 for( i =0; i<n; i++) for(j=0;j<m;j++) A[i][j] = 0; 10.下面程序段的时间复杂度是 O(log3n) 。 i = 0; while〔i<=n〕 i = i * 3; 11.在以下的表达中,正确的选项是 B 。 A.线性表的顺序存储构造优于链表存储构造 B.二维数组是其数据元素为线性表的线性表 C.栈的操作方式是先进先出 D.队列的操作方式是先进后出 12.通常要求同一逻辑构造中的所有数据元素具有一样的特性,这意味着 B 。 A.数据元素具有同一特点 B.不仅数据元素所包含的数据项的个数要一样,而且对应的数据项的类型要一致 C.每个数据元素都一样 D.数据元素所包含的数据项的个数要相等 13.链表不具备的特点是 A 。 A.可随机访问任一结点 B.插入删除不需要移动元素 C.不必事先估计存储空间 D.所需空间与其长度成正比 14.不带头结点的单链表head为空的判定条件是 A 。 A.head == NULL B head->next ==NULL C.head->next ==head D head!=NULL 15.带头结点的单链表head为空的判定条件是 B 。 A.head == NULL B head->next ==NULL C.head->next ==head D head!=NULL 16.假设某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,那么采用 D 存储方式最节省运算时间。 A.单链表 B.给出表头指针的单循环链表 C.双链表 D.带头结点的双循环链表 17.需要分配较大空间,插入和删除不需要移动元素的线性表,其存储构造是 B 。 A.单链表 B.静态链表 C.线性链表 D.顺序存储构造 18.非空的循环单链表head的尾结点〔由p所指向〕满足 C 。 A.p->next == NULL B.p == NULL C.p->next ==head D.p == head 19.在循环双链表的p所指的结点之前插入s所指结点的操作是 D 。 A.p->prior = s;s->next = p;p->prior->next = s;s->prior = p->prior B.p->prior = s;p->prior->next = s;s->next = p;s->prior = p->prior C.s->next = p;s->prior = p->prior;p->prior = s;p->prior->next = s D.s->next = p;s->prior = p->prior;p->prior->next = s;p->prior = s 20.如果最常用的操作是取第i个结点及其前驱,那么采用 D 存储方式最节省时间。 A.单链表 B.双链表 C.单循环链表 D. 顺序表 21.在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是 B 。 A.O〔1〕 B.O〔n〕 C.O〔n2〕 D.O〔nlog2n〕 22.在一个长度为n〔n>1〕的单链表上,设有头和尾两个指针,执行 B 操作与链表的长度有关。 A.删除单链表中的第一个元素 B.删除单链表中的最后一个元素 C.在单链表第一个元素前插入一个新元素 D.在单链表最后一个元素后插入一个新元素 23.与单链表相比,双链表的优点之一是 D 。 A.插入、删除操作更简单 B.可以进展随机访问 C.可以省略表头指针或表尾指针 D.顺序访问相邻结点更灵活 24.如果对线性表的操作只有两种,即删除第一个元素,在最后一个元素的后面插入新元素,那么最好使用 B 。 A.只有表头指针没有表尾指针的循环单链表 B.只有表尾指针没有表头指针的循环单链表 C.非循环双链表 D.循环双链表 25.在长度为n的顺序表的第i个位置上插入一个元素〔1≤ i ≤n+1〕,元素的移动次数为: A 。 A.n – i + 1 B.n – i C.i D.i – 1 26.对于只在表的首、尾两端进展插入操作的线性表,宜采用的存储构造为 C 。 A.顺序表 B. 用头指针表示的循环单链表 C.用尾指针表示的循环单链表 D.单链表 27.下述哪一条是顺序存储构造的优点? C 。 A插入运算方便 B可方便地用于各种逻辑构造的存储表示 C存储密度大 D删除运算方便 28.下面关于线性表的表达中,错误的选项是哪一个? B 。 A线性表采用顺序存储,必须占用一片连续的存储单元 B线性表采用顺序存储,便于进展插入和删除操作。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 语言版 期末 考试题 附带 复习资料
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文