算法
杂说
杂说,咋说
展开
-
8 大内部排序算法相关及其java实现
ps:本博文主要内容来自:www.cricode.com/3212.html,博主添加了算法的适用场景、分类、java实现相关模块,并对内容进行了一些修改。如有不足之处,请不吝指教。首先,排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 常见的内部排序算法有:插入排序、希尔...原创 2018-08-07 11:46:14 · 922 阅读 · 1 评论 -
你必须知道的基础算法
基础算法简介(1).贪心算法对于贪心算法,我们要先将问题简化,然后依据贪心算法的理念,例如可以一起进行的事情,让他们一起进行。可以用一个条件完成的,就用一个条件完成。贪心算法就像人的贪心理念一样,先将可以贪的贪干净,然后在考虑特殊的情况,这样可以很好地进行代码的编写。贪心算法也叫做贪婪算法是一种对某些求最优解问题的更简单、更迅速的设计技术。用贪婪法设计算法的特点是一步一步地进行,常以当...原创 2016-07-07 09:23:21 · 1271 阅读 · 0 评论 -
百人开灯问题解法及优化
一:题意 房间里有100盏电灯,编号为1,2,3……100,每盏灯上有一个按钮,初始时灯全都是关的。编好号的100位同学由房间外依次走进去,将自己编号的倍数的灯的按钮全部按一次第一位同学把编号是1的倍数的灯的按钮按一下(此时100盏灯全亮) 第二位同学把编号是2的倍数的灯的按钮按一下(此时只有50盏灯亮着,50盏被这个人按灭了 …… 第100位同学把编号是100的倍数的灯(即编...原创 2018-10-07 17:57:12 · 2159 阅读 · 0 评论 -
大数据量获取TopK的几种方案
一:介绍 生活中经常会遇到求TopK的问题,在小数据量的情况下可以先将所有数据排序,最后进行遍历。但是在大数据量情况下,这种的时间复杂度最低的也就是O(NlogN)此处的N可能为10亿这么大的数字,时间复杂度过高,那么什么方法可以减少时间复杂度呢,以下几种方式,与大家分享。二:局部淘汰法 -- 借助“冒泡排序”获取TopK 思路: 可以避免对所有数据进行排序,只排序部...原创 2018-09-30 14:27:03 · 5653 阅读 · 2 评论