数据结构是计算机科学中至关重要的一门学科,它研究如何有效地组织和存储数据,以便于高效地访问和处理。本题目的内容涵盖了数据结构中的多个基本概念,包括线性表、链表、栈、队列、字符串以及二叉树等。
1. 线性表的存储方式:线性表可以采用顺序存储或链式存储。在存储后,如果最常用的操作是取第i个结点及其前驱,顺序表通常更优,因为可以直接通过索引访问,而链表需要遍历。
2. 链表地址连续性:链式存储的线性表,其地址可以是连续的,也可以是不连续的,这取决于实际的内存分配情况。
3. 数据结构的分类:逻辑结构与物理结构的区别在于,逻辑结构描述数据元素之间的关系,而物理结构涉及实际的存储方式。与所用计算机无关的是数据的逻辑结构。
4. 链表判空条件:对于带头结点的单向链表,如果head->next= = NULL,那么表示链表为空。
5. 算法的特性:算法应具备有穷性、确定性、可行性以及至少0个或多个输出。因此,"有0个或多个输入"不是算法的特性。
6. 插入操作的平均移动次数:在顺序存储的线性表中,插入操作平均需要移动n/2个元素。
7. 顺序表插入元素移动次数:在第i个元素之前插入,需要移动n-i+1个元素。
8. 栈的不可能出栈序列:栈遵循后进先出(LIFO)原则,所以5,8,6,7是不可能的出栈序列,因为6应该在5之前出栈。
9. 栈的操作位置:栈的插入和删除都在栈顶进行。
10. 栈和队列的相似点:它们都是线性表的受限形式,栈是后进先出(LIFO),队列是先进先出(FIFO)。
11. 栈和队列特点:栈的特点是先进后出,而队列的特点是先进先出。
12. C语言中字符串存储:正确的声明方式是A选项,即char a[10]="Hello",它会自动添加结束符'\0'。
13. 栈的不可能输出序列:根据栈的性质,2,4,6,8按顺序进栈,4,2,8,6是不可能的输出序列,因为4必须在2之前出栈。
14. 对称矩阵压缩存储:在下三角部分以行序主序存储时,b[13]对应矩阵元素a6,4。
15. 矩阵元素下标:同样是在压缩存储对称矩阵的下三角部分,a7,6的下标在B数组中是42。
16. 完全二叉树层数:一个有30个节点的完全二叉树最多有5层,因为2^4 < 30 < 2^5。
17. 字符串比较函数StrCmp:比较大小写敏感,"d"小于"D",所以返回值为-1。
18. 未给出选项,但通常关于串函数的讨论可能涉及字符串长度、比较或操作等。
这些题目涉及到的数据结构知识点涵盖了线性表的实现、链表的基本操作、栈和队列的特性、字符串处理、矩阵的压缩存储以及二叉树的性质。理解和掌握这些知识点是学习数据结构的基础。