NoteDeep
数据结构的基本概念

单选题
  P3,1、可以使用()定义一个完整的数据结构

提问:为什么抽象数据类型可以定义完整的数据结构?数据结构的三要素包括逻辑结构和存储结构,抽象数据类型也定义了存储结构吗?比如说堆,堆是一个抽象数据结构,但是堆既可以在顺序结构上实现,也可以在链式结构上实现,定义一个堆需要定义它在什么结构上实现吗?

单选题
  P3,3、以下属于逻辑结构的是()



单选题
  P3,4、以下与数据的存储结构无关的术语是()

提问:这是否与P3,1矛盾?题目解释中,栈是抽象数据类型,与存储结构无关,即数据关系中只定义了逻辑结构,独立于存储结构。
循环队列的定义依赖于存储结构吗?循环链表可以用顺序存储实现,也可以用链式存储实现,其定义依赖于存储结构吗?

单选题
  P4,5、以下数据结构的说法中正确的是()


单选题
  P4,6、存储数据时,不仅要存储各个数据元素的值,而且要存储()


单选题
  P7,1、一个算法应该是()


单选题
  P8,11、以下算法中加下划线的语句的执行次数为()



线性表

单选题
  P14,2、以下()是一个线性表


单选题
  P18,6、在n个线性元素表的数组表示中,时间复杂度为O(1)的操作是()


多选题
  P18,10、若长度为n的非空线性表采用顺序存储结构,在表的第i个位置插入一个数据元素,i的合法值应该是()


多选题
  P37,4、下列关于线性表的说法中,正确的是()

提问:如何用单链表实现队列——尾进头出

单选题
  P38,7、给定有n个元素的一维数组,建立一个有序单链表的最低时间复杂度为()


单选题
  P38,9、单链表中,增加一个头节点的目的是为了()


栈和队列

单选题
  P67,1、栈和队列具有相同的



单选题
  P70,23、对于空栈,字符序列“n1_”作为输入序列,输出长度为3,则可用作C语言标识符的序列有()个


单选题
  P94,1、栈的应用不包括()


单选题
  P95,3、下面()应用到了队列


单选题
  P97,7、对于一个问题的递归算法求解和非递归算法求解,()

单选题
  P83,5、循环队列存储在数组A[0...n]中,入队时的操作为()

提问:循环队列用数组如何实现?

单选题
  P84,14、用链式存储方式的队列进行删除操作时需要()

提问:链式存储方式如何实现队列?
队列的链式存储方式中,头指针和尾指针都是指向元素的,尤其是尾指针,在队列非空的时候是指向最后一个元素而不是空节点的!所以对仅含有一个元素的队列进行出队操作后,要修改的指针有front=front->link;rear=NULL;
类似地,front在队列为空时指向NULL,在队列非空的时候是指向第一个元素的!所以向空队列中插入一个元素,需要进行的修改的指针有rear=new LinkNode<T> (x);front=rear;

单选题
  P84,16、单循环链表表示长度为n的队列,队头固定在链表表尾,只设头指针,则入队操作的时间复杂度为()

提问:循环单链表如何实现队列?队列是头进尾出还是尾进头出?
尾进头出,而且对于下标、maxsize有严格对应关系:maxsize=n则下下标从0到n-1;注意下标一定是从0开始的

单选题
  P118,4、已知串S='aaab',其next数组值为()
















评论列表