小编jsm*_*894的帖子

错误:间接需要指针操作数

我有以下函数,一个 initializeHeap 函数,它不接受任何参数并输出我定义的 Heap 结构。还有一个 insertNode 函数,它接收一个指向堆结构的指针和要添加到堆中的数字。我在主函数中这样调用它们:

h = initializeHeap();
Heap *p = *h;
insertNode(p,5);
insertNode(p,7);
insertNode(p,3);
insertNode(p,2);
Run Code Online (Sandbox Code Playgroud)

尝试执行此操作时出现此错误:

error: indirection requires pointer operand
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?如果需要,我可以发布更多代码。

struct Heap 和函数 initializeHeap() 如下:

typedef struct node{
    int data;
}Node;

typedef struct heap{
    int size;
    Node *dataArray;
}Heap;

Heap initializeHeap(){
    Heap heap;
    heap.size = 0;
    return heap;
}
Run Code Online (Sandbox Code Playgroud)

c pointers

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

奇异值分解的时间复杂度

过去几周以来,我一直在尝试在C中实现SVD,目前我一直在使用此处找到的算法6 ,据我了解,该算法将在时间O(n ^ 5)上运行,因为有两个循环(其中一个循环不会从0到n,我知道但是n ^ 5可以作为一个粗边界),并且在内部循环矩阵内部必须进行乘法,这是一个n ^ 3的过程。

但是,根据该网站,对于n×n矩阵,可以以O(2n ^ 3)计算SVD。有谁知道我在哪里可以找到那种时间复杂度的算法?

c algorithm matrix linear-algebra

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

标签 统计

c ×2

algorithm ×1

linear-algebra ×1

matrix ×1

pointers ×1