11 2023 档案
摘要:using for Enumeration Values 对比一下C++20前后的区别: enum class State { open, progress, done = 9 }; // Before C++20 void print(State s) { switch (s) { case St
阅读全文
摘要:sklearn是一个开源的机器学习库,支持不同种类的机器学习算法,并且提供了许多质量良好的数据集。假如我们想要得到一组环形数据集,借助sklearn的包很轻易就可以实现,不过换个角度思考,我们自己动手是否也可以生成一组数据,使之在散点图上环状分布;借助C++的random头文件以及一点高中数学知识,
阅读全文
摘要:说到Pooling,相信学习过CNN的朋友们都不会感到陌生。Pooling在中文当中的意思是“池化”,在神经网络当中非常常见,通常用的比较多的一种是Max Pooling,具体操作如下图: 结合图像理解,相信你也会大概明白其中的本意。不过Pooling并不是只可以选取2x2的窗口大小,即便是3x3,
阅读全文
摘要:大家都知道队列是可以用数组来模拟的,可以先开辟一段定长的数组空间,然后分别使用两个变量head和tail来代指队列的头和尾,从而维护整个队列,相信到这里大家都比较熟悉。不过这种做法是有弊端的,比如说下图这种情况 假设经过不断地增删元素,Head和Tail已经来到了数组最后两个位置,这时候整个队列中只
阅读全文
摘要:C++11起,引入了基于范围的for循环这一特性,有什么好处呢?它有时可以大大地简化遍历容器的操作,比如说STL的vector。 std::vector v{1, 2, 3}; std::vector<int>::iterator it = begin(v); for (; it != end(v)
阅读全文
摘要:总所周知,Python语言当中的list是可以存储不同类型的元素的,对应到现代C++当中,可以用std::variant或者std::any实现类似的功能。而Python官方的实现当中用到了二级指针,不过抛开这些,我们也可以自己设计一个list的架构,实现多类型值的存储容器。 下图是自己实现的lis
阅读全文
摘要:对于一个给定的数组,若要查找当中是否包含某个值,传统的方法是遍历数组中的每一个元素,如果找到则返回。如果学习过数据结构,也可以立马想到用哈希表来存储,哈希表的查找性能优异,一般可以达到O(1)的时间复杂度,在最坏情况下也有可能达到O(n)的复杂度。但是今天,我将带来一种有意思的查找方式,也就是通过随
阅读全文