{ n=2*i+1;
s[n]=s[i]->lchild; }
if(s[i]->rchild) { n=2*i+2;
s[n]=s[i]->rchild; } i++; }
return 1; }
µÚÁùÕÂ
Ò»¡¢µ¥ÏîÑ¡ÔñÌâ
(1)-(4)AACA (5)-(9)DBCAD (10)-(11)CB
(12)ͼGÊÇÒ»¸ö·ÇÁ¬Í¨·ÖÁ¿£¬ÖÁÉÙÓÐÁ½¸öÁ¬Í¨·ÖÁ¿¡£º¬8¸ö¶¥µãµÄÍêÈ«ÎÞÏòͼ¹²Ðè28Ìõ±ß£¬ÁíÍâÒ»¸ö¶¥µã¹¹³ÉÒ»¸öÁ¬Í¨·ÖÁ¿£¬ËùÒÔÖÁÉÙº¬9¸ö¶¥µã¡£ ¶þ¡¢ÅжÏÌâ
1£®ÕýÈ·2£®´íÎó3£®ÕýÈ· 4£®´íÎó5£®ÕýÈ·6£®´íÎó 7£®ÕýÈ· 8£®ÕýÈ· 9£®ÕýÈ·
10£®ÕýÈ·(Èôn¸ö¶¥µãÒÀ´ÎÊ×βÏà½Ó¹¹³ÉÒ»¸ö»·µÄÓÐÏòÇ¿Á¬Í¨Í¼£¬ÖÁÉÙº¬nÌõ±ß£¬¼´ÁÚ½Ó¾ØÕóÖÐÖÁÉÙÓÐn¸öСÓÚuµÄ·ÇÁãÔªËØ)¡£
11£®´íÎó 12£®ÕýÈ· 13£®´íÎó 14£®ÕýÈ· 15£®ÕýÈ· 16£®´íÎó 17£®´íÎó 18£®´íÎó 19£®ÕýÈ· Èý¡¢Ìî¿ÕÌâ
(1)n(n-1)£¯2 (2)n(n-1) (3)n-1 (4)e (5)2e (6)³ö±ß (7)È豧 (8)n (9)ÓÐÏòͼ
22
(10)O(n) (11)O(n) (12)O(n+e) (13)O(n+e) (14)Kruscal (15)prim
ËÄ¡¢Ëã·¨Ìâ
1£®½«Í¼µÄÉî¶ÈÓÅÏȱéÀú»ò¹ã¶ÈÓÅÏȱéÀúËã·¨ÉÔ¼Ó¸ÄÔ죬ÁíÉèm±£´æ·ÃÎʵĶ¥µã¸öÊý£¬ÈôÒÑ·ÃÎʶ¥µã¸öÊýmСÓÚͼÖж¥µã¸öÊýn£¬ÔòͼG²»Á¬Í¨£¬·ñÔòΪÁ¬Í¨¡£ÏÖ½«Éî¶ÈÓÅÏȱéÀúµÄ·ÇµÝ¹éËã·¨¸ÄÔìÈçÏ£º
²ÉÓÃÁÚ½Ó±í±íʾ£¬ÀàÐͶ¨ÒåÈçÏ£º #define MaxV 20 typedef struct node {int adjvex;
struct node *next; }Enode;
typedef struct {int data;
Enode *firste; }Vnode;
typedef struct
{Vnode adjlist[MaxV]; int n; int e; }ALGraph;
int connect(ALGraph *G)
{int i,j,Visited[MaxV],m=0,top=0; Enode *p,*S[MaxV]; For(i=0;i Printf(¡°%c¡±,G->adjlist[0].data); m++; 29 S[top++]=p->next; j=p->adjvex; if(visited[j]==0) {visited[j]=1; printf(¡°%c¡±,G->adjlist[j].data); m++; s[top++]=G->adjlist[j]->firste; } } } if(m return(1);} 2£® (1)½â£ºË³Ðò¼ÆËãÿ¸ö¶¥µãÁ´±íµÄ±íÖнáµã¸öÊý£¬¾ÍÊǸö¥µãµÄ³ö¶È. Ëã·¨ÈçÏ£º void outdegree(graph g,int v) {arcnode *p; int n=0; p=g.adjlist[v].firstarc; while(p) { n++; p=p->nextarc;} } return n; } void outds(graph g) { int i; printf(¡°¸÷¶¥µã³ö¶È£º¡¢\\n¡±)£» for(i=0;i printf(¡°¶¥µã%d£º%d\\n¡±,i,outdegree(g,i)); } (2)void maxoutds(graph g) { int maxv=0,maxds=0i,x; for(i=0;i {maxds=x;maxv=1;} } printf(¡°×î´ó³ö¶È£º¶¥µã%dµÄ³ö¶È%d¡±,maxv,maxds); } (3)void zerods(graph g) { int i,x; printf(¡°³ö¶ÈΪ0µÄ¶¥µã£º\\n¡±); for(i=0;i printf(¡°%d¡±,i); } } (4)void arc(graph g) { int i,j; arcnode *p; 30 printf(¡°ÊäÈë±ß£º\\n¡±); scanf(¡°%d,%d¡±,i,j); p=g.adjlist[i].firstarc; while(p!=NULL&&p->adjvex!=j) p=p->nextarc; if(p==NULL) printf(¡°²»´æÔÚ£¡¡±)£» else printf(¡°´æÔÚ<%d,%d>±ß£º\\n¡±£¬i,j)£» } µÚÆßÕ һ¡¢µ¥ÏîÑ¡ÔñÌâ (1) Ò»(5) DDCCD (6)Ò»(9) DCCC ¶þ¡¢Ìî¿ÕÌâ £¨1£©8 £¨2£©15 £¨3£© 4.3 £¨4£©ÖÐÐò £¨5£©¼Ç¼µÄ¼üÖµ £¨6£©7 £¨7£©63 £¨8£©17 £¨9£©17 £¨10£©O(n) (11)O(log2n) (12)Ô½´ó £¨13£©É¢Áк¯Êý £¨14£©´¦Àí³åÍ»·½·¨ £¨15£© ×°ÌîÒò×Ó £¨16£©Ë÷Òý±í £¨17£©¸Ã¿éµÄÆðʼµØÖ· £¨18£© 100 £¨19£©100 £¨20£©101 £¨21£©?log2(n+1)? (22)ͬÒå´Ê £¨23£©n(n+1)/2 (24) 63 (25) m (26)?m/2? (27)m-1 (28) ?m/2?-1 (29)m (30)?m/2? Èý¡¢Ó¦ÓÃÌâ 1£®Åж¨Ê÷¼ûÏÂͼ¡£ ²éÕҳɹ¦µÄƽ¾ù²éÕÒ³¤¶È ASL=£¨1+2*2+3*4+4*6£©/13=41/13 ²éÕÒʧ°ÜʱÓë¼üÖµ×î¶à±È½Ï´ÎÊýΪ4¡£ 2£®¶þ²æÅÅÐòÊ÷¼ûÓÒͼ¡£ÔڵȸÅÂÊÇé¿öÏ£¬ ²éÕҳɹ¦µÄƽ¾ù²éÕÒ³¤¶ÈASL=29/9¡Ö3.2 ²éÕÒʧ°Üʱ£¬Óë¼üÖµ×î¶à±È½Ï´ÎÊýÊÇ5¡£ 3.¹¹ÔìÒ»¿Ãƽºâ¶þ²æÅÅÐòÊ÷ µÄ¹ý³Ì¼ûÓÒͼ¡£ µÈ¸ÅÂÊÇé¿öÏ£¬²éÕҳɹ¦µÄƽ¾ù²éÕÒ³¤¶È ASL=£¨1+2*2+3*4+4*2£©/9¡Ö2.8 ²éÕÒʧ°Üʱ£¬Óë¼üÖµµÄ×î¶à±È½Ï´ÎÊýÊÇ4¡£ 4.°´²»Í¬µÄÊäÈë˳ÐòÊäÈë4¡¢5¡¢6£¬½¨Á¢ÏàÓ¦µÄ²»Í¬ÐÎ̬µÄ¶þ²æÅÅÐòÊ÷¼ûÏÂͼ¡£ 5.¼üÖµÐòÁУº{25£¬40£¬33£¬47£¬12£¬66£¬72£¬87£¬94£¬22£¬5£¬58} 31 É¢ÁеØÖ·£º 3 7 0 3 1 0 6 10 6 0 5 3 ÓÃÀÁ´·¨´¦Àí³åÍ»£¬¹¹ÔìµÄÉ¢ÁбíÈçÏÂͼ£º 33 66 22 ^ 0 12 ^ 1 ^ 2 ^ 25 58 ^ 47 3 4 5 ^ 5 94 ^ ^ 72 6 ^ 7 40 ^ 8 ^ 9 87 ^ 10 ÔڵȸÅÂʵÄÇé¿öÏ£¬²éÕҳɹ¦µÄƽ¾ù²éÕÒ³¤¶È£º ASL=£¨7+2*3+3*2£©/12=19/12=1.4 11 ²éÕÒʧ°ÜµÄƽ¾ù²éÕÒ³¤¶È£º ASL=£¨4+2*1+3*2£©/12=1 6.ÒÑ֪ɢÁбíÊÇ£º 0 1 2 3 4 5 6 7 8 9 10 11 12 50 21 57 45 37 ²éÕÒkey = 21 57 45 50 h0=key = 8 5 6 11 d=key+1 = 11 3 2 7 h1=(h0+d) = 6 8 8 5 h2=(h1+d) = 10 ²éÕҳɹ¦±È½Ï´ÎÊý 2 2 3 2 ²éÕҳɹ¦µÄƽ¾ù²éÕÒ³¤¶ÈASL=£¨1+2+2+2+3£©/5=2 ËÄ¡¢Ëã·¨Éè¼Æ 1£®°´ÖÐÐò±éÀú¶þ²æÅÅÐòÊ÷¿ÉµÃµ½Ò»¸ö°´¼üÖµ´ÓСµ½´óÅÅÁеÄÓÐÐò±í£¬ÀûÓÃÕâ¸öÌØµãÀ´Åбð¶þ²æÊ÷ÊÇ·ñΪ¶þ²æÅÅÐòÊ÷£¬Ëã·¨ÈçÏ£º #define max 99 #define min 0 int judge(BTnode *bt) { BTnode *s[max],*p=bt; int top=0,preval=min; do { while(p) {s[top++]=p; p=p->lchild; } if(top>0) {p=s[--top]; if(p->data preval=p->data; p=p->rchild; } }while(p||top>0) return 1; } 32