标签: quadratic

二次探测哈希表的限制

我正在做一个程序来比较线性探测,二次探测和哈希表中单独链接所需的平均和最大访问.

我已经为3个案例完成了元素插入部分.在从哈希表中找到元素时,我需要限制结束搜索.在单独链接的情况下,我可以在下一个指针为空时停止.对于线性探测,我可以在探测整个表时停止(即表的大小).在二次探测中我应该使用什么作为限制?表大小会吗?

我的二次探测函数是这样的

newKey = (key + i*i) % size;
Run Code Online (Sandbox Code Playgroud)

其中我从0变为无穷大.请帮我..

algorithm hashtable quadratic probing data-structures

4
推荐指数
1
解决办法
3140
查看次数

需要帮助安装用于 CVXOPT 的 LAPACK/BLAS(或者推荐另一个更容易安装的 QP 解算器)

我一直在尝试安装 CVXOPT,它需要 LAPACK/BLAS,说实话,这简直要了我的命!

语境

我正在尝试 SVM,因此需要 QP 求解器。CVXOPT 似乎是最好的。问题在于 LAPACK/BLAS(或 ATLAS)依赖性。

我尝试安装 ATLAS,我认为它有效,但是当尝试安装 CVXOPT 时,我仍然得到“找不到 -lblas”和“找不到 -llapack”。

所以在过去的两天里,我一直在尝试遵循http://icl.cs.utk.edu/lapack-for-windows/lapack/#libraries_mingw上的各种方法来安装LAPACK,但事实证明这是这是我曾经执行过的最困难的安装,而且我什至还没有开始尝试安装 BLAS。

问题

有人可以:

A) 给我指点 LAPACK/BLAS 安装指南的英文翻译。或者某种简单的灌输方法(如果存在的话)。

或者

B) 给我指出一个不需要 LAPACK/BLAS 的 QP 求解器?到目前为止,我还没有找到一个更容易安装的。

谢谢!

python quadratic blas lapack

4
推荐指数
1
解决办法
1688
查看次数

使用点生成二次方程来插值数据

我正在尝试使用二次曲线为游戏提供灵活的衰减评分系统.我可能会粗暴地通过它,但想知道是否有人可以帮我提出一些灵活的东西,或者可能已经有一些现成的解决方案了!

但基本上我需要能够生成a,b和c的值:

y = ax^2 + bx + c
Run Code Online (Sandbox Code Playgroud)

从3分(我知道它落在有效的二次曲线上,但是基于可配置的设置和对事件作出反应的最大时间是动态的),例如:( - 1100,0),(200,1),(1500,0) ).

所以我可以插入x的值来生成Y值,这将决定我给用户的分数.

如果我可以使用固定的二次方程式,我会得到但是得分是基于用户对特定事件(X轴)做出多少反应,y轴点总是在0和1之间,0是最小分数和1是最高分!

如果您需要更多信息,请告诉我们!

javascript math quadratic

4
推荐指数
1
解决办法
2371
查看次数

Vowpal Wabbit交互冗余

我很好奇大众通过-q参数创建交互术语的方式.

为了说明的目的,我使用这个玩具数据,称为cats.vm:

1 |a black |b small  green |c numvar1:1.62 numvar2:342 |d cat |e numvar3:554
1 |a white |b large yellow |c numvar1:1.212 numvar2:562 |d cat |e numvar3:632
-1 |a black |b small green |c numvar1:12.03 numvar2:321 |d hamster |e numvar3:754
1 |a white |b large green |c numvar1:5.8 numvar2:782 |d dog |e numvar3:234
-1 |a black |b small yellow |c numvar1:2.322 numvar2:488 |d dog |e numvar3:265
1 |a black |b large yellow |c numvar1:3.99 numvar2:882 |d hamster |e numvar3:543 …
Run Code Online (Sandbox Code Playgroud)

redundancy quadratic feature-selection vowpalwabbit

4
推荐指数
1
解决办法
940
查看次数

将二次曲线点转换为多项式表示?

我有X,Y的2 分和1个贝塞尔点,一个的二次贝塞尔曲线.

使用此数据,我如何导出曲线的多项式表示

替代文字
(来源:euclidraw.com)

language-agnostic bezier curve quadratic polynomial-math

3
推荐指数
1
解决办法
1251
查看次数

Haskell和Quadratics

我必须编写一个程序来解决quadratics,返回一个复数的结果.

到目前为止,我已经定义了一个复数,声明它是num的一部分,所以+, - 和* - ing可以发生.

我还为二次方程定义了一种数据类型,但我现在仍然坚持二次方程式的实际求解.我的数学很差,所以任何帮助都会非常感激......

data Complex = C {
re :: Float,
im :: Float
} deriving Eq

-- Display complex numbers in the normal way

instance Show Complex where
    show (C r i)
        | i == 0            = show r
        | r == 0            = show i++"i"
        | r < 0 && i < 0    = show r ++ " - "++ show (C 0 (i*(-1)))
        | r < 0 && i > 0    = show …
