习题配套 第一章 2.C、A、B、B、A、A、D 3. D={A,B,C,E,F,G,H,I,J}; R={,,,,,,,,,} 4.顺序、链式、索引、哈希
*5.解:100n2>2nn至少要多大 6
O(n)、O(n)、O(n)、O( n )、 (5)当n>m,O(n),当m>n,O(m) 7.n
2100>lgn>n1/2>n3/2>(3/2)n>2n>nlgn>nn 第二章 1.×、√、×、√、√ 2.AAD 4.顺序表 void Delete_SeqListx(SeqList *L,ElemType x) /*删除表中值为x元素*/ {inti,j; for(i=1;ilength;i++){ if(L->elem[i]==x){ for(j=i;jlength-1;j++) L->elem[j]=L->elem[j+1]; L->length--; }/*向上移动*/ } O(n2) A B C E F G H I 题1-3 图 J 链表 void del_link(LinkList H,int x)/*删除数据域为x的结点*/ { LNode *p,*q; p=H;q=H->next; while(q
=NULL) { if(q->data==x){ p->next=q->next;free(q);q=p->next; } else{p=q;q=q->next;} } } O(n) 5. int Delete_SeqListx(SeqList *L,int i,int k) /*删除表中删除自第i个结点开始的k个结点*/ {intj; if(ilength) /*检查空表及删除位置的合法性*/ {printf("不存在第i个元素"); return ERROR;} for(j=i;jlength-k;j++) L->elem[j]=L->elem[j+k];