关于数据结构的问题,100分,急用速度!! 100分求做一个数据结构习题
\u6c42\u5927\u795e\u5e2e\u5fd9\u505a\u4e00\u4e0b\u5173\u4e8e\u6570\u636e\u7ed3\u6784\u7684\u9898\u76ee\uff0c\u8dea\u8c22\uff0c\u60ac\u8d4f100\u5206\uff01\uff01\uff01\u7ea6\u745f\u592b\u73af\u5f88\u7b80\u5355\uff1a
#include #include typedef struct node{ int value; struct node *next; }NODE; //\u5efa\u7acb\u5faa\u73af\u94fe\u8868(\u5c3e\u63d2\u6cd5\u5efa\u7acb)//NODE *createlink(int number) { NODE *head=NULL,*p=NULL,*q=NULL; int i=1; head=(struct node*)malloc(sizeof(struct node)); //***\u5efa\u7acb\u7b2c\u4e00\u4e2a\u8282\u70b9***// head->value=i; p=head; for(i=2;inext=q; p=q; p->value=i; } p->next=head; return head; } //\u5efa\u7acb\u7ea6\u745f\u592b\u73afvoid jose(NODE *p,int number,int n) { int i,j,g=0; NODE *q=NULL; for(i=1;inext; q=p->next; //***q\u7528\u6765\u8bb0\u5f55\u8981\u5220\u9664\u7684\u8282\u70b9p->next=q->next; //****\u5220\u53bbq\u8282\u70b9p=p->next; printf("\u7b2c%3d\u4e2a\u51fa\u5708\u53f7\u662f\uff1a%3d\n",i,q->value); free(q); } printf("\n"); // p->next=NULL; } //\u4e3b\u51fd\u6570int main( ) { int number=0; int n=0; printf("\u8bf7\u8f93\u5165\u603b\u4eba\u6570number\u548c\u51fa\u62f3\u7f16\u53f7n:\n"); scanf("%d",&number); scanf("%d",&n); NODE *head=NULL; head=createlink(number); jose(head,number,n); system("PAUSE"); return 1; } \u7b2c\u4e8c\u4e2a\u76f4\u63a5\u7528\u5355\u94fe\u8868\u5c31\u53ef\u4ee5\u4e86\uff0c\u5199\u4e0d\u4e0b\u4e86\uff0c\u4f60\u518d\u95ee\u4e00\u4e2a\uff0c\u6211\u7ed9\u4f60\u7b2c\u4e8c\u4e2a\u7684
#include
#include
typedef int MYTYPE;
void Merge(MYTYPE x[], MYTYPE tmp[], int lpos, int rpos, int rightend){
int leftend= rpos - 1,
numelements = rightend - lpos + 1,
tmppos= lpos,i;
while ((lpos <= leftend) && (rpos <= rightend))
tmp[tmppos++] = x[lpos] <= x[rpos] ? x[lpos++] : x[rpos++];
while (lpos <= leftend) tmp[tmppos++] = x[lpos++];
while (rpos <= rightend)tmp[tmppos++] = x[rpos++];
for (i = 0; i < numelements; ++i, --rightend) x[rightend] = tmp[rightend];
}
void MSort(MYTYPE x[], MYTYPE tmp[], int left, int right){
if (left >= right) return;
int center = (left + right) / 2;
MSort(x, tmp, left, center);
MSort(x, tmp, center + 1, right);
Merge(x, tmp, left, center + 1, right);
}
void MergeSort(MYTYPE x[], int n){
MYTYPE *tmp = (MYTYPE*)malloc(n*sizeof(MYTYPE));
MSort(x, tmp, 0, n - 1);
free(tmp);
}
void main() {
int ar[10],i;
for(i=0;i<10;++i){
printf("\u8f93\u5165\u7b2c%d\u4e2a\u6570:",i+1);
scanf("%d",&ar[i]);
}
for(i=0;i<10;++i) printf("%d,",ar[i]);
MergeSort(ar,10);
printf("\n\u6392\u5e8f\u540e:\n");
for(i=0;i<10;++i) printf("%d,",ar[i]);
printf("\n");
}\u7b97\u6cd5\u8f6c\u81ea,\u4ee3\u7801\u4e5f\u53ef\u4ee5\u7f16\u8bd1,\u6211\u6d4b\u8bd5\u4e86\u4e0b
\u4f60\u770b\u4e0b\u6709\u6ca1\u5e2e\u52a9\u5427
\u4e3a\u4ec0\u4e48 \u5b64\u50b2\u203b\u738b\u5b50 \u8fd9\u79cd\u8d34\u6d77\u62a5\u5237\u5206\u7684\u4eba\u6709\u5b58\u5728\u8fd9\u4e2a\u4e16\u754c\u7684\u5fc5\u8981\u5462?\u6211\u771f\u662f\u4e0d\u7406\u89e3\u4e0a\u5e1d\u7684\u7528\u610f,\u662f\u6765\u544a\u77e5\u4eba\u4e16\u7684\u60b2\u54c0,\u8fd8\u662f\u60f3\u4e3a\u4e00\u4e2a\u5e38\u4eba\u4f5c\u70b9\u886c\u6258\u5462?
s->next=(1);
p->next=(2);
其中(1)和(2)中应填入的语句为(p->next)、(s)。
5、在一个单链表中删除q所指结点时,应执行一下操作:
q=p->next;
p->next=(1);
free(q);
其中(1)中应填入的语句是:(q->next)。
6、某二叉树的前序遍历序列为abdgcefh,中序遍历的序列是dgbaechf,则其后序遍历的序列是(gdbehfca),其叶子结点有(g和h2)个。
7、具有4个顶点的无向完全图有(不好意思,不知道)条边。
选择题:
1、 一个线性表的第一个元素的存储地址是100,每个元素的长度为1,则第5个元素的地址是:D
A、105 B、106 C、108 D、104
2、 一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是D
A、edcba B、decba C、dceab D、abcde
3、 对5个不同的数据元素进行直接插入排序,最多需要进行B次比较。
A.8 B. 10 C. 15 D. 25
4、 向顺序栈中压入新元素时,应当(B)
A、先移动栈顶指针,再存入元素
B、先存入元素,再移动栈顶指针
C、先后次序无关紧要
D、同时进行
5、 在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p
之间插入结点s,则执行A
A、s->next=p->next; p->next=s;
B、p->next=s->next; s->next=p;
C、q->next=s; s->next=p;
D、p->next=s; s->next=q;
6、 判定一个队列QU(最多元素为m)为满的条件是A
A、QU->rear—QU->front= =m B、QU->rear—QU->front-1= =m
C、QU->front= =QU->rear D、QU->front= =QU->rear+1
7、 假定在一棵二叉树中,度为2的结点数为15个,度为1的结点数为30个,则度为0的结点有D
A、15 B、16 C、17 D、18
8、对一个满二叉树,m个树叶,n个结点,深度为h,则D(D答案应该是n=2^h-1吧)
A、n=h+m B、h+m=2n C、m=h—1 D、 n=2 h—1
9、对线性表采用折半查找法,该线性表必须C
A、采用顺序存储结构
B、采用链式存储结构
C、采用顺序存储结构,且元素按值有序
D、采用链式存储结构,且元素按值有序
10、按折半查找对序列(54,28,16,34,73,62,95,60,26,43)的排序完成后,查找62要进C次比较。
A、6次 B、 5次 C、3次 D、2次
11、链表不具有的特点是A
A、可随机访问任一元素
B、插入删除不需要移动元素
C. 不必事先估计存储空间
D. 所需空间与线性表长度成正比
12、已知字符串s1=”efgd”, a=strlen(s1)则a 的值是 C
A、3 B、4 C、5 D、6
那个最后补充的程序觉得是
12345678910
恩,我有点激动了,那道题你是对的,因为线性表第一个front指针指向无数据的头指针。
程序有点长,你参考下书,书上面都有例题程序,基本一样。数据结构,严蔚敏清华出版,第二版p145赫夫曼算法、p216顺序表的查找
erf
不好意思,学文的!
绛旓細...鍦ㄧi涓厓绱犲墠鍔犱竴涓厓绱犵殑姒傜巼鏄痯i锛岀Щ鍔ㄧ殑娆℃暟鏄痭-i+1娆★紝鏈熸湜灏辨槸锛坣-i+1锛*pi ...鍏ㄩ儴鍔犺捣鏉ュ氨鏄痭*p1+(n-1)*p2+...+(n-i+1)*pi+...+2p(n-1)+pn 危琛ㄧず姹傚拰锛屼笅鏍囨槸鏈灏忓硷紝涓婃爣鏄渶澶у硷紝杩欓噷琛ㄧず浠巌=1鍒癷=n+1鐨勫拰锛屽氨鏄笂闈㈢殑姹傚拰鐨勫紡瀛愪簡 棰樼洰鍙兘鏈闂锛...
绛旓細绗竴棰:C 鏁版嵁鐨閫昏緫缁撴瀯鍒涓猴細绾挎х粨鏋勫拰闈炵嚎鎬х粨鏋 鏁版嵁鐨勫瓨鍌ㄧ粨鏋勫垎涓猴細椤哄簭瀛樺偍缁撴瀯鍜岄摼寮忓瓨鍌ㄧ粨鏋 绗簩棰橈細B 绗洓棰橈細C鎴戜釜浜哄彲浠ュ埄鐢ㄤ簩璺綊骞剁殑鎺掑簭鏂规硶锛屽埄鐢ㄧ壒娈婃儏鍐礚1(low1,high1),L2(low2,high2),涓攍ow2>hign1銆傜涓冮锛欰 鑻鏄竴涓猰*n鐨勪簩缁存暟缁勶紝鏁扮粍涓嬫爣浠庨浂寮濮嬶紝浠ュ垪涓轰富...
绛旓細1銆佸厓绱燗[59]杩欎釜璇存硶鏈韩灏辨槸閿欑殑锛屾寜鐓ч鐩嚜韬殑瑙勫垯A鏄煩闃碉紝aij鎵嶆槸鍏冪礌锛屽簲璇ヨ鎴愬厓绱燼59銆2銆乮=5,j=9,鏄剧劧i<j锛屽洜姝59=0锛岃岄鐩嵈璇村皢A鐨勬墍鏈夆滈潪0鈥濆厓绱犲瓨鏀惧湪棣栧湴鍧2000瀛樺偍鍖哄煙涓紝鑰宎59=0锛屼篃灏辨槸璇村畠鏍规湰灏变笉鍦ㄩ偅鐗囧瓨鍌ㄥ尯鍩燂紝涔熷氨璋堜笉涓婇鍦板潃銆3銆佺敱棰樼洰鏉′欢鐭ラ亾A鏄釜涓...
绛旓細鍙璁$畻浠嶢銆3銆戙4銆戝埌鏈夊灏戜釜鏁版嵁鍏冪礌鍐*4灏卞彲浠ヤ簡锛孉銆3銆戙4銆戝埌A銆3銆戙6銆戞湁涓変釜鍏冪礌锛孉銆4銆戙1銆戣嚦A銆4銆戙3銆戞湁涓や釜鍏冪礌锛屾晠鍏冪礌A銆4銆戙3銆戠殑鍌ㄥ瓨鍦板潃5*4+1000
绛旓細绛旀 锛 472 琛屼紭鍏堝瓨鍌ㄦ槑鐧藉悧锛熷氨鏄竴琛屼竴琛岀殑瀛橈紝涓嶆槸涓鍒椾竴鍒楃殑瀛樸傞鐩憡璇変簡A[1][1]鍜孉[3][3]鐨勫瓨鍌ㄥ湴鍧锛屾槸鎯宠浣犳帹绠楀嚭A鏁扮粍鐨勫ぇ灏忋傜敱浜嶢[1][1]鐨勫湴鍧鏄420锛屾墍浠[1][0]鐨勫湴鍧灏辨槸419,杩樻湁A[3][3]鐨勫湴鍧鏄446锛岄偅涔圓[3][0]鐨勫湴鍧灏辨槸443銆備粠A[1][0]鍒癆[3][0],...
绛旓細6.1 (1)銆佸厛鏍癸細ABEFHIJCDG(鍏堥亶鍘嗘爲鐨勬牴锛岀劧鍚庝緷娆¢亶鍘嗗悇涓瓙鏍)锛涘悗鏍癸細EHIJFBCGDA锛堜緷娆¤闂悇涓瓙鏍戝啀璁块棶鏍癸級銆
绛旓細搴旇鏄疉锛屽弻鍚戦摼琛ㄥ氨涓嶈浜嗐傞鍏堝簲璇ヤ簡瑙e瓨鍌ㄨ〃绀烘柟娉曟湁鍥涚锛氣梿 椤哄簭瀛樺偍鏂规硶锛氬畠鏄妸閫昏緫涓婄浉閭荤殑缁撶偣瀛樺偍鍦ㄧ墿鐞嗕綅缃浉閭荤殑瀛樺偍鍗曞厓閲岋紝缁撶偣闂寸殑閫昏緫鍏崇郴鐢卞瓨鍌ㄥ崟鍏冪殑閭绘帴鍏崇郴鏉ヤ綋鐜般傜敱姝ゅ緱鍒扮殑瀛樺偍琛ㄧず绉颁负椤哄簭瀛樺偍缁撴瀯銆傗梿 閾炬帴瀛樺偍鏂规硶锛氬畠涓嶈姹傞昏緫涓婄浉閭荤殑缁撶偣鍦ㄧ墿鐞嗕綅缃笂浜︾浉閭伙紝缁撶偣闂寸殑閫昏緫...
绛旓細绛旀涓篊銆4 鍏辨湁9涓暟 绗竴娆★細锛1+9锛/2=5 绗5涓暟涓37锛26灏忎簬37锛屾墍浠ュ線宸﹁竟鎵 绗簩娆★細锛1+4锛/2=2.5 鍙4锛岀2涓暟涓12锛26澶т簬12锛屾墍浠ュ線12鐨勫彸杈规壘 绗笁娆★細锛3+4锛/2=3.5 鍙3锛屼负20 绗洓娆★細锛4+4锛/2=4 涓26 鎵浠ヤ负4 椤哄簭涓37 12 20 26 ...
绛旓細int鏄敤鏉ュ0鏄庝竴涓暣鏁扮被鍨嬬殑鍙橀噺鎴栬呬竴涓繑鍥炲间负鏁存暟绫诲瀷鍑芥暟鐨勩倂oid鏄敤鏉ュ0鏄庝竴涓棤杩斿洖鍊肩殑鍑芥暟鐨勩俤atatype鍦–璇█涓病鏈夊畾涔夛紝闇瑕佽嚜宸变娇鐢╰ypedef struct{}缁撴瀯浣撳畾涔夈傚畾涔夋垚鍔熷悗锛岀浉褰撲簬鑷繁寰C璇█涓畾涔変簡涓涓柊鐨勭被鍨嬨傛瘮濡傝繖鏍峰畾涔 typedef struct{int a;char c;}datatype; 鐩稿綋浜庡畾涔...
绛旓細绗竴涓闂:鍚庨潰涓夋潯璇彞涔嬫墍浠ユ瘮鍓嶉潰鐨勫皯鎵ц涓娆★紝鍘熷洜鏄渇or鈥濆綋鏉′欢涓嶆垚绔嬫椂浠嶈鎵ц涓娆°傚n=1锛屸渇or璇彞鈥濊鎵ц2娆★紙i=1鍜宨=2锛夛紱浣嗗惊鐜綋涓殑璇彞鍒欏彧鍦╥=1鏃舵墠浼氭墽琛屻傚彟澶栵紝姝ら鐨勬纭瓟妗堝簲涓猴細璇彞2鐨勯搴︿负锛歯+1锛涜鍙3鐨勯搴︿负锛歯锛...绗簩涓棶棰橈細鈥滅畻娉曞垎鏋愨濈殑鐩殑鏄...