数据结构与算法
B 站系列学习视频
【【Android高级工程师核心技术】性能优化之数据结构优化-上】
.
.
.
【【Android高级工程师核心技术】性能优化之数据结构优化-下】
BATJ大厂数据机构与算法面试题-合集(展示部分,持续更新…)
一、高频题集 (⭐⭐⭐)
1、无重复字符的最长子串
2、简化路径
3、复原 IP 地址
4、三数之和
5、岛屿的最大面积
6、搜索旋转排序数组
7、朋友圈
8、接雨水
9、反转链表
10、两数相加
11、合并两个有序链表
12、合并 K 个排序链表
13、买卖股票的最佳时机
14、买卖股票的最佳时机 II
15、最大子序和
16、最小栈
17、LRU 缓存机制
18、寻找两个有序数组的中位数
19、最长回文子串
20、合并两个有序数组
21、整数反转
22、排序链表
23、子集
24、全排列
25、实现二叉树中序遍历(不使用递归)
26、爬楼梯(斐波那契数列)
27、滑动窗口的最大值
28、判断单链表成环与否?
29、如何从一百万个数里面找到最小的一百个数,考虑算法的时间复杂度和空间复杂度
30、手写数组实现队列
31、java 排序算法和查找算法 (写出你所知道的排序算法及时空复杂度,稳定性)
二、次高频题集 (⭐⭐)
1、算法熟悉么?给了一个二叉排序树,出了一个给定节点找到它的下一个元素(指的是大小顺 序的下一个)的算法题。
2、x 个苹果,一天只能吃一个、两个、或者三个,问多少天可以吃完
3、求二叉树第 n 层节点数
4、如何设计一个抽奖系统,比如满 200 抽 20,满 500 抽 50。
5、求无序数组中的中位数
6、二叉树深度算法
7、堆和栈在内存中的区别是什么(数据结构方面以及实际实现方面)
8、最快的排序算法是哪个?给阿里 2 万多名员工按年龄排序应该选择哪个算法?
9、堆和树的区别?
10、求 1000 以内的水仙花数以及 40 亿以内的水仙花数;
11、子串包含问题(KMP 算法)写代码实现;
12、万亿级别的两个 URL 文件 A 和 B,如何求出 A 和 B 的差集 C,(Bit 映射->hash 分组->多文件 读写效率->磁盘寻址以及应用层面对寻址的优化)
13、蚁群算法与蒙特卡洛算法;
14、百度 POI 中如何试下查找最近的商家功能(坐标镜像+R 树)。
15、5 枚硬币,2 正 3 反如何划分为两堆然后通过翻转让两堆中正面向上的硬币和反面向上的硬 币个数相同;
16、时针走一圈,时针分针重合几次;
17、N * N 的方格纸,里面有多少个正方形;
18、请在 100 个电话号码找出 135 的电话号码 注意 不能用正则,(类似怎么最好的遍历 LogGat 日志) 19、一个青蛙跳台阶,一次可以跳一步和两步,如果一共有 N 个台阶,可以有几种跳法?
20、写代码实现队列的基本操作,外加查找最大值;
21、图:有向无环图的解释 22、二叉树 深度遍历与广度遍历
23、B 树、B+树
24、密码学中两大加密算法是什么
25、判断环(猜测应该是链表环)
26、有一个 List 列表,去掉列表中的某一 Object 对象,如何在 for 循环里面写;
27、设计移动端的联系人存储与查询的功能,要求快速搜索联系人,可以用到哪些数据结构? (二叉排序树,建立索引)
最后看一下学习需要的所有知识点的思维导图。在刚刚那份学习笔记里包含了下面知识点所有内容!文章里已经展示了部分!如果你正愁这块不知道如何学习或者想提升学习这块知识的学习效率,那么这份学习笔记绝对是你的秘密武器!
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!
不知道如何学习或者想提升学习这块知识的学习效率,那么这份学习笔记绝对是你的秘密武器!
[外链图片转存中…(img-wgR1j0UH-1715326974536)]
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!