2011 年 408 真题2011 年 408 数据结构 · 第 1 题选中文字高亮 · 下划线设 n 是描述问题规模的非负整数,下面程序片段的时间复杂度是( )。 x = 2; while (x < n / 2) x = 2 * x; AO(logn)BO(n)CO(nlog2n)DO(n2)←上一题假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,则可共享相同的后缀存储空间,例如,“loading" 和 “being” 的存储映像如下图所示。 设 str1 和 str2 分别指向两个单词所在单链表的头结点,链表结点结构为 | data | next |,请设计一个时间上尽可能高效的算法,找出由 str1 和 str2 所指向两个链表共同后缀的起始位置(如图中字符 i 所在的结点位置 p)。要求: 1)给出算法的基本设计思想。 2)根据设计思想,采用 C 或 C++ 或 Java 语言描述算法,关键之处给出注释。 3)说明你所设计算法的时间复杂度。下一题元素 a,b,c,d,e 依次进入初始为空的栈中,若元素进栈后可停留、可出栈,知道所有元素都出栈,则在所有可能的出现序列中,以元素 d 开头的序列个数是( )。→