1 《数据结构》习题汇编 一、单项选择题 1. 在数据结构中,从逻辑上可以把数据结构分成( )。 A. 动态结构和静态结构 B. 紧凑结构和非紧凑结构 C. 线性结构和非线性结构 D. 内部结构和外部结构 2. 数据结构在计算机内存中的表示是指( )。 A. 数据的存储结构 B. 数据结构 C. 数据的逻辑结构 D. 数据元素之间的关系 3. 在数据结构中,与所使用的计算机无关的是数据的( )结构。 A. 逻辑 B. 存储 C. 逻辑和存储 D. 物理 4. 计算机算法指的是( ① ),它必须具备输入、输出和( ② )等5 个特性。 ①A. 计算方法 B. 排序方法 C. 解决问题的有限运算序列 D. 调度方法 ②A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性 C. 确定性、有穷性和稳定性 D. 易读性、稳定性和安全性 5. 在一个长度为n 的顺序表中向第i 个元素(1≤i≤n+1)位置插入一个新元素时,需要从后向前依次后移( )个元素。 A. n-i B. n-i+1 C. n-i-1 D. i 6. 在一个长度为n 的顺序表中删除第i 个元素(1≤i≤n)时,需要从前向后依次前移( )个元素。 A. n-i B. n-i+1 C. n-i-1 D. i 7. 在一个长度为n 的顺序表的表尾插入一个新元素的渐进时间复杂度为( )。 A. O(n) B. O(1) C. O(n2) D. O(log2n) 8. 在一个长度为n 的顺序表的任一位置插入一个新元素的渐进时间复杂度为( )。 A. O(n) B. O(n/2) C. O(1) D. O(n2) 9. 不带头结点的单链表first 为空的判定条件是:( ) A. first == NULL; B. first->next == NULL; C. first->next == first; D. first != NULL; 10. 带头结点的单链表first 为空的判定条件是:( ) A. first == NULL; B. first->next == NULL; C. first->next == first; D. first != NULL; 11. 设单链表中结点的结构为(data, next)。已知指针 p 所指结点不是尾结点,若在*p 之后插入结点*s,则应执行下列哪一个操作?( ) A. s->next = p; p->next = s; B. p->next = s; s->next = p; C. s->next = p->next; p = s; D. s->next = p->next; p->next = s; 2 12. 设单链表中结点的结构为(data, next)。若想摘除结点*p(*p 既不是第一个也不是最后一个结点)的直接后继,则应执行下列哪一个操作?( ) A. p->next = p->next->next; B. p =...