面试题2023数据结构和算法10道题(附解题思路)_第1页
面试题2023数据结构和算法10道题(附解题思路)_第2页
面试题2023数据结构和算法10道题(附解题思路)_第3页
面试题2023数据结构和算法10道题(附解题思路)_第4页
面试题2023数据结构和算法10道题(附解题思路)_第5页
已阅读5页,还剩2页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据结构和算法10道题(附解题思路)题目1变量x、y的值互换题:在不借助第三个变量的情况下,把两个int的变量X、Y的值互换,用任何自己熟悉的编程语言完成参考答案:思路如下X=X+Y;Y=X-Y;X=X-Y;具体编程语言完成情况由面试官检查。考察点:基本算法、语言基础。题目2:文件查找优化问题:文件查找优化背景:百度每天都有大量搜索,如果有一个大文本文件(保存各种词语),每次搜索都必须要检查查询词是否在这个大文件中,请问有什么方式能够提高查找效率要求:先讲解所使用的算法,然后用自己最熟悉的编程语言,在3分钟内予以实现参考答案:基本方法:采用hash签名,提高匹配效率;建立多叉树保存文件数据,提高查找速度。如有列举出更多签名算法或更好数据结构形式,可加分较优方法:在上面基础上,将文本文件转化为key->value的二进制文件,提高文件操作和查找速度更优方法:在上面基础上,开辟内存做cache,保存高频率查询词,提高整体查找效率。如能完整给出cache的更新机制,加分;考察点:基本数据结构;灵活采取算法处理实际问题的能力;快速编程能力;在给出一定提示情况下,检查学习能力和知识应用能力。题目3:栈的结构题目描述:

函数voidlog(int,char,long)

调用时栈的结构是什么样的?考察点:参数压栈的顺序,字节对齐等答案:从右到左的压栈顺序,注意高地址和低地址,压栈时以机器字为单位且所有参数字对齐。请见下图的说明。题目4:成绩单最优数据存储题目:有一份成绩单,只有两个字段:姓名、成绩;数据量在百万级别。要求用最优的数据存储方式,能通过姓名快速查找出成绩。(5分钟)参考答案:存储方式采用对姓名做hash。考察点:数据结构题目5:找出单向链表的中间节点问题:找出单向链表的中间节点参考答案:link*mid(link*head){link*p1,*p2;p1=p2=head;if(head==NULL||head->next==NULL)returnhead;do{p1=p1->next;p2=p2->next->next;}while(p2&&p2->next);returnp1;}考察点:算法基础——链表题目6:快速排序的时间复杂度问题:快速排序的平均时间复杂度是多少?最坏时间复杂度是多少?在哪些情况下会遇到最坏的时间复杂度。(4分钟)参考答案:快速排序时间复杂度为O(nlogn),最坏时间复杂度是O(n平方),在待排序列正序或者逆序的情况下会出现最坏时间复杂度考察点:此题主要考察:对数据结构的掌握题目7(本题答案不全):找到至少出现两次的整数问题:

给定43亿个32位整数的顺序文件,请问如何可以找到一个至少出现两次的整数?考察:算法相关(10min)参考答案:用二分查找发。细节点:43亿大于int的最大值,说明肯定有重复的数字题目8:如何判断一个单链表是有环的如何判断一个单链表是有环的(不能用标志位,最多只能用两个额外指针)(6分钟)考察点:算法及数据结构参考答案:可以只给出算法思路,一种O(n)的办法就是(两个指针,一个每次递增一步,一个每次递增两步,如果有环的话两者必然重合,反之亦然)structnode{charval;node*next;}boolcheck(constnode*head){}//returnfalse:无环;true:有环boolcheck(constnode*head){if(head==NULL)returnfalse;node*low=head,*fast=head->next;while(fast!=NULL&&fast->next!=NULL){low=low->next;fast=fast->next->next;if(low==fast)returntrue;}returnfalse;}题目9:把一维数据某一位置的数值改成-1题目:有一个一维数组inta[100],里面存储的是1到100的这100个数,不过是乱序存储;这时把其中某一位置的数值改成-1;请用最优的空间复杂性和时间复杂性求出该位置和值(6分钟)参考答案:遍历一遍数组得到-1的位置并记录,同时把非-1的值相加得到sum被改变的值为:50*(100-1)-sum时间复杂性O(n),空间复杂性O(1)考察点:程序设计、逻辑思维能力题目10:求两个相同大小已排序数组的中位数问题:求两个相同大小已排序数组的中位数:设a[0..n-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论