算法
文章平均质量分 55
piaopiaolanghua
胸中有丘壑,撸码如有神。
展开
-
MAE 与 RMSE 误差对比
MAE(平均绝对误差)与RMSE(均方根误差)的主要区别在于它们对误差的处理方式和敏感性不同。 MAE对所有误差一视同仁,无论误差大小都给予相同的权重,因此对异常值不敏感;而RMSE则对较大的误差更为敏感,因为误差被平方后,大误差的影响会被显著放大。 具体来说,MAE的计算公式是预测值与实际值差值的绝对值的平均数,而RMSE则是先计算预测值与实际值差值的平方的平均数,然后再开方。这种差异导致RMSE对大误差的惩罚比MAE更严重。例如,如果一个预测模型的误差中有几个极端值,RMSE会因为这些极端值而被显原创 2024-10-12 09:33:20 · 286 阅读 · 0 评论 -
OCCT Face和 Surface的区别是什么?
OCCT(Open CASCADE Technology)原创 2024-07-30 19:35:49 · 556 阅读 · 0 评论 -
Open CASCADE中的椭球类和球面:IGESSolid_Ellipsoid和Geom_SphericalSurface
Open CASCADE中的椭球体和球面原创 2024-05-27 10:26:57 · 205 阅读 · 0 评论 -
Excel中的趋势线拟合和LINEST函数的说明 [转自microsoft官网]
本文介绍 Microsoft Excel 中函数的公式语法和用法。在部分中可找到一些链接,这些链接指向有关绘制图表和执行回归分析的详细信息。转载 2024-01-09 10:29:21 · 1324 阅读 · 0 评论 -
遍历CGAL的Nef_polyhedron_S2类的顶点和边
哎,我只想对自己说,CGAL话说很强大的,但是这模板套模板的用法,实在是有点反人类,看了这些接口没感觉到优美(或许有它的之处),知识感觉程序员太枯燥了~~~ 有空还是看看opencascade怎么样,这个CGAL只能先这样吧,从还没入门到姑且放弃吧。原创 2023-07-24 00:35:38 · 159 阅读 · 0 评论 -
CGAL-5.5.2简单编译通过的例子的pro配置
3、以及通过CGAL官网下载的编译好的X64-VC14的库,包括CGAL-5.5.2-win64-auxiliary-libraries-gmp-mpfr.zip。提示:如果版本不一定一致,通过编译错误,尝试替换boost版本;如果遇到enable_if_t编译错误,那可能是没有开启C++ 14,或者编译器支持不够(CGAL自带的例子是通过CMAKE组织的编译,先通过cmake-gui生成vs的sln,在进行编译。(看cmake最少要求1.66,太新了1.82也能可能遇到编译不过问题)原创 2023-07-23 11:35:46 · 181 阅读 · 2 评论 -
基于CGAL进行正球面多边形布尔运算(一)
注:CGAL中的球面布尔运算,支持的是正圆球,不支持椭球。假如不考虑地球扁率,可用于地表的多边形在三维的框架下进行交、并、差运算,而不是映射到二维平面进行运算(做平面映射,或直接用经纬度进行运算)。原创 2023-07-06 20:02:34 · 347 阅读 · 0 评论 -
二分法求根和极小值的C++实现
#ifndef BSEARCH_H#define BSEARCH_Htypedef double (*func) (double);//二分法求根double bsearch(double a, double b, double eps, func f);//二分法求单峰极小值double bsearch_min(double a, double b, double eps, func f, double &x);#endif // BSEARCH_H#include.原创 2021-12-24 22:33:42 · 384 阅读 · 0 评论 -
黄金分割搜索法求单峰极小值C++实现
#ifndef GOLDEN_SEARCH_H#define GOLDEN_SEARCH_H/** * @brief golden_min 黄金分割搜索,求最小值;要求f(x)在[a,b]区间内有单峰最小值 * 每次问题规模减少(1-GR)=0.381966011250 * @param a 函数f的自变量x的上边界 * @param b 函数f的自变量x的上边界 * @param eps 自变量容差 * @param f .原创 2021-12-24 21:59:38 · 1072 阅读 · 0 评论 -
【转】布伦特方法(Brent‘s method)---求根方法
1. 解方程(Solving Equations)1.1 二分法(The Bisection Method)定义1.1对于方程,如果有,则说是的一个根。定理1.2令是上的连续函数,满足, 则在和之间存在一个根。二分法算法流程:二分法误差:在区间,次二分之后,得到最终区间其长度为。选取中间点最为根的最有估...转载 2021-12-20 01:56:37 · 4394 阅读 · 1 评论 -
Bellman-Ford单源最短路径实现
几点说明:1、实现参考了《算法导论》中的单源最短路径的章节中的伪代码。严格证明、以及深入学习请参考书籍。2、Bellman-Ford最短路径算法支持权值为负值,且可以检测是否存在权重为负值的环路。3、相比Bellman-Ford,还有其它适用于不同变体的单源最短路径算法,譬如迪杰斯特拉(Dijkstra)最短路径算法,后者适用于权值为非负数的图,且时间复杂度更低。同样深入了解请参考《算...原创 2019-08-22 23:00:44 · 289 阅读 · 0 评论 -
具有增删改 O(1)复杂度的和查找O(lg)复杂度的特定容器--用于特定特征的数据
首先标题中提到的时间复杂度指的是s原创 2014-07-27 19:54:30 · 1524 阅读 · 1 评论 -
文件归并排序简单实现
mergesort.h#ifndef __MERGESORT_H#define __MERGESORT_Hnamespace MyNamespace{ typedef int (*Comparer)(const void *a, const void *b); template int defaultCompare(T *a, T *b) { if (*a <原创 2013-07-22 01:06:21 · 2079 阅读 · 0 评论 -
log(n!) = Θ(n·log(n))
参考:http://stackoverflow.com/questions/2095395/is-logn-nlogn因为可以容易地证明出N^N是N!的一个上界,(N/2)^(N/2)是N!的下界。 所以N! =Θ(N^N), 因为也就能推导出"log(n!) = Θ(n·log(n))"。写的太粗糙了,忘了严谨的证明怎么写了,反正大概理解个思路就行。哎,为什么要搞这个呢?原创 2013-07-19 17:39:41 · 9596 阅读 · 3 评论 -
归并排序的实现
好久没有写算法代码练一下手,实现归并排序,下面分别有递归版本和非递归版本的。因为递归版本需要包含函数堆栈信息,深度收到系统的限制,请注意。//【归并排序--递归版本】#include #include #include #include #include inline int min(int a, int b){ return a < b ? a : b;}void原创 2013-07-14 23:34:43 · 613 阅读 · 0 评论