算法
James_probie
正在努力飞奔的菜菜菜niao一小只
展开
-
算法旅行之快速排序
今天大家一起讨论了交换排序中冒泡排序和快速排序,至于冒泡排序还是很容易理解的,大家也都很开心,不过在讨论快速排序的时候,好像大家都蒙在鼓里,总是觉得有一层隔膜没有突破,堵得难受。因此,经过我和我的算法小伙伴,在纸上讨论完算法的具体过程之后,我们又在代码里经过实现和逐步调试,看明白了值是如何改变的,下面就和大家一起分享一下,如果有什么问题大家可以联系我一起讨论。 我的博客都想异于常人,那么...原创 2018-08-16 18:08:37 · 378 阅读 · 18 评论 -
算法旅行之希尔排序
上一次的算法旅行带领大家一起体验了我们的交换排序和交换排序的优化——快速排序,今天和大家一起探索插入排序和希尔排序众所周知,希尔排序是插入排序的优化,所以首先我们来了解插入排序,所谓插入排序,基本思想就是依次将每个记录插入到一个已排好的有序表中。//代码int[] array = { 10,5, 4, 3, 1, 6, 2, 9 }; #region ...原创 2018-08-26 21:49:15 · 326 阅读 · 21 评论 -
桶排序——代码
之前我们已经学习了很多的排序算法,其中包括选择,交换,插入,归并等等常用的排序,今天我们来讲一讲桶排序,不过讲之前我们首先来回顾一下以前学过的排序。 除了这些排序,还有基数排序,桶排序,计数排序。今天我们就来分享下桶排序。 见代码:namespace 桶排序重构__Aran{ /* * 功能 * 桶排序 * 把区间[0,1){大桶}划分成n...原创 2018-09-16 21:43:55 · 1331 阅读 · 18 评论 -
回溯之0-1背包
明天补一下,带你们飞原创 2018-11-04 21:37:08 · 304 阅读 · 11 评论 -
SnonFlke雪花算法生成ID
SnowFlake算法生成id的结果是一个64bit大小的整数,它的结构如下图:图片描述1位,不用。二进制中最高位为1的都是负数,但是我们生成的id一般都使用整数,所以这个最高位固定是041位,用来记录时间戳(毫秒)。41位可以表示241−12^{41}-1241−1个数字,如果只用来表示正整数(计算机中正数包含0),可以表示的数值范围是:0 至 241−12^{41}-1241−1,...原创 2019-01-13 21:18:56 · 754 阅读 · 6 评论