小编Sur*_*uri的帖子

为什么计算Fibonacci系列2 ^ n而不是n ^ 2的复杂性?

我试图找到使用递归树的Fibonacci系列的复杂性,并因此得出height of tree = O(n)最坏情况cost of each level = cncomplexity = n*n=n^2

怎么回事O(2^n)

algorithm recursion big-o fibonacci

24
推荐指数
5
解决办法
5万
查看次数

如果我们使用链表实现存储桶,那么存储桶排序的复杂性如何是O(n + k)?

我很好奇为什么如果我们使用链接列表实现的存储桶,则存储桶排序的运行时间为O(n + k).例如,假设我们有这个输入:

n = no of element= 8
k = range = 3

array = 2,2,1,1,1,3,1,3
Run Code Online (Sandbox Code Playgroud)

桶将如下所示:

1: 1 -> 1 -> 1 -> 1
2: 2 -> 2
3: 3 -> 3
Run Code Online (Sandbox Code Playgroud)

插入这些桶的总时间是O(n),假设我们在链表中存储尾指针.

要删除,我们必须转到每个存储桶,然后删除该存储桶中的每个节点.因此,当我们遍历每个链表时,复杂性应该是O(K*桶的链接列表的平均长度).

但是,我读到了bucket sort的复杂性是O(n + k).为什么这不符合我的分析?请更正我,因为我仍在学习计算复杂性.

sorting algorithm big-o data-structures

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

Unix中的作业和进程有什么区别?

Unix中的作业进程有什么区别?你能举个例子吗?

unix

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

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

Template Explicit Specialization和普通函数有什么区别?

template <class T>
void max (T &a ,T &b)
{}//generic template   #1

template<> void max(char &c, char &d)
{} //template specializtion    #2

void max (char &c, char &d)
{}//ordinary function      #3
Run Code Online (Sandbox Code Playgroud)

1,2和3有什么区别?

c++ templates

10
推荐指数
1
解决办法
925
查看次数

显式模板实例化如何影响链接器可以找到的内容?

请参阅以下代码,请清除我的疑虑.

  1. 由于ABC是一个模板,为什么当我们在test.cpp中放置ABC类成员函数的定义时它不显示错误?

  2. 如果我在test.h和remve 2中放入test.cpp代码,那么它可以正常工作.为什么?

.

// test.h 
template <typename T> 
class ABC { 
public: 
   void foo( T& ); 
   void bar( T& ); 
}; 
// test.cpp 
template <typename T> 
void ABC<T>::foo( T& ) {} // definition 
template <typename T> 
void ABC<T>::bar( T& ) {} // definition 

template void ABC<char>::foo( char & );  // 1 
template class ABC<char>;                // 2 
// main.cpp 
#include "test.h" 
int main() { 
   ABC<char> a; 
   a.foo();     // valid with 1 or 2 
   a.bar();     // link error if only …
Run Code Online (Sandbox Code Playgroud)

c++ templates

10
推荐指数
1
解决办法
693
查看次数

如何在c ++中将utf-8转换为ASCII?

我收到服务器在utf-8的响应,但无法读取.如何在c ++中将utf-8转换为ASCII?

c++

8
推荐指数
3
解决办法
3万
查看次数


在MFC中的OnInitDialog函数之后是否有任何函数调用?

我想在MFC中创建一个对话框后创建一个线程.是否有Windows提供的功能,并在之后自动调用,OnInitDialog以便我可以在其中创建我的线程?

c++ windows winapi mfc dialog

7
推荐指数
1
解决办法
8077
查看次数

重新定义全局变量时,为什么重新定义静态全局变量会产生编译时错误?

编译代码1给出错误' i redefined',但代码2显示没有类似的错误.为什么会这样?

代码1

static int i;        //Declaring the variable i.
static int i=25;     //Initializing the variable.
static int i;        //Again declaring the variable i.
int main(){       
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

代码2

int i;        //Declaring the variable i.
int i=25;     //Initializing the variable.
int i;        //Again declaring the variable i.
int main(){       
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c

7
推荐指数
1
解决办法
2290
查看次数