MS(10):数据结构算法篇

一、排序

最快的排序算法是哪个?给阿里2万多名员工按年龄排序应该选择哪个算法?堆和树的区别;写出快排代码;链表逆序代码

写出你所知道的排序算法及时空复杂度,稳定性

九大基础排序总结与对比(排序算法一网打尽)

二、链表

数组与链表的优缺点和区别

合并两个排序链表

复杂链表的复制

从尾到头打印链表

链表中倒数第k个结点

反转链表,手写代码

反转链表

三、数组

二维数组中的查找

二进制中1的个数

数组中出现次数超过一半的数字

斐波那契数列

旋转数组的最小数字

调整数组顺序使奇数位于偶数前面

四、字符串

字符串操作

字符串中空格替换

字符串的顺序全排列

给一串字符串比如abbbcccd,输出a1b3c3d1,手写代码(注意有个别字符可能会出现十次以上的情况)

反转字符串,要求手写代码,优化速度、优化空间

最长不重复子串(最长重复子串),手写代码

子串包含问题(KMP 算法)写代码实现

五、树、二叉树

二叉搜索树与双向链表

二叉树中 和为某值 的所有路径

重建二叉树

AVL树和AVL旋转、哈夫曼树和哈夫曼编码

B(B-)树、B+树、B树

二叉树前中后、层次遍历算法

红黑树

从上往下打印二叉树

判断二叉搜索树的后序遍历序列

判断树B是不是树A的子结构

二叉树的插入

二叉查找树的删除操作,手写代码

二叉树镜像,手写代码

二叉树的镜像

六、查找算法

给最外层的rootview,把这个根视图下的全部button背景设置成红色,手写代码,不许用递归

一个序列,它的形式是12349678,9是最高峰,经历了一个上升又下降的过程,找出里面的最大值的位置,要求效率尽可能高

二分查找,手写代码

二分查找与变种二分查找

有海量条 url,其中不重复的有300万条,现在希望挑选出重复出现次数最高的 url,要求效率尽可能的高

一篇英语文章,去掉字符只留下k个,如何去掉才能使这k个字符字典序最小

弗洛伊德算法和 Dijkstra算法的区别?复杂度是多少?讲讲 Dijkstra算法的具体过程

求1000以内的水仙花数以及40亿以内的水仙花数

万亿级别的两个URL文件A和B,如何求出A和B的差集C,(Bit映射->hash分组->多文件读写效率->磁盘寻址以及应用层面对寻址的优化)

蚁群算法与蒙特卡洛算法

百度POI中如何试下查找最近的商家功能(坐标镜像+R树)

4k屏的一帧占用多少内存?

从10亿个数中找符合条件的数个数的思路

请在100个电话号码找出135的电话号码  注意 不能用正则,(类似怎么最好的遍历LogGat日志)

七、堆栈

队列和栈

用两个栈实现队列

判断栈的弹出序列

包含min函数的栈

堆和栈在内存中的区别是什么(数据结构方面以及实际实现方面)

八、图

给出两个无向图,找出这2个无向图中相同的环路。手写代码

图的BFS、DFS、prim、Dijkstra算法

算法

递归算法与迭代算法有哪些优缺点?

Hash表、Hash函数及冲突解决

KMP的一个简单解释

海量数据处理

算法

分治算法

动态规划

贪心算法

分支限界法

浮点数的整数次方

矩形覆盖

跳台阶

变态跳台阶

顺时针打印矩阵

    原文作者:嘉了个桀
    原文地址: https://www.jianshu.com/p/a36acccfd285
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