我想在链表的末尾找到第 i 个位置的数据。我使用递归编写了这段代码:
节点结构:
struct Node
{
int data;
struct Node * next;
}
代码 :
int i = 10;
int find ( Node * ptr, unsigned int count )
{
if( nullptr == ptr )
{
++ count;
return count;
}
count = find ( ptr->next , count );
if( i == count )
{
std::cout << "Successful here: " << ptr->data << std::endl;
exit ( -1 ) ;
}
else
{
++ count;
return count ;
}
}
我对使用递归关系计算时间复杂度有基本的想法。但我无法编写关系本身。有人能给个方向吗?
据我了解,我每次都将问题分成一个更少的元素(通过移动到下一个节点)。
所以它应该是这样的
T(n) = T(n-1) + 常数
在这种情况下,树方法或任何其他方法会更好吗?