Run Code Online (Sandbox Code Playgroud)

math haskell functional-programming quadratic complex-numbers

3
推荐指数
2
解决办法
2649
查看次数

C语言中的简单乘法和算术

我有一个计算C中二次方程的根的任务,应该非常简单,我知道我需要对程序做什么,但我仍然遇到了问题.当根是虚构的并且平方根内的项为零时,它工作正常.

但是当我输入系数a,b和c时会产生真正的根,它给了我错误的答案,我无法弄清楚什么是错的.(我用a = 2,b = -5和c = 1测试它)

这是我的代码,它编译并运行,但给出了错误的答案.

#include<stdio.h>
#include<math.h>

int main()
{
    float a, b, c, D, x, x1, x2, y, xi;

    printf("Please enter a:\n");
    scanf("%f", &a);
    printf("Please enter b:\n");
    scanf("%f",&b);
    printf("Please enter c:\n");
    scanf("%f", &c);
    printf("The numbers you entered are: a = %f, b = %f, c = %f\n", a, b, c);


    D = b*b-4.0*a*c;
    printf("D = %f\n", D);
    if(D > 0){
        x1 =  (-b + sqrt(D))/2*a;
        x2 = ((-b) - sqrt(D))/2*a;
        printf("The two real roots are …
Run Code Online (Sandbox Code Playgroud)

c math quadratic

3
推荐指数
1
解决办法
259
查看次数

是否有内置的matlab计算二次形式(x'*A*x)?

非常直截了当的问题:给定N×N对称矩阵A和N向量x,是否有内置的Matlab函数来计算x'*A*x?即,而不是y = x'*A*x,有一个功能quadraticformst y = quadraticform(A, x)

显然我可以做y = x'*A*x,但我需要表现,似乎应该有一种方法来利用

  1. A 是对称的
  2. 左右乘数是相同的向量

如果没有一个内置函数,是否有比这更快的方法x'*A*x?或者,Matlab解析器是否足够智能优化x'*A*x?如果是这样,你能指点我在文件中的一个地方验证这个事实吗?

performance matlab linear-algebra quadratic

3
推荐指数
1
解决办法
5948
查看次数

Quadractic Formula混合起来

所以我做了一个python代码,用二次公式求解x.除了标志之外,一切都在最终解决.例如,如果你想要x ^ 2 + 10x + 25因子,当答案应该是5,5时,我的代码输出-5,-5.

def quadratic_formula():
    a = int(input("a = "))
    b = int(input("b = "))
    c = int(input("c = "))
    bsq = b * b
    fourac = 4 * a * c
    sqrt = (bsq - fourac) ** (.5)
    oppb = -b
    numerator_add = (oppb) + (sqrt)
    numerator_sub = (oppb) - (sqrt)
    twoa = 2 * a
    addition_answer = (numerator_add) / (twoa)
    subtraction_answer = (numerator_sub) / (twoa)
    print(addition_answer)
    print(subtraction_answer)
Run Code Online (Sandbox Code Playgroud)

python math quadratic

3
推荐指数
1
解决办法
42
查看次数

为什么我使用STL sort()进行二次时间排序?

我试图使用STL sort()函数按照存储在地图中的值对对象矢量进行排序.令我惊讶的是,我的算法在二次时运行.我尽可能地简化它,试图找出一个明显的错误,但无济于事.这是简化版本:

#include <map>
#include <vector>
#include <algorithm>

using namespace std;

struct a{
  map<a*,float> vals;
  bool operator()(a* a1, a* a2){return (vals[a1]>vals[a2]);}
  void asort();
};

void a::asort(){
  vector<a*> v;
  map<a*,float>::iterator it = vals.begin();
  for(;it!=vals.end();it++){v.push_back((*it).first);}
  sort(v.begin(),v.end(),*this);
}

int main(){
  a a0;
  int imax=8000;
  for(int i=0;i<imax;i++){a0.vals[new a]=rand();}
  a0.asort();
}
Run Code Online (Sandbox Code Playgroud)

当我为imax = 2000,4000,8000运行它时,它分别需要大约1s,4s,18s.这怎么可能?为什么我没有得到预期的imax*log(imax)依赖?我对C++的经验有限,请帮忙!谢谢!

更新:谢谢Xeo,Rick和所有回复的人.正如Xeo和Rick所解释的那样,问题在于比较器(在我的情况下struct a,包含值的映射)会在每次比较时被复制,因此计算复杂性O(imax^2 log(imax)).我可以看到的一种解决方法(使我的代码更改最小)是使用指向地图的指针,即map<a*,float>* vals代替map<a*,float> vals.然后避免地图复制,并且复杂性又回到了O(imax log(imax)).非常感谢!

c++ sorting stl quadratic

2
推荐指数
1
解决办法
353
查看次数