嵌入式软件工程师笔试面试指南-数据结构与算法

哈喽,你们好。今天更新一篇数据结构笔试面试总结。因为百度网盘分享的资料老是失效。因此,我把PDF版本,放在了百度网盘群组中,出现问题,能够和我及时反馈。你们能够加我好友,好友经过后,发送【资料群】给我,会自动拉进群里。面试

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

关于算法题

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

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

算法能力的提高是一个长期积累的过程!数据结构

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

刷题顺序

我是在力扣刷的题目,这么多题目,确定不可能都刷完。因此要高频题和经典题,要刷一题掌握一个类型,遇到新题须要和刷过的题总结归类到一块儿,才能以不变应万变,真正提升。学习

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

刷题技巧

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

第一遍:不会就看答案。学习他人的最优解,创建思惟体系,了解全部最优解,方法技巧第一。作题套路,以印象为主。排序

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

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

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

作题厉害的并非聪明,而是踏踏实实的努力!

链表

删除单链表的重复节点

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

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

反转链表

环形链表

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

回文链表

移除重复节点

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

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

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

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

层次遍历

求二叉树的深度

如何判断二叉树是否相等

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

数组

最大子序和

原地移除元素

合并两个有序数组

查找经常使用字符

寻找数组的中心索引

数组中数字出现的次数

数组中数字出现的次数 II

数组中缺失的元素

按奇偶排序数组

数组是否存在重复元素

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

有效的山脉数组

最长连续递增序列

字符串

有效的括号

字符串数字相加

二进制求和

反转字符串

反转字符串中的单词

反转字符串中的元音字母

验证回文串

验证回文字符串 Ⅱ

根据字符串出现频率排序

字符串中的单词

前K个高频单词

检测大写字母

最长的公共前缀

最长特殊序列 Ⅰ

最长特殊序列 II

计数二进制子串

实现字符串的库函数

strcpy

strlen

strcat

atoi

itoa

memmove

排序算法及其改进方法

快速排序

冒泡排序

堆排序

插入排序

选择排序

归并排序

希尔排序

## 结语

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

若是以为本篇文章对你有帮助,不妨点个【】和【在看】支持下做者,这个对我真的很重要

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

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

相关文章
相关标签/搜索