玩儿转算法面试Chapter1_算法面试介绍

Section 1

玩儿转算法面试Chapter1_算法面试介绍
玩儿转算法面试Chapter1_算法面试介绍
举例:
玩儿转算法面试Chapter1_算法面试介绍
玩儿转算法面试Chapter1_算法面试介绍
java源代码快排的实现便是三路快排
玩儿转算法面试Chapter1_算法面试介绍
玩儿转算法面试Chapter1_算法面试介绍
玩儿转算法面试Chapter1_算法面试介绍
玩儿转算法面试Chapter1_算法面试介绍
因为快排非常依赖依赖于数据的随机存取这一特性,所以如果使用链表存储,那么归并排序更为适合
玩儿转算法面试Chapter1_算法面试介绍
玩儿转算法面试Chapter1_算法面试介绍
所以,对于排序算法的选择,一定要按照具体场景来分析,多和面试官沟通交流。体现出自己的思考路径。
玩儿转算法面试Chapter1_算法面试介绍
玩儿转算法面试Chapter1_算法面试介绍

Section 2

玩儿转算法面试Chapter1_算法面试介绍
将以上问题与自己的项目相关联起来
玩儿转算法面试Chapter1_算法面试介绍

Section 3

玩儿转算法面试Chapter1_算法面试介绍
玩儿转算法面试Chapter1_算法面试介绍
不要陷入无谓的刷题状态,最重要的是总结

Section 4

玩儿转算法面试Chapter1_算法面试介绍
玩儿转算法面试Chapter1_算法面试介绍
对于有序数组,那么自然想到二分法。
看到时间复杂度出现了logN的字眼,那么想是不是分治,甚至对于O(NlogN),试想是不是需要先排序。
无需考虑额外空间,那么是不是可以用数组或者HashSet。
数据规模小于10000,则就可以使用O(N^2)的算法。
玩儿转算法面试Chapter1_算法面试介绍
若除了暴力法不知优化方法,那么一定也要说出来,不要什么都不跟面试官说。
玩儿转算法面试Chapter1_算法面试介绍
以上便是leetcode 3的举例。
如何优化呢?从哪些方面思考
玩儿转算法面试Chapter1_算法面试介绍
注重细节,给面试官留下良好印象。
玩儿转算法面试Chapter1_算法面试介绍
对于基本问题,注重白板编程。
玩儿转算法面试Chapter1_算法面试介绍