1、栈和队列都是线性结构,对于栈只能在____栈顶______插入或删除元素;对于队列,只能在_队尾______插入元素,只能在____队头______删除元素。
2、若 p是指向链表 L中第i个元素的指针,则 p->next->data 的含义是___第i+1个元素的值______________。
3、由a、b、c三个结点构成的二叉树,共有___5_种不同的结构。
4、若串的长度小于一个常数,则采用 定长顺序 存储方式最节省空间。
5、一棵二叉树结点数为18个,则其最小高度为__4__ ,最大高度为_17___。
6、在具有n个单元顺序存储的循环队列中,队满时共有 n-1 个元素。
7、已知数组A[9,9]的每个元素占5个存储单元,将其按优先次序存储在其始地址为1000的连续存储单元中,则
元素A[6,8]的地址为 1310 。
数据结构是计算机科学中的核心课程,它探讨了数据的有效组织和管理方式,以便于高效地进行数据处理。以下是对期中试题中涉及知识点的详细解释:
1. **栈和队列**:栈是一种后进先出(LIFO)的数据结构,意味着最后一个进入的元素将首先被移除,操作主要在栈顶进行,支持压栈(插入)和弹栈(删除)操作。队列是一种先进先出(FIFO)的数据结构,新元素在队尾加入,而删除操作在队头进行。
2. **链表操作**:在链表中,`p->next->data`表示通过指针`p`访问的当前节点的下一个节点(即第i+1个节点)的值。
3. **二叉树的形态**:对于由a、b、c三个结点构成的二叉树,考虑到二叉树的性质,可以形成5种不同的形态,包括全二叉树、满二叉树以及各种非完全二叉树的情况。
4. **串的存储**:如果串的长度较小,使用定长顺序存储方式,即用固定大小的数组来存储,可以避免内存浪费,提高空间效率。
5. **二叉树的高度**:一棵包含18个结点的二叉树,最小高度为4(满二叉树,每一层都尽可能多的结点),最大高度为17(所有结点都在同一层,即链表形式)。
6. **循环队列**:循环队列在队满时,实际元素数量是队列容量减一,即n-1个元素。
7. **数组存储**:二维数组A[9,9]中,元素A[6,8]的地址可以通过计算得出,通常数组是按行优先顺序存储的,因此A[6,8]的位置是在A[0,0]之后的(6-1)*9*5+(8-1)*5个存储单元之后,地址为1310。
8. **二叉树的性质**:后序序列和中序序列相同的二叉树是左单支树,即除了根节点外,所有的右子节点都是叶子节点。
9. **广义表操作**:广义表A=(a,((b),c,d)),head(head(tail(A)))的操作是获取第一个子表的头元素,即b。
10. **数据结构分类**:数据结构按照元素之间的关系可以分为线性结构(如数组、链表)、树形结构(如二叉树、树)、图状或网状结构(如图)和集合。
在选择题中,涉及了更多关于数据结构操作的时间复杂度、线性表的动态操作、链式存储的灵活性、二叉树的性质、线索二叉树的理解、队列的判空条件、字符串操作等知识点。这些题目旨在测试学生对数据结构基本概念、操作和应用的理解。