高分求数据结构(C语言)高手做题!(200悬赏+50追加+20采纳=270分) 高分求:李益明数据结构(C语言描述)习题!!!!!!
\u9ad8\u5206\u6c42\u4e25\u851a\u654f\u300a\u6570\u636e\u7ed3\u6784\u9898\u96c6(C\u8bed\u8a00\u7248)\u300b\u5b8c\u6574\u7b54\u6848\u4e25\u851a\u654f\u7b54\u6848\u6ca1\u6709\u5168\u7684\uff0c\u53ea\u6709\u5230\u7b2c10\u7ae0\u7684\uff0c\u6211\u8fd9\u91cc\u7684\u8003\u7814\u8d44\u6599\u4e5f\u90fd\u662f\u5230\u7b2c10\u7ae0\uff0c\u6211\u540c\u5b66\u7684\u4e5f\u662f\u3002\u53ef\u80fd\u51fa\u7248\u7684\u65f6\u5019\u4e5f\u5c31\u670910\u7ae0\uff0c\u4e0d\u77e5\u9053\u4f60\u662f\u5426\u9700\u8981\uff0c\u5982\u679c\u9700\u8981\uff0c\u7ad9\u5185\u8054\u7cfb\u3002\u6211\u6709\u4e24\u4e2a\u7248\u672c\uff0c\u4e00\u4e2a\u662fword\u4e00\u4e2a\u662fpdf\u3002
\u4f60\u8981\u7684\u8d44\u6599\u5df2\u7ecf\u53d1\u9001\u81f3\u4f60\u90ae\u7bb1\uff0c\u8bf7\u6ce8\u610f\u67e5\u6536\u3002
\u8fd9\u4e2a\u4e1c\u897f\u6700\u597d\u53bb\u65b0\u534e\u4e66\u5e97\u5427\uff0c\u73b0\u5728\u65b0\u534e\u4e66\u5e97\u4e0d\u50cf\u4ee5\u524d\uff0c\u65b0\u589e\u4e86\u597d\u591a\u4e66\u4e86\u3002
\u7f51\u7ad9\u4e0a\u4e5f\u5f88\u96be\u627e\u5230\uff0c\u5c31\u7b97\u627e\u5230\u4e86 \u770b\u548c\u64cd\u4f5c\u5728\u4e00\u4e2a\u5c4f\u5e55\u4e5f\u4e0d\u65b9\u4fbf\u7684\u3002
\u6700\u4f73\u9009\u62e9\u662f\u53bb\u65b0\u534e\u4e66\u5e97\u3002
A)存储结构 B)抽象结构 C)顺序结构 D)逻辑结构
12.在下列序列中,不是线性表的是( D )。
A)('a','b','c') B)('AB','CD') C)('a',true,'c') D)(a,b,c,d)
13.线性链表中各链结点之间的地址( D )。
A)必须连续 B)部分地址必须连续 C)不一定连续 D)连续与否无所谓
14.如某链表中最常用的操作是在最后一个结点后插入一个结点和删除最后一个结点,则( D )存储方式最节省运行时间。
A)单链表 B)带头结点的单链表 C)单循环链表 D)带头结点的双循环链表
26.从一个具有头结点的单链表中查找数据元素值为x的结点时,在查找成功的情况下,平均比较次数是( B)。
A)n B)n/2 C)(n-1)/2 D)(n+1)/2
27.对于长度为n的顺序线性表进行删除元素操作,如删除每个元素的概率相同,则删除一个元素移动元素的平均次数是( B )。
A)n/2 B)(n-1)/2 C)(n+1)/2 D)Dn
38.串是( B )。
A)不少于一个字符的序列 B)有限个字符的序列
C)不少于一个字母的序列 D)任意个字母的序列
40.当矩阵非零元素的位置或个数经常变动时,采用( C )存储结构更为恰当。
A)顺序表 B)三元组表 C)十字链表 D)广义表
41.一个三对角矩阵An×n已按行压缩存储到一维数组B中,则B的长度至少为(C)。
A)3n+1 B)3n C)3n-1 D)3n-2
42.广义表((a,b),(c,d))的表尾是( A )。
A)(c,d) B)((c,d)) C)(d) D)d
44.设一棵二叉树中没有度为1的结点,已知叶子结点数为n,此树的结点数为( B )。
A)2n+2 B)2n+1 C)2n D)2n-1
45.设二叉树中有n2个度为2的结点,n1个度为1的结点,n0个叶子结点,则此二叉树中空指针域个数为( D )。
A)n0+n1+n2 B)n2+n1+2n0 C)2n2+n1 D)2n0+n1
48. A、B两个结点可以构成( C )棵不等价的二叉树。
A)2 B)3 C)4 D)5
49.设哈夫曼树的叶结点数为n,则它的结点总数为( A )。
A)2n-1 B)2n C)2n+1 D)不确定
50.采用邻接表存储的图按深度优先搜索方法进行遍历的算法类似于二叉树的(D )。
A)先序遍历 B)中序遍历 C)后序遍历 D)层次遍历
59.快速排序执行一遍之后,已经到位的元素个数是( A )。
A)1 B)3 C) D)
60.在下列算法中,操作时间不随文件的初始状态变化的排序算法是( B )。
A)堆排序 B)折半插入排序 C)基数排序 D)快速排序
61.数据表中有10000个元素,如果仅需求出其中最大的10个元素,则采用( D )
A)快速排序 B)希尔排序 C)堆排序 D)直接选择排序
62.快速排序在最坏情况下时间复杂度是O(n2),比( D )的性能差。
A)堆排序 B)起泡排序 C)选择排序 D)直接插入排序
63.下列排序算法中一趟结束后未必能选出一个元素放在其最终位置上的算法是(A)。
A)快速排序 B)冒泡排序 C)树形选择排序 D)归并排序
64.若需在O(nlogn)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是( B )。
A)快速排序 B)堆排序 C)归并排序 D)直接插入排序
65.初始文件中有两个关键字相同的记录,通过不稳定的排序方法排序后,(D)。
A)使得领先关系不发生变化 B)领先关系一定发生变化
C)两个位置都不会发生变化 D)领先关系可能发生变化
66.如果只想得到1000个元素组成的序列中第5个最小元素之前的部分排序的序列,用( B )方法平均时间最少。
A)起泡排序 B)简单选择排序 C)Shell排序 D)堆排序问题补充:
77.一组记录的排序码为(48,24,18,53,16,26,40),采用冒泡排序法进行排序,则第一趟排序需要进行记录交换的次数是(C)。
A)3 B)4 C)5 D)6
78.在下列排序方式中,关键码比较次数与记录的初始排列无关的是(D)。
A)直接选择排序 B)冒泡排序 C)堆排序 D)归并排序
79.倒排文件的最大优点是( B)。
A)便于进行文件的归并 B)有利于文件的插入与删除
C)能大大地提高主关键字的查找速度 D)能大大地提高次关键字的查找速度
80.文件中可使用的数据的最小单位是(B )。
A)记录 B)字符 C)数据项 D)数据元素
81.ISAM文件和VASM文件属于(C )。
A)索引非顺序文件 B)索引顺序文件 C)顺序文件 D)散列文件
A)先序遍历 B)中序遍历 C)后序遍历 D)按层遍历
181.使用散列函数hashf(x)=x MOD 11,把一个整数值转换成散列表下标,现要把数据 1、13、12、34、38、33、27、22插入到散列表中。
(1)使用线性探查再散列法来构造散列表并同时列出每个数据的比较次数。
(2)使用链地址法来构造散列
法加了一个判断,仅此而已,便于初学者的理解。
//---------------------------------------------------------------------------
已经更改为你要的程序:
//---------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#define ENDIN (-1) /*括号里面的-1是结束标志,可以在此改为其它的整数*/
typedef struct Node{
int data;
struct Node *r;
struct Node *l;
} node;
typedef node *bt;
bt BST(bt a,int d)
{
if (a==NULL) {
a=(bt)malloc(sizeof(node));
a->data =d;
a->r=a->l=NULL;
}
else if (d<a->data ) {
a->l=BST(a->l ,d);
}
else if (d>=a->data ) {
a->r=BST(a->r,d);
}
return a;
}
bt init(void) /*创建一颗二叉排序树,输入结束标志时结束输入*/
{
int i=0;
bt tree=NULL;
while (scanf("%d",&i),i!=ENDIN){
tree=BST(tree,i);
}
return tree;
}
unsigned int inorder(bt a) /*中序遍历输出叶结点,并返回叶结点的个数*/
{
static unsigned int s=0;
if (a) {
inorder(a->l);
if (a->r==NULL&&a->l==NULL) {
++s;
printf("%d\t",a->data);
}
inorder(a->r);
}
return s;
}
void FreeTree(bt t) /*删除树*/
{
if (t) {
FreeTree(t->l);
FreeTree(t->r);
}
free(t);
}
int main(void)
{
bt te;
te=init();
printf("\n\nLeaf node:%d\n\n",inorder(te));
FreeTree(te);
return 0;
}
//---------------------------------------------------------------------------
B C C D D
B B B A B
D D C D A
A C C A D
B D D
补充里面的DCCCB
这么多题啊,还好都是选择题
1.B 、12.C、13.D、14.D、26.D
27.B、38.B、40.C、41.A、42.B
44.D、45.A、48.C、49.D、50.A
59.A、60.B、61.C、62.A、63.D
64.B、65.D、66.C
77.D、78.C、79.B、80.C、81.B
小子,你花头不小啊,这样搞,还算是你复习的吗?你怎么不干脆把期末考卷贴这来啊?
绛旓細!!!楂樺垎,鍑犱釜鏁版嵁缁撴瀯棰樼洰,姹傜瓟妗,楂樺垎!!! 1,涓鍏冨椤瑰紡璁$畻浠诲姟,鑳藉鎸夌収鎸囨暟闄嶅簭鎺掑垪寤虹珛骞惰緭鍑哄椤瑰紡,鑳藉瀹屾垚涓や釜澶氶」寮忕殑鐩稿姞鐩稿噺杩愮畻,骞惰緭鍑虹粨鏋溿2...浠ヤ笂鍙鑳芥弧瓒宠姹備换鍔″嵆鍙,涓嶇敤澶冭檻鍔熻兘鐨勫渾婊,浠ュ強鐣岄潰鐨勫弸濂芥,鏈濂借兘缁欏嚭婧绋嬪簭銆傝皟璇曢氳繃,绔嬪埢閫佸垎,灏介噺涓変釜閮藉仛鎰熻阿楂樻墜浠,鎬,閫熷害瑙g瓟!!!4 ...
绛旓細鏈浼樹簩鍙夋爲鏄负浜嗚В鍐崇壒瀹氶棶棰樺紩鍑虹殑鐗规畩浜屽弶鏍缁撴瀯,瀹冪殑鍓嶆彁鏄粰浜屽弶鏍戠殑姣忔潯杈硅祴浜堜簡鏉冨,杩欐牱褰㈡垚鐨勪簩鍙夋爲鎸夋潈鐩稿姞涔嬪拰鏄渶灏忕殑銆傛渶浼樹簩鍙夋爲涓鑺,鐩存帴鑰冩煡绠楁硶婧愮爜鐨勫緢灏,涓鑸槸缁欎綘涓缁鏁版嵁,瑕佹眰浣犲缓绔嬪熀浜庤繖缁勬暟鎹殑鏈浼樹簩鍙夋爲,骞舵眰鍑哄叾鏈灏忔潈鍊间箣鍜,姝ょ被棰樼洰涓嶉毦,灞為佸垎棰樸6.鏍戜笌妫灄:浜屽弶鏍戞槸涓绉...
绛旓細{ menu(); menu_select(); return 0;}杩欐槸鎴戜互鍓嶅啓杩囩殑涓涓绋嬪簭,閲岄潰鍖呭惈浜嗗崟鍚戦摼琛ㄧ殑鍚勭鎿嶄綔,浣犲彲浠ョ湅涓鐪嬨傝嚦浜庝綘璇寸殑褰掑苟,瀹炲湪涓嶅ソ鎰忔,杩樻病鏈夊鏁版嵁缁撴瀯,閭d釜甯笉浜嗕綘銆傛偓璧忔垜涔熶笉瑕,娌℃湁瑙e喅闂銆 杩介棶 鍡棷,浣犺繖涓仛寰楁尯濂界殑,璋㈠暒 宸茶禐杩 宸茶俯杩< 浣犲杩欎釜鍥炵瓟鐨勮瘎浠锋槸? 璇勮 鏀惰捣 ...
绛旓細鏁版嵁缁撴瀯C婧愪唬鐮,鏁版嵁缁撴瀯锛涓ユ叞鏁忥級閰嶅绾疌浠g爜 ftp://218.16.224.142/testdoc/%B5%C8%BC%B6%BF%BC%CA%D4/%CA%FD%BE%DD%BD%E1%B9%B9%A3%A8%D1%CF%CE%BF%C3%F4%A3%A9%C5%E4%CC%D7%B4%BFc%B4%FA%C2%EB.rar 鏍戝拰浜屽弶鏍戝湪绗6绔,鏂囦欢鍦╟h6鏂囦欢澶瑰唴 鏁版嵁缁撴瀯锛堜弗鎱版晱锛夊師...
绛旓細typedef struct //瀹氫箟鍝堝笇琛ㄧ殑缁撴瀯 {int elem[MAXSIZE]; //鏁版嵁鍏冪礌浣 HAVEORNOT elemflag[MAXSIZE]; //鍏冪礌鐘舵佹爣蹇楋紝娌℃湁璁板綍銆佹湁璁板綍銆佹湁杩囪褰曚絾宸茶鍒犻櫎 int count; //鍝堝笇琛ㄤ腑褰撳墠鍏冪礌鐨勪釜鏁 }HashTable;typedef struct {int keynum; //璁板綍鐨勬暟鎹煙锛屽彧鏈夊叧閿瓧涓椤 }Record;void ...
绛旓細s[1000];printf("璇疯緭鍏ュ垵濮嬪寲鐨勫瓧绗︿覆\ ");scanf("%s",&s);LT *A;Sqlist *B;CreatLT(&A,s);printf("杞崲杩涜涓...\ ");linkTOlist(A,&B);printf("杞崲鍚庤緭鍑轰负\ ");int k=0;for(k;k<B->len;k++)printf("%c ",B->r[k]);return 0;} 涓嶇煡鏄惁婊℃剰锛燂紵锛
绛旓細浣犵殑绋嬪簭鏄竴涓彍鍗曢夋嫨鍛戒护绫诲瀷鐨勬搷浣 閫氳繃杈撳叆1锛2锛3锛4鍒嗗埆鎵ц涓嶅悓鎿嶄綔锛岃嫢杈撳叆鍏朵粬瀛楃鍒欒緭鍏ラ敊璇 鎴戜粠鍓嶅埌鍚庝緷娆$粰浣犵畝鍗曡В閲婁竴涓嬪悇涓姛鑳姐倀ypedef struct node锛屽畾涔変竴涓缁撴瀯浣擄紝鍖呭惈2涓彉閲忥紝缁撶偣鏁版嵁鍊笺佹寚鍚戜笅涓涓粨鐐圭殑鎸囬拡鍊笺俵ink * get(link *l, int i) 锛岃幏鍙栨寚瀹氫綅缃粨鐐圭殑鍊硷紝...
绛旓細scanf("%f,%d",&c,&e);} } void PrintPoly(Polylist P){/*杈撳嚭澶氶」寮*/ Polynode *s;s=P->next;printf("\n");while(s){ printf("+%fx^%d",s->coef,s->exp);s=s->next;} printf("\n");} void DerivativePoly(Polylist P,Polylist *DP){/*姹傚椤瑰紡P鐨勫鏁帮紝缁撴灉鏀惧湪*DP...
绛旓細2014-07-13 鏁版嵁缁撴瀯璇剧▼璁捐:瀛︾敓鎴愮哗绠$悊绯荤粺(C++鍜孋),姹傚ぇ绁炲府甯... 2014-07-07 璺眰涓涓鐢熸垚缁╃鐞嗙郴缁熺殑C++绋嬪簭!!! 2010-12-16 c++璁捐瀛︾敓鎴愮哗绠$悊绯荤粺 178 2012-01-30 姹傛暟鎹粨鏋鍜宑++缁撳悎鐨勫鐢熸垚缁╃鐞嗙郴缁焴~~婧愪唬鐮,鍙互... 2015-01-08 楂樺垎鎬ユ眰涓閬揷++绋嬪簭璁捐棰,鍏充簬瀛︾敓鎴愮哗绫荤殑棰 6 ...
绛旓細2銆傚ぇ鏁存暟鐨勫姞鍑忎箻闄よ繍绠楄 http://www.cppblog.com/elva/archive/2007/08/15/30070.html 3銆佸啓涓涓暱闀跨殑2杩涘埗鏁般侼娆℃柟锛1灏卞湪 鍙虫暟绗嚑浣嶏紝鍏跺畠浣嶄负 0 鎴栬呯敤 1 鐨 宸︾Щ杩愮畻琛ㄧず 0x0001 << N 4銆侀摼琛ㄦ搷浣,鎶 鏁版嵁缁撴瀯鐨勪功 蹇靛畬鎵嶈兘鏄庣櫧銆5銆 鎶婁竴鐧句竾涓暟瀛楀瓨鏀惧湪鏁版嵁鏂囦欢abc....