线性表采用单链表存储时的特点是【 】。
A、插入、删除不需要移动元素
B、可随机访问表中的任一元素
C、必须事先估计存储空间需求量
D、结点占用地址连续的存储空间
线性表采用单链表存储时的特点是【 】。
A、插入、删除不需要移动元素
B、可随机访问表中的任一元素
C、必须事先估计存储空间需求量
D、结点占用地址连续的存储空间
A
【解析】
线性表采用单链表存储时,每个元素用一个结点表示,结点中的指针域指出后继元素所在结点,存取元素时只能从头指针出发顺序地查找元素,可根据需要动态申请和释放结点,也不要求结点的存储地址连续。在单链表上插入和删除元素只需要修改逻辑上相关的元素所在结点的指针域,而不需要移动元素。
正规式(ab|c)(0|1|2)表示的正规集合中有【 】个元素。
若需在O(log2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是【 】。
若要尽可能快地完成对实数数组的排序,且要求排序是稳定的,应该选【 】。
如果待排序序列中两个数据元素具有相同的值,在排序前后它们的位置发生颠倒,则称该排序算法是不稳定的,【 】就是不稳定的排序算法。
若有n个元素已构成一个小根堆,那么如果增加一个元素Kn+1,请用文字简要说明如何在log2n的时间内将其重新调整为一个堆。
如果只想得到1000个元素组成的序列中第5个最小元素之前的部分排序序列,用【 】方法最快
回答问题并写出推导过程:对50个整数进行快速排序需进行关键字间比较次数可能达到的最大值和最小值各为多少?
在起泡(冒泡)排序过程中,有的关键字在某趟排序中可能朝着与最终排序相反的方向移动,请举例说明之。快速排序过程中有没有这种现象?
已知结点指针p、q分别表示双向链表中任意两个相邻结点(即p->rlink=q且q->llink=p),请写出删除q所指结点的程序段。
试写出在双向链表da中的插入操作算法,算法中插入位置的获取可直接引入getnodep(da,i),其中参数da为双向链表,i是要插入的数据,要求算法中含有双向链表da的结点结构描述。
假设有两个按元素值递增有序排列的线性表A和B,均以带头结点的单链表作为存储结构,编写算法将A表和B表归并成一个按元素值递减有序排列的线性表C,并要求利用原表(A表和B表)的结点空间存放表C。
线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。【 】