随笔分类 -  数据结构与算法

摘要:go语言实现并发遍历目录 目录树结构定义 先实现一个目录树的数据结构定义,需要支持共享访问。 package main import ( "os" "strings" "sync" ) type ( // 目录项 DirEntry struct { Name string `json:"name"` 阅读全文
posted @ 2023-04-27 10:52 乌合之众 阅读(437) 评论(0) 推荐(0) 编辑
摘要:之前在网上找过一个火星坐标的转换算法实现 https://github.com/googollee/eviltransform ,但是其在部分区域的精度较低,达不到我们使用的要求。因为其没有进行有效的迭代计算,所以误差比较大。 参考 从地球到火星 ~ 论 GCJ-02 及其衍生 这篇文章,我借鉴文章 阅读全文
posted @ 2021-05-27 17:52 乌合之众 阅读(2945) 评论(0) 推荐(0) 编辑
摘要:经常遇到一个事情,就是获取一个图片中所有像素值的最大和最小 2% 的值,所以封装了一个 LimitArray 的类,用于把一个序列中最大(或最小)的 N 个值给提取出来。 代码如下: #include <iostream> #include <vector> #include <array> #in 阅读全文
posted @ 2020-07-27 21:12 乌合之众 阅读(1360) 评论(0) 推荐(0) 编辑
摘要:groupcache 里面实现了一个 singleflight 包,感觉很有用,于是参考它实现了一个C++版本。 参考资料: golang防缓存击穿利器--singleflight golang singleflight 用武之地 groupcache源码分析(四)-- singleflight 实 阅读全文
posted @ 2020-03-16 20:37 乌合之众 阅读(742) 评论(0) 推荐(0) 编辑
摘要:[TOC] 原始仓库地址: "https://github.com/mapbox/vector tile spec" 翻译原文地址: "https://github.com/jingsam/vector tile spec/blob/master/2.1/README_zh.md" 本文档中的“ 必 阅读全文
posted @ 2019-11-29 12:43 乌合之众 阅读(11174) 评论(0) 推荐(1) 编辑
摘要:[TOC] 参考资料: "MinFilter Wolfram 语言与系统参考资料中心" "ImageFilter Wolfram 语言与系统参考资料中心" "Streaming Maximum Minimum Filter Using No More than Three Comparisons p 阅读全文
posted @ 2019-04-23 18:15 乌合之众 阅读(2940) 评论(0) 推荐(0) 编辑
摘要:1、算法叙述 算法参考自:【RGBA alpha 透明度混合算法】 ,下面的叙述和实现中有一些个人修改在里面。 1.1、透明度混合算法1 **R1、G1、B1、Alpha1 **为前景颜色值,R2、G2、B2、Alpha2 为背景颜色值,则: Alpha = 1 - (1 - Alpha1) * ( 阅读全文
posted @ 2019-04-17 17:11 乌合之众 阅读(7774) 评论(0) 推荐(3) 编辑
摘要:缘起 GDAL的栅格化算法中有GDALRasterizeLayers、GDALRasterizeLayersBuf和GDALRasterizeGeometries函数,但是没有GDALRasterizeGeometriesBuf函数(GDAL项目不打算添加这个函数,因为增加一个函数会增加维护成本)。 阅读全文
posted @ 2019-02-13 10:48 乌合之众 阅读(1031) 评论(0) 推荐(0) 编辑
摘要:[TOC] 需求简述 对于一张栅格影像图,需要一个进行快速且正确的投影转换算法,以便能够快速的实时多源数据叠加显示。 因为只是用于显示,所以无需进行整体的重投影,只需要对显示区域范围进行重投影即可。 "什么是地图投影?" 逐点采样投影换算 正常的影像进行投影变换,原理是对影像的每一个像素点都进行投影 阅读全文
posted @ 2018-11-08 11:04 乌合之众 阅读(2877) 评论(0) 推荐(0) 编辑
摘要:[TOC] 简述 有一个需求是这样的,写的一个程序内置了一个很大的文件(实际就是 "抓取epsg.io的内容" 里面的epsg.io.json),这个文件筛选缩减后还有 12MB ,如果直接内置到程序中,编译后的程序就很大了。 因为这个程序是一个动态库,而使用 压缩过的动态库有时候会有一些异常问题出 阅读全文
posted @ 2018-09-27 12:54 乌合之众 阅读(3098) 评论(0) 推荐(1) 编辑
摘要:[TOC] Gumbo简介 Gumbo是谷歌开源的一个纯C编写的HTML解析库,性能很好,就是用起来比较麻烦。 "github地址https://github.com/google/gumbo parser" 还有一个C++封装的版本 "https://github.com/lazytiger/gu 阅读全文
posted @ 2018-09-18 10:51 乌合之众 阅读(4716) 评论(0) 推荐(0) 编辑
摘要:今天翻到一个早期写测试代码的目录,找到几个以前的测试代码,于是拿出来贴到博客中。(只是简单的测试,并不严谨。注意这里windows和linux的硬件环境不一样) 这一个是使用fstream进行文件拷贝的代码,测试机器的环境大概如下(时间久了,机器有更新) 当时仅在 上做了测试,今天顺便在window 阅读全文
posted @ 2018-05-02 11:47 乌合之众 阅读(679) 评论(0) 推荐(0) 编辑
摘要:简述 与 "XML文件生成C++代码(基于pugixml)" 中的功能一致,只是这里改用的rapidxml来实现。就不多说了,直接放代码。 代码 阅读全文
posted @ 2018-03-09 10:47 乌合之众 阅读(2046) 评论(0) 推荐(0) 编辑
摘要:简述 在一个项目中需要用到XML的解析和生成,知乎上有人推荐 和`pugixml RapidXML pugixml`了。 因为对解析XML的需求不大(都是一些很小的XML文本),但是对生成XML有较大的需求,且这些XML文本都很大,所以先写了一个根据XML文件生成对应的C++代码的项目。 对XML的 阅读全文
posted @ 2018-03-06 17:14 乌合之众 阅读(2539) 评论(0) 推荐(0) 编辑
摘要:今天使用 模板函数的时候出现了一个错误,特此记录一下。 那么原因就很简单了,因为我在使用的时候,第三个参数写的是0(默认为int),改为 就可以了。 阅读全文
posted @ 2017-12-21 13:39 乌合之众 阅读(857) 评论(0) 推荐(0) 编辑
摘要:简述 有一个需求,是需要将URL中的 参数的key全部转换为小写或者大写,键值对的数量有点多,但全部都是英文字母,无需考虑非字母的情况。 实现比较快的做法是使用STL或C标准库中的转换接口,如下: 这个方法虽然很好,但是效率不是很高。 分析了一下ascii码的码值,发现大小写字母的ascii码之间是 阅读全文
posted @ 2017-08-17 22:21 乌合之众 阅读(1064) 评论(0) 推荐(0) 编辑
摘要:简单的OID生成测试实现,只是简单的用用,切勿用于生产环境。 c / 应该使用大端序的,这里没有做转换 ObjectId是12 byte BSON类型,其结构为: 4 byte 值为Unix时间戳, 3 byte 主机标识, 2 byte 进程ID 3 byte 计数值 / include incl 阅读全文
posted @ 2017-06-26 11:36 乌合之众 阅读(928) 评论(0) 推荐(0) 编辑
摘要:源码下载地址如下: "http://web.mit.edu/freebsd/csup/fnmatch.h" "http://web.mit.edu/freebsd/csup/fnmatch.c" 代码整体不错,但是中有一些地方稍有不足。我没有去改(添加了一些 ,以便结构清晰)。 c / Copyri 阅读全文
posted @ 2017-05-16 15:23 乌合之众 阅读(829) 评论(0) 推荐(0) 编辑
摘要:简介 1、这段代码只考虑在小端序情况下的转换(一般的机器都是的)。 2、这段代码需要C++11的支持(只是用到了 ),如果不支持,可以添加下面代码 utfconvert.h utfconvert.cpp cpp include "utfconvert.h" include ifdef __GNUC_ 阅读全文
posted @ 2017-05-03 11:41 乌合之众 阅读(14003) 评论(0) 推荐(0) 编辑
摘要:TJpgDec—轻量级JPEG解码器 本文由乌合之众lym瞎编,欢迎转载blog.cnblogs.net/oloroso 下文中解码一词皆由 翻译而来。 TJpgDec是一个为小型嵌入式系统高度优化的创建JPEG图像的解码模块。它工作时占用的内存非常低,以便它可以集成到微控芯片,如AVR, 8051 阅读全文
posted @ 2016-09-07 23:34 乌合之众 阅读(6959) 评论(2) 推荐(0) 编辑

clear
点击右上角即可分享
微信分享提示