数据结构与算法习题及答案

第1章 绪论

习题

1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。

2.试举一个数据结构的例子,叙述其逻辑结构和存储结构两方面的含义和相互关系。 3.简述逻辑结构的四种基本关系并画出它们的关系图。 4.存储结构由哪两种基本的存储方法实现? 5.选择题

(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.栈 6.试分析下面各程序段的时间复杂度。 (1)x=90; y=100;

while(y>0) if(x>100)

{x=x-10;y--;} else x++;

(2)for (i=0; i

for (j=0; j

(3)s=0;

for i=0; i

for(j=0; j

s+=B[i][j];

sum=s; (4)i=1;

while(i<=n) i=i*3; (5)x=0;

for(i=1; i

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

x++;

(6)x=n; //n>1

y=0;

while(x≥(y+1)* (y+1)) y++;

(1)O(1) (2)O(m*n) (3)O(n2) (4)O(log3n)

(5)因为x++共执行了n-1+n-2+……+1= n(n-1)/2,所以执行时间为O(n2) (6)O(n)

第2章 线性表

1.选择题

(1)一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( )。

A.110 B.108 C.100 D.120

(2)在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是( )。 A.访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n) B.在第i个结点后插入一个新结点(1≤i≤n) C.删除第i个结点(1≤i≤n) D.将n个结点从小到大排序 (3) 向一个有127个元素的顺序表中插入

>>闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧湱鈧懓瀚崳纾嬨亹閹烘垹鍊炲銈嗗笒椤︿即寮查鍫熷仭婵犲﹤鍟扮粻缁橆殽閻愭潙鐏村┑顔瑰亾闂侀潧鐗嗛幊鎰邦敊婵犲倵鏀介幒鎶藉磹閹版澘纾婚柟鎯у濡垶鏌熼鍡楃灱閸氬姊洪崫鍕効缂傚秳绶氶悰顕€宕堕澶嬫櫖闂佹寧绻傚Λ宀勫箰閸涱喚绡€闁汇垽娼ф禒婊勪繆椤栨熬鏀荤紒鍌氱Т楗即宕煎┑鍫О闂備線鈧偛鑻晶顔姐亜椤忓嫬鏆e┑鈥崇埣瀹曞崬螖閳ь剝銆栫紓鍌氬€搁崐鍝ョ矓閺夋嚦娑樜旈埀顒勬偝婵犳艾閿ゆ俊銈勭娴滄粓姊虹粙璺ㄧ闁汇劎鍏橀獮蹇涙惞閸︻厾锛滅紓鍌欓檷閸ㄥ綊鐛弽顓熺厵闁告劘灏欑粻娲煏閸ャ劌濮屾い锕€顕槐鎺撴綇閵娿儲璇為梺璇″枓閺呯姴鐣峰鈧幊鐘活敄閹稿骸浜濈紓鍌氬€搁崐椋庢閿熺姴绐楅柡宥庡幗閸嬪鏌熼幆褏锛嶉柡鍡畵閺岀喖鎮滃鍡樼暦闂佺ǹ锕﹂崗姗€骞冨Δ鍛仺闁谎嗩嚙濠€閬嶅极椤曗偓楠炲棜顦柡鈧禒瀣厽婵☆垵娅f禒娑㈡煛閸″繑娅呴柍瑙勫灴椤㈡瑧鍠婇崡鐐搭啀闂備胶鎳撶粻宥夊垂绾懐浜藉┑鐐存尰閸戝綊宕归幎钘夌劦妞ゆ帒鍟悡鎰版煏閸パ冾伃鐎殿喗娼欒灃闁逞屽墯缁傚秵銈i崘鈹炬嫼闂佸憡绻傜€氼噣鎮炵捄銊х<闁哄被鍎抽悾鐑橆殽閻愬弶顥㈢€殿噮鍣e畷濂割敃閿濆棙鐝┑鐘垫暩閸嬬偤宕归崼鏇熸櫇闁冲搫鍊搁閬嶆煥閻曞倹瀚�<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4