算法
文章平均质量分 74
宣哲
这个作者很懒,什么都没留下…
展开
-
【阿里面试】链表排序总结
题目:对单链表进行排序,要求不改变每个节点内的值。1.首先自然而然地会想到快速排序,毕竟是一个经典的排序算法。但是在排序过程中要求不能改变节点中的值,就必须通过改变节点中的指针来交换节点。而且快速排序的时间复杂度的下限是O(N^2),当链表接近有序时,可能还没有插入排序来的快。直接上代码(代码是康神 撸的,我太菜撸不出来)//List Quick Sortclass Soluti原创 2017-03-26 15:51:42 · 331 阅读 · 0 评论 -
大数据排序问题
问题1:从100亿个数据中找出前100个数据分析:由于只要找出前100个数据,可以采用堆来进行处理。堆特别适合的场景是从海量数据中找出前m个最大值或最小值,当m不大的时候效率很高。步骤:1.读取前100个数据,建立最小堆(最小堆的作用是方便找出目前最大的100个数据中的最小值,把待比较的数据与这个最小值比较就好。由于一次性只读取100个数据,不需要一次性读完所有数据,降低对内存的要求)原创 2017-03-27 10:25:38 · 428 阅读 · 0 评论