算法原理
文章平均质量分 81
心神沫沫
既然没有创造知识的能力,那就当知识的搬运工吧!
本博客文章均为笔者学习过程中自行搜索查找并抱着收藏的心态进行转载的,如果无意中侵犯了您的权益,我深感抱歉并请您通过站内信联系我,我会在第一时间删除相关文章。
展开
-
30张图带你彻底理解红黑树 侵删
本文将通过图文的方式讲解红黑树的知识点,并且不会涉及到任何代码,相信我,在懂得红黑树实现原理前,看代码会一头雾水的,当原理懂了,代码也就按部就班写而已,没任何难度。阅读本文你需具备知识点:二叉查找树完美平衡二叉树事不宜迟,让我们进入正题吧。红黑树也是二叉查找树,我们知道,二叉查找树这一数据结构并不难,而红黑树之所以难是难在它是自平衡的二叉查找树,在进行插入和删除等可能会破坏树的平衡的操作时,需要重新自处理达到平衡状态。现在在脑海想下怎么实现?是不是太多情景需要考虑了?啧啧..转载 2020-07-14 16:34:39 · 212 阅读 · 0 评论 -
先码后看 jdk中ArrayList.sort()排序的算法原理 侵立删
转自:http://blog.csdn.net/yangzhongblog/article/details/8184707 Timsort是结合了合并排序(merge sort)和插入排序(insertion sort)而得出的排序算法,它在现实中有很好的效率。Tim Peters在2002年设计了该算法并在Python中使用(TimSort 是 Python 中 lis转载 2018-02-02 11:04:03 · 1991 阅读 · 0 评论 -
先码后看 十大经典排序算法最强总结(含Java代码实现) 侵立删
转自:https://mp.weixin.qq.com/s/feQDjby4uYGRLbYUJq7Lpg最近几天在研究排序算法,看了很多博客,发现网上有的文章中对排序算法解释的并不是很透彻,而且有很多代码都是错误的,例如有的文章中在“桶排序”算法中对每个桶进行排序直接使用了Collection.sort()函数,这样虽然能达到效果,但对于算法研究来讲是不可以的。所以我根据这转载 2018-03-29 09:19:58 · 118 阅读 · 0 评论 -
一些常用的算法技巧总结 侵立删
今天和大家讲讲,在做算法题时常用的一些技巧。对于平时没用过这些技巧的人,或许你可以考虑试着去看看在实践中能否用的上这些技巧来优化问题的解。 1. 巧用数组下标 数组的下标是一个隐含的很有用的数组,特别是在统计一些数字,或者判断一些整型数是否出现过的时候。例如,给你一串字母,让你判断这些字母出现的次数时,我们就可以把这些字母作为下标,在遍历的时候,如果字母a遍历到,则arr[a]就可...转载 2019-01-08 09:08:35 · 119 阅读 · 0 评论 -
如果让你手写个栈和队列,你还会写吗? 侵立删
来源:程序员私房菜(ID:eson_15) 昨天跟一个CSDN上的朋友聊天,他说现在如果让他自己手写一个栈或者队列,估计都要写蛮久的,平时虽然都在用,但是都是别人封装好的集合。确实,经典的数据结构,包括排序算法,虽然我们平时不用手写了,但是这些内功,作为开发人员来说是必须要掌握的。受此启发,我打算更一下经典数据结构和算法的系列文章。今天先从栈和队列说起。这些东西,挤地铁时,吃饭排队...转载 2019-01-27 23:31:53 · 415 阅读 · 0 评论 -
10亿个数中找出最大的10000个数(top K问题) 侵立删
作者:yofer张耀琦 来源地址:https://blog.csdn.net/zyq522376829前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅场的心已经按捺不住了),这个问题还是建立最小堆比较好一些。 先拿10000个数建堆,然后一次添加剩余元素,如果大于堆顶的数(10000中最小的)...转载 2019-01-28 14:50:46 · 232 阅读 · 0 评论