プログラム内の関数の時間計算量を見つける必要があります。指定されたキーを持つ三分木のすべての内部ノードを検索します。このツリーはランダムに埋められます。コードを書くことはできたと思いますが、複雑さを計算する方法がわかりません。
ツリーの関数と構造体は次のとおりです。
typedef struct _no
{
int chave;
struct _no *F[3];
} TipoNo;
typedef TipoNo *TipoArvore;
int noSubTree (TipoArvore t, int x){
int n;
if (t == NULL){
return 0;
}
else{
if(t->F[0] == NULL && t->F[1] == NULL && t->F[2] == NULL ){
return 0;
}
else if(t->chave == x) {
return 1 + noSubTree(t->F[0], x) +
noSubTree(t->F[1], x) +
noSubTree(t->F[2], x);
}
else {
return 0 + noSubTree(t->F[0], x) +
noSubTree(t->F[1], x) +
noSubTree(t->F[2], x);
}
}
}
誰かが私にそれをどのように行うべきかを説明できれば、私は最も感謝しています。