c++ - 在不使用数组的情况下改进分箱算法
问题描述
前提:下面介绍的算法B是在蒙特卡洛模拟中停留在分箱过程之后的原始算法。
我有一个算法A,它独立地以有序序列(即,不是当代的)输出同一单个变量的n个一般不同的值;这意味着如果没有存储在任何地方,一个值会被下一个值扫除。这些值需要由算法B处理,其工作方式如下:
1) 对几个连续值取平均值(即第一个与第二个,第三个与第四个,依此类推);
2) 确定新得到的n/2值的标准差并存储起来;
3) 设置n = n/2;4) 如果n > 1
则返回点 (1) 。
我已经成功地在 C++中实现了算法B ,方法是将n 个初始值存储在具有n个条目的第一个数组中,并将标准偏差存储在第二个可变大小数组中;但是,由于我希望n任意大,因此在我看来,这个解决方案并不是最好的解决方案。
因此我的问题是:有没有其他方法可以在不将n值存储在数组中的情况下实现算法B ?
编辑:下面是算法B如何与 n 大小数组一起工作的示例。
int n; //Number of values.
double * first_array = new double[n]; //Array in which every single value given by Algorithm A is stored.
do
{
for (int x = 0; x < n/2; x++) //As in point (1).
first_array[x] = (first_array[2*x] + first_array[2*x + 1])/2.0;
... //Here I put the values in first_array in an appropriate function to obtain the standard deviation of this single set of values and store it away as in (2).
n = n/2; //As in point (3).
} while (n > 1); //As in point (4).
解决方案
推荐阅读
- java - 获取ie驱动服务器的黑屏
- spring-boot - 如何为 Spring Data Rest 分离 PATCH 和 PUT swagger 文档?
- wpf - XAML 窗口看起来不像我想要的
- javascript - 如何使用 JS 获取 JSON 的先前值
- spring - 使用 MQTT 协议的 ActiveMQ Artemis
- nearprotocol - 块哈希失效多长时间?
- c# - 命令行解析器 NUGet 包让简单的示例程序工作
- reactjs - React - “不要在组件的渲染方法中使用 HOC”是什么意思。访问组件定义之外的 HOC。'?
- python - 如何使用具有 Openai 稳定基线 RL 算法的自定义 Openai 健身房环境?
- jenkins - 具有并行阶段的 Jenkins 管道导致“进程显然从未启动”错误