2015 年 408 真题2015 年 408 数据结构 · 第 11 题选中文字高亮 · 下划线希尔排序的组内排序采用的是()。A直接插入排序B折半插入排序C快速排序D归并排序←上一题已知小根堆为 8,15,10,21,34,16,12,删除关键字 8 之后需重建堆,在此过程中,关键字之间的比较次数是()。下一题用单链表保存 m 个整数,结点的结构为,且 ∣data∣≤n ( n 为正整数)。现要求设计一个时间复杂度尽可能高效的算法,对于链表中 data 的绝对值相等的结点,仅保留第一次出现的结点而删除其余绝对值相等的结点。例如,若给定的单链表 head 如下: 则删除结点后的 head 为: 要求: (1) 给出算法的基本设计思想。 (2) 使用 C 或 C++ 语言,给出单链表结点的数据类型定义。 (3) 根据设计思想,采用 C 或 C++ 语言描述算法,关键之处给出注释。 (4) 说明你所设计算法的时间复杂度和空间复杂度。→