正在加载图片...
A)p->right=s: s->left=p; p>right->left=s: s->right=p->right B)p>right=s: p-right->left=s: s->left=p: s->right=p->right C)s->left=p: s->right=p->right: p>right=s: p>right->1 D)s->left=p: s->right=p->right: p>right->left=s: p->right=s 7.在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点, 则执行_①c A)s->next=p->next: p->next=s; B)p>next=s->next: s->next D)p->next=s next 8.在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行_①b。 B)s->next=p->next: p->next=s C)s->next=p->next: p=s ))p->next=s: s->next=p 9.在一个单链表中,若删除p所指结点的后续结点,则执行①a A)p->next=p->next->next B)p=p->next: p->next=p->next->next C)p->next=p->next 10.假设双链表结点的类型如下: typedef struct linknode int dat. /*数据域*/ struct linknode* llink;/*1link是指向前驱结点的指针域*/ struct linknode* rlink;/* rlink是指向后续结点的指针域*/ 要把一个q所指新结点作为非空双向链表中的p所指结点的前驱结点插入到该双链表中, 其算法是_①c A)g>rlink=p; g->llink-p->llink; p->llink=g: p->llink->rlink=q: B)p->llink=g: q->llinkp: p->llink->rlink=g: q>llink=p->llink C)g->llink=p->llink: q->rlink=p: p->llink->rlink=g: p->llink=g D)以上都不对 12.从一个具有n个结点的单链表中查找其值等于x结点时,在查找成功的情况下,需平均比较 ①d个结点 B)n/2 C)(n-1)/2D)(n+1)/2 13.一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是①b A)0(1)B)0(n)C)0(n2) D) o(nlog2n) 14.给定有n个元素的向量,建立一个有序单链表的时间频度是①_d。 A)n C)(n-1)/2 D)(n+1)/2 二.填空题(将正确的答案填在相应的空中) 1.单链表是线性表的链接存储表示 2.向一个长度为n的向量中删除第i个元素(1≤i≤n)时,需向前移动_n-i个元素。 3.可以使用_二叉链表表示树形结构。 4.在双链表中,每个结点有两个指针域,一个指向_直接前驱,另一个指向_直接后继 5.在一个单链表中的p所指结点之前插入一个s所指结点时,可执行哪些操作 6.在一个单链表中删除p所指结点时,应执行的操作 7.带有一个头结点的单链表head为空的条件是head->next==NULL 8.在一个单链表中p所指结点之后插入一个s所指结点时,应执行 next=p→>next 的操作。 9.非空的循环链表head的尾结点(由p所指向),满足条件_p->next=head。A) p->right=s; s->left=p; p->right->left=s; s->right=p->right; B) p->right=s; p->right->left=s; s->left=p; s->right=p->right; C) s->left=p; s->right=p->right; p->right=s; p->right->left=s; D) s->left=p; s->right=p->right; p->right->left=s; p->right=s; 7. 在一个单链表中,已知 q 所指结点是 p 所指结点的前驱结点,若在 q 和 p 之间插入 s 结点, 则执行__①c___。 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; 8. 在一个单链表中,若 p 所指结点不是最后结点,在 p 之后插入 s 所指结点,则执行__①b___。 A) s->next=p; p->next=s; B) s->next=p->next; p->next=s; C) s->next=p->next; p=s; D) p->next=s; s->next=p; 9. 在一个单链表中,若删除 p 所指结点的后续结点,则执行__①_a__。 A) p->next=p->next->next; B) p=p->next; p->next=p->next->next; C) p->next=p->next; D) p=p->next->next; 10. 假设双链表结点的类型如下: typedef struct linknode { int data: /*数据域*/ struct linknode * llink; /*llink 是指向前驱结点的指针域*/ struct linknode * rlink; /*rlink 是指向后续结点的指针域*/ } bnode 要把一个 q 所指新结点作为非空双向链表中的 p 所指结点的前驱结点插入到该双链表中, 其算法是__①_c__。 A) q->rlink=p; q->llink=p->llink; p->llink=q; p->llink->rlink=q; B) p->llink=q; q->llink=p; p->llink->rlink=q; q->llink=p->llink; C) q->llink=p->llink; q->rlink=p; p->llink->rlink=q; p->llink=q; D) 以上都不对. 12. 从一个具有 n 个结点的单链表中查找其值等于 x 结点时,在查找成功的情况下,需平均比较 __①_d__个结点。 A) n B) n/2 C) (n-1)/2 D) (n+1)/2 13. 一个具有 n 个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是__①_b__。 A) O(1) B) O(n) C) O(n2 ) D) O(nlog2n) 14. 给定有 n 个元素的向量,建立一个有序单链表的时间频度是__①_d__。 A) n B) n/2 C) (n-1)/2 D) (n+1)/2 二.填空题(将正确的答案填在相应的空中) 1. 单链表是_线性表____的链接存储表示。 2. 向一个长度为 n 的向量中删除第 i 个元素(1≤i≤n)时,需向前移动__n-i___个元素。 3. 可以使用_二叉链表____表示树形结构。 4. 在双链表中,每个结点有两个指针域,一个指向__直接前驱___,另一个指向_直接后继____。 5. 在一个单链表中的 p 所指结点之前插入一个 s 所指结点时,可执行哪些操作_____。 6. 在一个单链表中删除 p 所指结点时,应执行的操作_____。 7. 带有一个头结点的单链表 head 为空的条件是 head->next==NULL_____。 8. 在一个单链 表中 p 所 指结点 之后插入 一个 s 所指结 点时, 应执行 s->next=_p->next______和 p->next=_s________的操作。 9. 非空的循环链表 head 的尾结点(由 p 所指向),满足条件__p->next=head___
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有