哈喽,大家好。今天更新一篇数据结构笔试面试总结。由于百度网盘分享的资料总是失效。所以,我把PDF版本,放在了百度网盘群组中,出现问题,可以和我及时反馈。大家可以加我好友,好友通过后,发送【资料群】给我,会自动拉进群里。

下面总结的这些题目,都是要求在面试中能达到手写的。如果你看了这些题目,没有思路,那接下来的时间,要加强训练了。

关于算法题

算法能力的提升是一个长期积累的过程!

算法能力的提升是一个长期积累的过程!

算法能力的提升是一个长期积累的过程!

因此,不要想着速成了,要扎扎实实走好每一步。建议大家使用C++刷题,学习下STL库的用法,可以避免重复造轮子。当然,C其实也可以,不过刷题效率可能会低一点。

刷题顺序

我是在力扣刷的题目,这么多题目,肯定不可能都刷完。所以要高频题和经典题,要刷一题掌握一个类型,遇到新题需要和刷过的题总结归类到一起,才能以不变应万变,真正提高。

前期刷题,可以参考我CSDN博客转载的一篇叫leetcode高频题目整理_所有题目汇总篇的文章(点击文末阅读原文直达),分类型刷重点题目。中后期刷题建议将重点放在剑指offer+力扣hot100,剑指offer建议刷两遍。从7月 ~ 11月,每天要刷1~2个题目,保持手感。

刷题技巧

刷题只有一个技巧:熟能生巧

第一遍:不会就看答案。学习他人的最优解,建立思维体系,了解所有最优解,方法技巧第一。做题套路,以印象为主。

第二遍:自己想,锻炼逻辑基础。过easy题,记住;做medium,重点题背,反复背。刷过一遍,已经有了自己的思维,现在就是要培养自己的独立做题能力了。自己先尝试写答案,多多少少能写出来一些。写不出来的部分,看下题解,分析下自己卡在哪里。

第三遍:做easy题;做部分medium题,hard题有思路。夯实medium基础。熟练运用做题套路,以做题为主。

第四遍:做面经,开阔思路,了解出题形式。基础牢轻松,不牢就痛苦。

做题厉害的并不是聪明,而是踏踏实实的努力!

链表

删除单链表的重复节点

如何找出链表的倒数第K个元素?

如何找出链表的中间节点?

反转链表

环形链表

单链表相交,如何求交点?

回文链表

移除重复节点

用普通算法实现两个有序链表的合并

二叉树先序遍历(递归和非递归)

二叉树中序遍历(递归和非递归)

二叉树后序遍历(递归和非递归)

层次遍历

求二叉树的深度

如何判断二叉树是否相等

如何判断二叉树是否是平衡二叉树

数组

最大子序和

原地移除元素

合并两个有序数组

查找常用字符

寻找数组的中心索引

数组中数字出现的次数

数组中数字出现的次数 II

数组中缺失的元素

按奇偶排序数组

数组是否存在重复元素

有序数组出现次数超过25%的元素

有效的山脉数组

最长连续递增序列

字符串

有效的括号

字符串数字相加

二进制求和

反转字符串

反转字符串中的单词

反转字符串中的元音字母

验证回文串

验证回文字符串 Ⅱ

根据字符串出现频率排序

字符串中的单词

前K个高频单词

检测大写字母

最长的公共前缀

最长特殊序列 Ⅰ

最长特殊序列 II

计数二进制子串

实现字符串的库函数

strcpy

strlen

strcat

atoi

itoa

memmove

排序算法及其改进方法

快速排序

冒泡排序

堆排序

插入排序

选择排序

归并排序

希尔排序

## 结语

因为本公众号申请较晚,暂时没有开通留言功能,欢迎小伙伴们扫码添加我的私人微信,好友通过后发送交流群】给我,将自动拉你进群。欢迎小伙伴们找我一块聊天唠嗑,共同学习进步。

如果觉得本篇文章对你有帮助,不妨点个【】和【在看】支持下作者,这个对我真的很重要

点击阅读原文可以直达力扣高频题目汇总。

原作者:仲一
文章链接:嵌入式软件工程师笔试面试指南-数据结构
文章来源:公众号-嵌入式与Linux那些事


嵌入式那些事
26 声望12 粉丝