数据结构学习知识点总结(一)

244 阅读3分钟
  • 单项选择题

1.算法必须具备的三个特性是(  B  )。

A.可执行性、可移植性、可扩充性 B.可执行性、确定性、有穷性

C.确定性、有穷性、稳定性 D.易读性、稳定性、安全性    

2.下列数据中,(   C   )是非线性数据结构。

A.栈       B.队列         

C.完全二叉树    D.顺序表

3.算法分析的两个方面是(   A   )。 

A.空间复杂度和时间复杂度 B.正确性和简明性

C.可读性和文档性 D.数据复杂性和程序复杂性

4.非空的循环单链表head的尾结点p满足(    A  )。

A.p->next==head       B.p->next==NULL     

C.p==NULL     D.p==head

5.在单链表指针为p的结点之后插入指针为s的结点,正确的操作是(  B    )。

A.p->next=s;s->next=p->next;  B.s->next=p->next;p->next=s;

C.p->next=s;p->next=s->next;  D.p->next=s->next;p->next=s;

6.按照二叉树的定义,具有3个结点的二叉树有(   C  )种。

A.3 B.4

C.5 D.6

7.在一个有向图中,所有顶点的入度之和是所有顶点的出度之和的(   B   )倍。

A.1/2 B.1

C.2 D.4

8.二叉排序树是(   B  )。

A.每一分支结点的度均为2的二叉树(错误)

解析:【二叉树是度数最大为2的树,不是度数就是2的树,可能二叉树只有一个子树或者没有子树,那么这时二叉树度数为1或者0】

B.中序遍历得到一升序序列的二叉树

C.按从左到右顺序编号的二叉树

D.每一分支结点的值均小于左子树上所有结点的值,大于右子树上所有结点的值

9.若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别是( C )。

A.1和 5         B.2和4         

C.4和2         D.5和1  

10.下列说法中正确的是(   D   )。

A.堆栈是在两端操作、先进后出的线性表

B.堆栈是在一端操作、先进先出的线性表

C.队列是在一端操作、先进先出的线性表 

D.队列是在两端操作、先进先出的线性表 

11.不带头结点的单链表head为空的判定条件是(  A  )。

A.head==NULL B.head->next==NULL

C.head->next==head D.head!=NULL

12.设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。与森林F对应的二叉树根结点的右子树上的结点个数是(  D  )。

A.M1          B.M1+M2       

C.M3           D.M2+M3

13.具有10个叶结点的二叉树中有(  B  )个度为2的结点。

A.8           B.9           

C.10           D.ll

14.有n个叶子的哈夫曼树的结点总数为(   D   )。

A.不确定          B.2n          

C.2n+1          D.2n-1

15.利用二叉链表存储树,则根结点的右指针是(   C   )。

A.指向最左孩子  B.指向最右孩子         

C.空        D.非空

16.要连通具有n个顶点的无向图,至少需要(  A  )条边。

A.n-l           B.n            

C.n+l             D.2n

17.对线性表进行二分查找时,要求线性表必须(   C   )。

A.以顺序方式存储

B.以链式方式存储

C.以顺序方式存储,且结点关键字有序排列。

D.以链式方式存储,且结点关键字有序排列。

18.静态查找表与动态查找表的根本区别在于(   C   )。

A.它们的逻辑结构不同 B.施加在其上的操作不同

C.所包含的数据元素类型不同 D.存储实现不一样

19.一个有n个顶点的有向图最多有(   D   )条边。

A.n B.n(n-1)

C.2n D.n(n-1)/2