关于数据结构的题 数据结构练习.....
\u4e00\u4e2a\u5173\u4e8e\u6570\u636e\u7ed3\u6784\u7684\u9898\u5c31\u662fc\u554a\uff0c\u5e73\u5747\u8bbf\u95ee\u65f6\u95f4\u662f(n+1)/2\uff0c\u8fd9\u4e2a\u6570\u5b57\u7684\u65f6\u95f4\u590d\u6742\u5ea6\u5c31\u662fO(n)
, -> (5),4,5,6 \u7b2c3\u5c42
, -> (9),5,6 \u7b2c2\u5c42
5, -> (11),9 \u7b2c2\u5c42
9,11 -> 20 \u7b2c1\u5c42
(2+3)*3+(4+5+6)*2 = 15+30=45
()\u662f\u5408\u6210\u8282\u70b9
\u662f\u53f6\u8282\u70b9
\u5e26\u6743\u8def\u5f84\u957f\u5ea6\u4e4b\u548c=\u6bcf\u5c42\u4e0a\u53f6\u8282\u70b9\u548c*\u5c42\u6570
6.一个哈希函数被认为是“好的”,如果它满足条件_________。
(A)哈希地址分布均匀
(B)保证不产生冲突
(C)所有哈希地址在表长范围内
(D)满足(B)和(C)
本题的答案有疑问,因为如果不知道关键码值的全部集合根本就不可能设计出perfect的hash函数,当然就不可能保证不产生冲突,因此正常情况hash函数只要满足A即可,也就是hash的意译散列,一旦冲突了再来解决冲突,C则是必须满足的隐含条件
8.平均查找长度最短的查找方法是_____________。
(A)折半查找 (B)顺序查找 (C)哈希查找 (4)其他
答案为C,正常情况下就是有冲突,平均查找长度也不会大于4、5,如果是perfect 的hash函数,则ASL为1,而且与关键码的个数不直接相关,至于A的平均查找长度为log2n,并不是最小的
1、选择题
1.若在线性表中采用二分查找法查找元素,该线性表应该( C )。
A.元素按值有序 B.采用顺序存储结构
C.元素按值有序,且采用顺序存储结构
D.元素按值有序,且采用链式存储结构
2.对二叉排序树进行___B______遍历,可以得到该二叉树所有结点构成的有序序列。
(A) 前序 (B)中序 (C)后序 (D)按层次
3.利用逐点插入法建立序列(51,71,43,81,74,20,34,45,64,30)对应的二叉排序树以后,查找元素34要进行( A )元素间的比较。
A.4次 B.5次 C. 7次 D.10
4.对二叉排序树进行____B________遍历,可以得到该二叉树所有结点构成的有序序列。
(A) 前序 (B)中序 (C)后序 (D)按层次
5.散列函数有一个共同性质,即函数值应按( C )取其值域的每一个值。
A.最大概率 B.最小概率 C.同等概率 D.平均概率
6.一个哈希函数被认为是“好的”,如果它满足条件____D_____。
(A)哈希地址分布均匀
(B)保证不产生冲突
(C)所有哈希地址在表长范围内
(D)满足(B)和(C)
7.哈希表的平均查找长度是_____D_____的函数。
(A)哈希表的长度 (B)表中元素的多少
(C)哈希函数 (D)哈希表的装满程度
8.平均查找长度最短的查找方法是______A______。
(A)折半查找 (B)顺序查找 (C)哈希查找 (4)其他
2、判断题
1.在有序表的查询过程中,设立“哨兵”的作用是为了提高效率。( √ )
2.对于折半查找,其前提条件是待查找序列只要是有序的即可。 ( × )
三、单项选择题
( C )1. 数据结构中,与所使用的计算机无关的是数据的 结构;
A) 存储 B) 物理 C) 逻辑 D) 物理和存储
( C )2. 算法分析的目的是:
A) 找出数据结构的合理性 B) 研究算法中的输入和输出的关系
C) 分析算法的效率以求改进 D) 分析算法的易懂性和文档性
( A )3. 算法分析的两个主要方面是:
A) 空间复杂性和时间复杂性 B) 正确性和简明性
C) 可读性和文档性 D) 数据复杂性和程序复杂性
( C )4. 计算机算法指的是:
A) 计算方法 B) 排序方法 C) 解决问题的有限运算序列 D) 调度方法
( C )5. 计算机算法必须具备输入、输出和
等5个特性。
A) 可行性、可移植性和可扩充性 B) 可行性、确定性和有穷性
C) 确定性、有穷性和稳定性 D) 易读性、稳定性和安全性
( C )6.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为:
(A)存储结构 (B)逻辑结构 (C)顺序存储结构 (D)链式存储结构
( A )7. 一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是
(A)110 (B)108 (C)100 (D)120
( C )8. 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动 个元素
(A)8 (B)63.5 (C)63 (D)7
( AF )9. 链接存储的存储结构所占存储空间:
(A) 分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针
(B) 只有一部分,存放结点值
(C) 只有一部分,存储表示结点间关系的指针
(D) 分两部分,一部分存放结点值,另一部分存放结点所占单元数
(E)一定是不连续的 (F)连续或不连续都可以
( B )10. 线性表L在 情况下适用于使用链式结构实现。
(A)需经常修改L中的结点值 (B)需不断对L进行删除插入
(C)L中含有大量的结点 (D)L中结点结构复杂
( A )11. 栈中元素的进出原则是
A.先进先出 B.后进先出 C.栈空则进 D.栈满则出
( C )12. 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为
A.i B.n-i C.n-i+1 D.不确定
四、简答题
1. 试比较顺序存储结构和链式存储结构的优缺点。分别在什么情况下用二者更适合?
顺序存储结构的主要优点是:
节省存储空间,结点之间的逻辑关系没有占用额外的存储空间。
可实现对结点的随机存取。
主要缺点是:在作插入或删除操作时,可能需移动大量元素。
链式存储结构的主要优点是:
逻辑上相邻的节点物理上不必相邻;插入、删除灵活 (不必移动节点,只要改变节点中的指针)。
缺点是:
比顺序存储结构的存储密度小;查找结点时链式存储要比顺序存储慢。
2. 顺序队的“假溢出”是怎样产生的?如何知道循环队列是空还是满?
系统作为队列用的存储区还没有满,但队列却发生了溢出,我们把这种现象称为"假溢出"。
判断是空是满的方法为:Q->rear=(Q->rear+1) % QueueSize;
3. 设循环队列的容量为40(序号从0到39),现经过一系列的入队和出队运算后,有
① front=11,rear=19; ② front=19,rear=11;问在这两种情况下,循环队列中各有元素多少个?
第一种情况为:N=Q->rear-Q->front=8
第二种情况为:N=Q->rear+40-Q->front=32
绛旓細銆鏁版嵁缁撴瀯銆嬬1鏁欏鍗曞厓娴嬭瘯缁冧範棰樹竴銆侀夋嫨1銆侀氬父浠庢纭с佹槗璇绘с佸仴澹с侀珮鏁堟х瓑鍥涗釜鏂归潰璇勪环绠楁硶(鍖呮嫭绋嬪簭)鐨勮川閲忋備互涓嬭В閲婇敊璇殑鏄()A銆佹纭х畻娉曞簲鑳芥纭湴瀹炵幇棰勫畾鐨勫姛鑳(鍗冲鐞嗚姹)B銆佹槗璇绘х畻娉曞簲鏄撲簬闃呰鍜岀悊瑙d互渚夸簬璋冭瘯淇敼鍜屾墿鍏匔銆佸仴澹у綋鐜鍙戠敓鍙樺寲鏃讹紝绠楁硶鑳介傚綋鍦板仛鍑哄弽搴旀垨...
绛旓細A銆佸揩閫熸帓搴廈銆佺洿鎺ユ彃鍏ユ帓搴廋銆佸爢鎺掑簭D銆佸綊骞舵帓搴忕29棰 (2.0) 鍒 n涓褰曠洿鎺ラ夋嫨鎺掑簭鏃舵墍闇鐨勮褰曟渶澶氫氦鎹㈡鏁版槸( )銆侫銆乶-1B銆乶C銆乶(n-1)/2D銆乶(n+1)/2绗30棰 (2.0) 鍒 浠庣悊璁轰笂璁,灏嗘暟鎹互( )缁撴瀯瀛樻斁,鏌ユ壘涓涓鏁版嵁鐨鏃堕棿涓嶄緷璧栦簬鏁版嵁鐨勪釜鏁皀銆侫銆佷簩鍙夋煡鎵炬爲 B銆侀摼琛–銆佹暎鍒楄〃D銆侀『搴...
绛旓細1銆 閿 2銆 瀵 鏍囧噯绛旀:2 鏈寰楀垎:5 棰樺彿:2 棰樺瀷:鏄潪棰 鏈鍒嗘暟:5 鍐呭:瀛愪覆鏄富涓蹭腑浠绘剰涓繛缁瓧绗︾粍鎴愮殑搴忓垪銆1銆 閿 2銆 瀵 鏍囧噯绛旀:1 瀛﹀憳绛旀:2 鏈寰楀垎:0 棰樺彿:3 棰樺瀷:鏄潪棰 鏈鍒嗘暟:5 鍐呭:椤哄簭瀛樺偍鏄竴绉嶉殢鏈哄瓨鍙栫殑鏁版嵁缁撴瀯銆1銆 閿 2銆 瀵 鏍囧噯绛旀:2 ...
绛旓細涓銆侀夋嫨棰 1锛嶤 2锛嶥 瑙f瀽锛欰锛庡畬鍏ㄤ簩鍙夋爲鍙互鐢ㄦ暟缁勫瓨鍌紝鏍戞槸闈炵嚎鎬缁撴瀯 B锛庨摼琛ㄤ笖鎻掑叆鍜屽垹闄よ繍绠楁晥鐜囬珮 C锛庨摼琛ㄤ篃鏈夊弻鍚戦摼琛 锛屾湁涓や釜鎸囬拡鍩 3锛嶢 4锛嶢锛庨『搴忚〃鍙殢鏈鸿闂换涓鍏冪礌 5锛嶥 6锛庤繖閬撻浣犳槸涓嶆槸寮勯敊浜 鍏ㄩ兘瀵瑰晩 7锛嶥 婊′簩鍙夋爲 锛氱粨鐐规绘暟鐩甆=2^H -1 H涓烘暟楂樺害 ...
绛旓細渚濋锛岀1琛屽瓨鍏鏁扮粍鐨勪负涓や釜鍏冪礌a[1][1]鍜宎[1][2]鏈鍚1琛屼篃灏辨槸绗琻琛屽瓨鍏鏁扮粍鐨勪篃涓轰袱涓厓绱燼[n][n-1]鍜宎[n][n]鍏朵綑n-2琛屽瓨鍏鏁扮粍鐨勯兘涓3涓厓绱狅紝鎵浠ヤ竴鍏2*2+3(n-2)=3n-2涓厓绱犲瓨鍏鏁扮粍 瀵逛簬鍏冪礌a[i][j]锛岃嫢i==1涔熷氨鏄1琛岋紝鍒檃[1][1]鍜宎[1][2]鍒嗗埆...
绛旓細鏁版嵁缁撴瀯璇曢 涓銆佸~绌洪 1銆佹暟鎹被鍨嬪垎涓猴紙绾挎э級鏁版嵁绫诲瀷鍜岋紙闈炵嚎鎬э級鏁版嵁绫诲瀷銆2銆佺畻娉曟槸涓涓鏈夊叧鎸囦护鐨勬湁闄愰泦鍚堬紝瀹冮』绗﹀悎锛堟湁绌锋э級銆侊紙姝g‘鎬э級銆侊紙鍙鎬э級绛夊噯鍒欍3銆佽嫢鑻辨枃瀛楁瘝琛紙A锛孊锛孋锛屸斺擹锛夋槸涓涓嚎鎬ц〃銆傚叾缁撶偣鏄崟涓瓧姣嶏紝璇ョ嚎鎬ц〃鍏辨湁锛26锛変釜缁撶偣銆傞氬父鐢ㄥ墠缂鍜屽悗缁ф潵...
绛旓細A銆乶-1B銆乶C銆乶(n-1)/2D銆乶(n+1)/2绗30棰 (2.0) 鍒 浠庣悊璁轰笂璁,灏嗘暟鎹互( )缁撴瀯瀛樻斁,鏌ユ壘涓涓鏁版嵁鐨鏃堕棿涓嶄緷璧栦簬鏁版嵁鐨勪釜鏁皀銆侫銆佷簩鍙夋煡鎵炬爲 B銆侀摼琛–銆佹暎鍒楄〃D銆侀『搴忚〃绗31棰 (2.0) 鍒 闈欐佹煡鎵捐〃涓庡姩鎬佹煡鎵捐〃浜岃呯殑鏍规湰宸埆鍦ㄤ簬( )銆侫銆佸畠浠殑閫昏緫缁撴瀯涓嶄竴鏍稡銆佹柦鍔犲湪鍏朵笂鐨勬搷浣滀笉鍚孋...
绛旓細1.涓涓叿鏈10涓《鐐圭殑瀹屽叏鏃犲悜鍥句腑鏈塤45_鏉¤竟銆2.鍦ㄦ棤鍚戝浘涓紝濡傛灉浠庨《鐐箆鍒伴《鐐箆'鏈夎矾寰勶紝鍒欑Оv鍜寁'鏄痏鍙揪鐨勬垨杩為歘鐨勩傚鏋瀵逛簬鍥句腑鐨勪换鎰忎袱涓《鐐箆i,vj鈭圴,涓攙i鍜寁j閮芥槸杩為氱殑锛屽垯绉癎涓篲杩為氬浘_.3.娣卞害涓簁(k>=1)鐨勪簩鍙夋爲鑷冲鏈塤2鐨刱-1娆℃柟_涓粨鐐广4.鏈塵涓彾瀛愮粨鐐圭殑鍝...
绛旓細n - i + 1 9. 鍚戜竴涓暱搴︿负n鐨勫悜閲忎腑鍒犻櫎绗琲涓厓绱(1鈮鈮)鏃讹紝闇鍚戝墠绉诲姩 涓厓绱犮俷 - i 10. 鍦ㄩ『搴忚〃涓闂换鎰忎竴缁撶偣鐨勬椂闂村鏉傚害鍧囦负 锛屽洜姝わ紝椤哄簭琛ㄤ篃绉颁负 鐨鏁版嵁缁撴瀯銆侽(1)闅忔満璁块棶 11. 椤哄簭琛ㄤ腑閫昏緫涓婄浉閭荤殑鍏冪礌鐨勭墿鐞嗕綅缃 鐩搁偦銆傚崟閾捐〃涓昏緫涓婄浉閭荤殑鍏冪礌鐨勭墿...
绛旓細绗竴棰:C 鏁版嵁鐨閫昏緫缁撴瀯鍒嗕负锛氱嚎鎬х粨鏋勫拰闈炵嚎鎬х粨鏋 鏁版嵁鐨勫瓨鍌ㄧ粨鏋勫垎涓猴細椤哄簭瀛樺偍缁撴瀯鍜岄摼寮忓瓨鍌ㄧ粨鏋 绗簩棰橈細B 绗洓棰橈細C鎴戜釜浜哄彲浠ュ埄鐢ㄤ簩璺綊骞剁殑鎺掑簭鏂规硶锛屽埄鐢ㄧ壒娈婃儏鍐礚1(low1,high1),L2(low2,high2),涓攍ow2>hign1銆傜涓冮锛欰 鑻鏄竴涓猰*n鐨勪簩缁存暟缁勶紝鏁扮粍涓嬫爣浠庨浂寮濮嬶紝浠ュ垪涓轰富...