单链表中,增加一个头结点的目的是为了方便链表运算的实现。( ) A:对 B:错 答案: 对 下面关于串的叙述中,正确的是( )。 A:串是一种特殊的线性表 B:串中元素只能是字母 C:空串就是空白串 D:串的长度必须大于零 答案: 串是一种 点我阅读全文
答案:若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为多少?() 一个算法所花时间等于该算法中每条语句的执行时间之和A:5 和1 B 点我阅读全文
算法的时间复杂度与()有关。栈和队都是()。 A:问题规模 B:计算机硬件性能 C:编译程序质量 D:程序设计语言 答案: 问题规模A:限制存取点的非线性结构 B:限制存取点的线性结构 C:顺序存储的线性结构 D:链式存储的非线性结构 点我阅读全文
C:循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是( )。 广义表中的元素或者是一个不可分割的原子,或者是一个非空的广义表。一个算法所花时间等于该算法中每条语句的执行时间之和A:r 点我阅读全文
算法分析的主要任务之一是分析()。 栈的操作原则是( )。 A:算法的执行时间和问题规模之间的关系 B:算法是否具有较好的可读性 C:算法中是否存在语法错误 D:算法的功能是否符合设计要求 答案: 算法的执行时间和问题规模之间的关系 A: 点我阅读全文
算法分析的目的是()。 下面术语中,与数据的存储结构无关的是( )。 A:研究算法中输入和输出关系 B:分析算法的易读性和文档性 C:分析算法的效率以求改进 D:找出数据结构的合理性 答案: 分析算法的效率以求改进 A:顺序表 B:循环队 点我阅读全文
以下代码段的时间复杂度是( )消除递归不一定需要使用栈,此说法( ) A:对 B:错 答案: 对void fun(int k)栈是实现过程和函数等子程序所必需的一种数据结构。( ) A:错 B:对 答案: 对 点我阅读全文
若线性表最常用的操作是存取第i个元素及其前驱和后继元素的值,为了提高效率,应采用( )的存储方式。 A:双向链表 B:单链表 C:单循环链表 D:顺序表 答案: 顺序表对于顺序表,访问第i个位置的元素和在第i个位置插入一个元素的时间复杂度为 点我阅读全文
A:节点的最后一个数据域是指针类型 B:每个节点有多少个后继,就设多少个指针域 C:所有节点占用一片连续的存储区域 D:每个节点占用一片连续的存储区域 答案: 每个节点占用一片连续的存储区域设一个栈的输入序列是1,2,3,4,5,则下列序列 点我阅读全文
A:数据项是数据中不可分割的最小可标识单位 B:数据可由若干个数据元素构成 C:数据项可由若干个数据元素构成 D:数据元素是数据的基本单位 答案: 数据项可由若干个数据元素构成进栈序列为a,b,c,则通过入出栈可能得到的a,b,c的不同排列 点我阅读全文
A:用不带头结点的单链表存储队列时,其队头指针指向队头结点,其队尾指针指向队尾结点,则在进行删除操作时( )。数组可看成线性结构的一种推广,因此与线性表一样,可以对它进行插入,删除等操作。算法的可行性是指指令不能有二义性A:仅修改队尾指针 点我阅读全文
B:假设以数组A[m]存放循环队列的元素,其头尾指针分别为front和rear,则当前队列中的元素个数为()。若一个广义表的表头为空表,则此广义表亦为空表。算法最终必须由计算机程序实现A:(rear-front+m)%m B:(rear- 点我阅读全文
算法必须满足有穷性( ) A:错 B:对 答案: 对KMP算法的特点是在模式匹配时指示主串的指针不会变小。( ) A:错 B:对 答案: 对在相同规模n下,复杂度为O(n)的算法在时间上优于复杂度为O(2^n)的算法( ) A:错 B:对 点我阅读全文
链式存储设计时,结点内的存储单元地址( )。 A:不一定连续 B:一定连续 C:一定不连续 D:部分连续,部分不连续 答案: 一定连续设有两个串p 和 q,其中q是p的子串,则求q在p中首次出现位置的算法称为( )。 A:求子串 B:串联接 点我阅读全文
在数据结构中,与所使用的计算机无关的是数据的( )结构。 A:物理与存储 B:逻辑 C:物理 D:存储 答案: 逻辑 两个字符串相等的条件是( )。 A:含有相同的字符集 B:串的长度相等 C:两个串的长度相等且对应位置的字符相同 D:都是 点我阅读全文
s=s+i;输入序列为ABC,可以变为CBA时,经过的栈操作为( ) A:push,push,push,pop,pop.pop B:push,push,pop.pop,push.pop C:push,pop.push,push,p 点我阅读全文