![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 72
STEVEKW
这个作者很懒,什么都没留下…
展开
-
二分查找算法+代码(通俗易懂简洁扼要)
二分查找是一个可以把单值查找时间复杂度从O(n)降到O(logn)的算法。二分查找的前提是数组有序(按照从小到大或从大到小的顺序排列)有两种方法可以实现:递归和循环为了节约存放函数调用的栈,一般建议使用循环原创 2022-02-18 05:19:03 · 1983 阅读 · 0 评论 -
应对知名互联网公司的程序员面试,基本八种排序算法需要掌握哪些?
我的知乎账号根据我面试过几乎所有各大互联网一二线公司的经验:面试基本考这四种:1.快速排序 2.堆排序 3.归并排序. 4冒泡排序按考察频率排:1.快速排序,理由:难度适中,朗朗上口,细节可提问的地方多,优化挖深空间大,易于筛选基础不牢靠的人。2.堆排序,理由:堆排序是最重要的一种排序之一,且堆排序效率真的很高3.归并排序,理由:归并排序虽然应用场景稍微少一点,但是对于链表排序优于快排和堆排。4.冒泡排序,理由:比较简单,但是考这道题花不了多长时间,类似于高考前几道总要出...转载 2022-02-18 04:50:45 · 258 阅读 · 0 评论 -
快速排序及其优化超详细解答+代码(真正理解)
知乎出处:快速排序及其优化超详细解答+代码(真正理解)快速排序QuickSort采用了分治法Divide-and-ConquerMethod,通过将数组链表或其他元素集分为待排序集合和已排序集合,并在一次次迭代中将待排序集合的元素转化到已排序集合当中直到全部元素都为已排序则完成排序。快速排序利用这一策略,节约了处理已排序元素的成本。算法只关注剩余待排序的元素,其中位置连续的未排序元素子串又分为:S1(左侧),pivot(交换枢纽元),S2(右侧)以快速排序来实现升序排序为例:先从数组中选取出转载 2021-07-05 21:29:25 · 513 阅读 · 0 评论