# 计算机考研 408 数据结构-历年编程大题 **Repository Path**: guo-hanzhe/data-structure408 ## Basic Information - **Project Name**: 计算机考研 408 数据结构-历年编程大题 - **Description**: 收录 计算机考研 408 ——《数据结构》历届编程大题题解,代码完整可运行。 - **Primary Language**: C++ - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: https://blog.csdn.net/m0_51338272/article/details/124230068 - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 1 - **Created**: 2022-04-17 - **Last Updated**: 2024-12-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: 数据结构, 计算机考研408 ## README # 🌈408数据结构真题题解🌈 未完待更新~ (目前线性表部分已经完结,有关线性表的历年真题已经全收录) ------ ## 🎈线性表篇 线性表部分的代码在LinearList文件下,代码完整可运行,需要的童鞋可以自取哦🚀🚀🚀 #### 2009统考真题 > 已知一个带有表头结点的单链表,结点结构为 > | data | link | > |-------|-------| > > 假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第$k$个位置上的结点($k$为正整数)。若查找成功,算法输出该结点的data域的值,并返回1;否则,只返回0。要求: > > 1)给出算法的基本设计思想 > > 2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。 > > 3)说明你所设计算法的时间复杂度和空间复杂度。 > #### 2010统考真题 > 设将$n(n>1)$个整数存放到一维数组R中。设计一个在时间和空间两方面都尽可能高效的算法,将R中保存的序列循环左移$p_{(0
> 1)给出算法的基本设计思想
>
> 2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
>
> 3)说明你所设计算法的时间复杂度和空间复杂度。
>
#### 2011统考真题
> 一个长度为$L(L >= 1)$的升序序列$S$,处在第$[L/2]$个位置的数称为$S$的中位数。例如,若序列$S_1=(11,13,15,17,19)$,则$S_1$的中位数是$15$,两个序列的中位数是它们所有元素的升序序列的中位数。例如,若$S_2=(2,4,6,8,20)$,则$S_1$和$S_2$的中位数时$11$。现在有两个等长升序序列$A$和$B$,设计一个在时间和空间两方面都尽可能高效的算法,找出两个序列$A$和$B$的中位数。要求:
>
> 1)给出算法的基本设计思想
>
> 2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
>
> 3)说明你所设计算法的时间复杂度和空间复杂度。
>
#### 2012统考真题
> 假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,可共享相同的后缀存储空间,例如,“loading”和”being“的存储映像如下图所示。
>
> 
>
> 设str1和str2分别指向两个单词所在单链表的头结点,链表结点结构为`|data| |next|`,请设计一个时间上尽可能高效的算法,找出由str1和str2所指向的两个链表共同后缀的起始位置(如图中字符i所在结点的位置p)。要求:
>
> 1)给出算法的基本设计思想
>
> 2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
>
> 3)说明你所设计算法的时间复杂度和空间复杂度。
>
#### 2013统考真题
> 已知一个整数序列$A=(a_0,a_1,...,a{n-1})$,其中$0<=a_i