数据结构真题

前言

部分易错,待补充

正文

串相关

2004年
利用串的基本运算,编写一个算法删除串s1中的所有s2子串
2005年
求串s1和s2的最长公共子串长度,并返回该子串在s1中的起始位置(动态规划)
2006
将任何输入的字符串中的最长单词输出,并计算出其在字符串中的位置
求串s中出现的第一个最长重复子串及其位置并分析算法的时间复杂度
2007
设s为一个长度为n的字符串,其中串的字符各不相同,计算s中互异的非平凡子串的个数
2008
编写一个函数判断s2是否是s1的子串
2017
编写程序,能够计算一字符串中对称子字符串的最大长度。例如:字符串“Google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4.

链表相关

2003
单链表顺序表实现约瑟夫环josehus问题
2004
设计一个统计选票的算法,输出每个候选人的得票结果(单链表存储,编号依次为1,2,3,4,5,…N且每张选票且选出一人)
2008
链表表示:从键盘读入整数,并按照从小到大的顺序输出输入整数中互不相等的那些整数
建立表示集合X的静态链表p1,而从在输入集合Y的元素的同时查找p1表,若存在和Y相同的元素,则从p1表中删除,否则插入p1
2009
请编写算法将表A和表B归并成为一个按元素非递减有序(允许值相同)排列的线性表C,并要求利用原表(即表A和表B)的结点空间存放表
2011
假设以带头结点的循环链表表示队列,并只设一个指针指向队尾元素结点(不设头指针),编写相应的队列初始化,入队列和出队列的算法
2014
几何数据文件结构,包括线,矩形,圆三种图形。请分析文件的结构,编写程序定义数据结构,从文件中读入全部几何数据到内存中,然后根据用户输入命令打印输出指定类型的图形,最后正确释放内存,尽可能使用链表和union进行实现。
2020
假设两个按递增次序排列的线性表,均以单链表形式存储。编写算法将这两个单链表归并为一个按元素值递减次序排列的单链表,要求两个单链表的结点存放归并后的单链表

树相关

2005
给定中序和先序,设计算法构建该二叉树
2007
设计程序求有n个叶子结点的霍夫曼树的结点个数
2008
请写出用二叉树计算英文文献中单词使用频度的算法
2009
对于二叉树T的两个结点N1和N2,我们应该选择树T结点的前、中、后序中哪两个序列来判断结点N1必定是结点N2的祖先,并给出判断方法。
2013
给出了一段英文文本中,请统计其中的单词个数和每个单词出现的次数。
2019
写一递归算法计算二叉树非叶子结点数

递归相关

2003
递归实现,1,2,3,4…N中任取r个数的所有组合,并画出N_S图
2004
在R[n]数组中求n个整数的平均值
2006
递归实现任意位数的整数转换为字符串输出,对于负数也能处理
2018
连通区域图像的着色问题

队列栈相关

2003
编号a,b,c,d的四辆车依次入栈,问车出栈的顺序有多少种可能?
2004
括号匹配问题,有圆,花,方括号三种类型,编写算法看是否匹配
2018
线程处理

图相关

2006
设计一个算法解决地图着色判断问题,算法对着色方案进行考察,若满足要求输出true否则输出false(1)描述数据结构(2)设计算法
2012
已知一有向图的邻接矩阵如下图,如需在其中一个结点建立医院,要求该结点距其他各个结点的最长往返路径最短,相同条件下总的往返路程越短越好,医院应当选址在何处?
2019
给定无向连通图G,试编写函数,求其深度最小的生成树
2020
邻接表表示的Dijkstra算法的实现

回溯相关

2015
编写程序:对给定的区域图找出所有有可能的不超过四种颜色的着色方案,即验证四色定理的有效性

排序

2012
已知序列(12,5,9,20,6,31,24),对该数据序列进行排序,请根据题中所给的例子,分别写出气泡排序、快速排序、简单选择排序、堆排序、基数排序这5种排序算法的各趟排序结果

gis算法相关

2010
写出判断“点是否在简单多边形内部”算法
2011
编写程序,判断两线段是否相交
2014
DEM——编写一个函数实现从DEM中裁剪一个区域,形成新的DEM数据
2014
单调链——其含义是一个点序列在某个直线上的投影的结果是有序的,则认为此点序列相对于该直线是一条单调链。编写程序找到任意点序列相对于Y轴的所有单调链
2015
计算由N个点构成的简单多边形的面积
2020
10*10的二维矩阵表示岛屿地图,图中数字表示海拔,0表示海洋,1~9表示陆地,数字代表高程信息。假设降落点坐标为(6,8),编写程序计算降落点所在岛的面积

其他C相关

2010
用二分法 求方程“(2×X^3)-(4× X^2)+(3×x)-6=0”
2013
基于查表思路,按照0.1度的精度实现输入为角度的查表正弦函数double fast_sin(double angel) 如fast_sin(60.123),只需给出60.1度的正弦值即可,给出求正弦值sin库函数如下
库函数 double sin(double rad) rad 为弧度
2013
定义一组数据结构,编写一个函数将其从文件读入到内存中,并输出显示到屏幕上。
2014
将任意整数进行质因数分解,比如24的质因数分解为24=222*3,质因数分解所得到的因素都是质数,尽量使用递归方法实现
2014
用枚举的方法举出任意三元素构成的所有排列组合
2018
质点p(x0,y0)初始速度是v0(dx0,dy0),受重力,空气阻力影响大小与速度的平方成反比
编程模拟质点的轨迹坐标,当质点触及地面(y<=0)时计算结束
2019
设正整数序列采用哈希表存储,哈希表函数为H(K)=K%13,采用开放定址法并结合线性探查序列处理冲突,编写程序哈希表的存储和查找函数

设计题

2010
编写一个程序模拟银行窗口接待客户的排队业务活动(每个窗口某个时刻只能接待一个客户;窗口空闲,则可上前办理业务;窗口被占则新客户便会排在人数最少的队伍前面),并计算一天中客户在银行逗留的平均时间
2015
文件A.txt中储存了N个整数(N大于100万),要求仅占用4k内存,对该文件中的整数进行排序,并将结果输出到B.txt文件中
2018
TIN数据的存储结构编写,读取程序编写

证明题

2015
证明二叉树的前序和中序序列,可唯一确定该二叉树
2015
证明dijkstra算法的正确性

分治

2016
为参加网球比赛的选手安排比赛日程。设有n(2^k)位选手参加网球循环赛,循环赛共进行n-1天,每位选手与其他n-11位选手都赛一场,且每位选手每天赛一场,不轮空,按此要求编程为比赛安排日程
2020
给定N个元素的一维整数数组以及一个整数k,1<=k<=n,编写程序在线性时间找出这n个元素中第K大的元素值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值