文档介绍:电大数据结构复核习题(填空题)
在一个长度为n的顺序存储结构的线性表中,向第i(1£i£n+1)个元素之前插入新元素时,需向后移动 n-i+1 个数据元素。
从长度为n的采用顺序存储结构的线性表中删除第i(1£i£n+1)个元素,需向前移动 n-i 个元素。
数据结构按结点间的关系,可分为4种逻辑结构: 集合、线性结构、树形结构、图状结构。
数据的逻辑结构在计算机中的表示称为物理结构或存储结构。
除了第1个和最后一个结点外,其余结点有且只有一个前驱结点和后继结点的数据结构为线性结构,每个结点可有任意多个前驱和后继结点数的结构为非线性结构。
算法的5个重要特性是有穷性、确定性、可形性、有零个或多个输入、有零个或多个输出。
数据结构中的数据元素存在多对多的关系称为图状结构结构。
数据结构中的数据元素存在一对多的关系称树形结构结构。
数据结构中的数据元素存在一对一的关系称为线性结构结构。
要求在n个数据元素中找其中值最大的元素,设基本操作为元素间的比较。则比较的次数和算法的时间复杂度分别为 n-1 和 O(n) 。
在一个单链表中p所指结点之后插入一个s所指结点时,应执行__s->next=p->next;__和p->next=s;的操作。
设有一个头指针为head的单向循环链表,p指向链表中的结点,若p->next= = head ,则p所指结点为尾结点。
在一个单向链表中,要删除p所指结点,已知q指向p所指结点的前驱结点。则可以用操作 q->next=p->next; 。
设有一个头指针为head的单向链表,p指向表中某一个结点,且有p->next= =NULL,通过操作 p->next=head; ,就可使该单向链表构造成单向循环链表。
每个结点只包含一个指针域的线性表叫单链表。
线性表具有顺序存储和链式存储两种存储结构。
数据的逻辑结构是从逻辑关系上描述数据,它与数据的关系存储结构无关,是独立于计算机的。
在双向循环链表的每个结点中包含两个指针域,其中next指向它的直接后继,prior指向它的直接前驱,而头结点的prior指向尾结点,尾结点的next指向头结点。
单向循环链表是单向链表的一种扩充,当单向链表带有头结点时,把单向链表中尾结点的指针域由空指针改为头结点的指针;当单向链表不带头结点时,则把单向链表中尾结点的指针域由空指针改为指向指向第一个结点的指针。
线性链表的逻辑关系时通过每个结点指针域中的指针来表示的。其逻辑顺序和物理存储顺序不再一致,而是一种链式存储结构,又称为链表。
栈是限定在表的一端进行插入和删除操作的线性表,又称为后进先出表。
队列的特性是先进先出表。
往栈中插入元素的操作方式是:先移动栈顶指针,后存入元素。
删除栈中元素的操作方式是:先取出元素,后移动栈顶指针。
循环队列队头指针在队尾指针下一个位置,队列是“满”状态
在队列的顺序存储结构中,当插入一个新的队列元素时,尾指针增1 ,当删除一个元素队列时,头指针增1 。
循环队列的引入,目的是为了克服假上溢。
向顺序栈插入新元素分为三步:第一步进行栈是否满判断,判断条件是 s->top=MAXSIZE-1 ;第二步是修改栈顶指针;第三步是把新元素赋给栈顶对应的数组元素。同样从顺序栈删除元素分为三步:第一步进行栈是否空判断