小编hod*_*der的帖子

stable_partition如何成为自适应算法?

stable_partition是c ++ STL的算法头文件中存在的函数模板.我读到它是一种自适应算法,其时间复杂度为O(n*logn)或O(n),具体取决于某些因素.有人可以解释一下这些因素是什么以及时间复杂度如何取决于这些因素.谢谢 !

c++ algorithm stl quicksort

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

线性探测的二次探测

对于给定的哈希值,线性探测生成的索引如下:

h,h+1,h+2,h+3,等.

对于给定的哈希值,二次探测生成的索引如下:

h,h+1,h+4,h+9,等.

在线性的情况下将形成簇,但在二次的情况下不会形成簇.

但是,当两个进程(方法)需要采用相同数量的步骤进行插入或搜索时,二次方法如何比线性方法更有效.谢谢!

hashtable probing quadratic-probing data-structures linear-probing

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

新的内存分配

我的第一个问题是,当函数结束时,函数中new分配的内存会被自动删除(释放).

int* foo()
{
    int *a = new int;  //memory allocated for an int
    *a = 3;
    return (a);
}//function ends -- is memory for integer still allocated.
Run Code Online (Sandbox Code Playgroud)

如果在函数结束后自动取消分配内存,那么我的下一个代码不应该给出一些与访问不属于我的内存有关的错误.

int main()
{
    int *x = foo();
    cout<<*x;
}
Run Code Online (Sandbox Code Playgroud)

c++ new-operator

0
推荐指数
1
解决办法
113
查看次数