![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法&数据结构
文章平均质量分 93
算法&数据结构
无数_mirage
MMO游戏服务器 wushuripple@gmail.com
展开
-
【算法】算法效率分析 -- 时间空间复杂度
算法的效率分析,主要从「时间」和「空间」两个维度进行分析。时间维度顾名思义就是算法需要消耗的时间,用术语 -“时间复杂度”表示。空间维度代表算法需要占用的内存空间,用术语 -“空间复杂度”表示。在计算机发展的早期,计算机的存储容量很小,所以对空间复杂度很是在乎。但是经过计算机行业的迅速发展,计算机的存储容量已经达到了很高的程度。所以我们如今已经不需要再特别关注一个算法的空间复杂度。算法本质上是一连串的计算步骤。原创 2023-06-28 14:05:03 · 563 阅读 · 0 评论 -
GoLang-uuid的存储方式:[16]byte如何存32个字符
今天用了下goloang的uuid包是 “github.com/satori/go.uuid”发现了下面这个奇怪的东西遍历长度和打印出的字符串长度不一样,不算短横的话,相当于用一个[16]byte存了32个字符一开始觉得挺奇怪,然后看了下源码简洁明了。因为uuid本身就是16进制的,占8位,一个byte16位,正好一劈两半,一个byte存两个uuid的字符。perfact!...原创 2020-11-19 18:04:56 · 1453 阅读 · 0 评论 -
获取当天零点的时间戳 `now - ( now + 8 * 60 * 60) % daySecond` 的解释
网上关于获取当天零点时间戳,很多都提到了一个效率很高的算法:long now = System.currentTimeMillis();long daySecond = 24L * 60 * 60 * 1000; // 一天的毫秒值long dayTime = now - (now + TimeZone.getDefault().getRawOffset()) % daySecond;// TimeZone.getDefault().getRawOffset() 方法用于获取以毫秒为单位的时间量添加原创 2020-10-24 00:07:08 · 5086 阅读 · 0 评论 -
Astar算法的Java实现 (其他很多都是错的,没有计入曼哈顿值的代价)
文章目录疯狂吐槽错误分析效率正确的Java实现代码 - 已优化数据结构坐标类路径结点类地图类算法定义常量看懂本文的前提是了解清楚A星算法的原理!!这个可以看其他文章,讲的都还可以推荐这篇A星算法详解(个人认为最详细,最通俗易懂的一个版本)疯狂吐槽最近在做游戏,服务端老大应该是在网上复制的AStar算法寻路用,寻路业务交给我之后,我发现从(0,0)到(length-1,length-1)的路径寻不到。不止这样,从(0,0)到((length/2) -1,(length/2) -1)之间的点随原创 2020-09-17 17:33:44 · 1340 阅读 · 6 评论