我不知道如何解決這個問題。在BST中找到「nth」值(C)
返回指向NAME_VAL對的指針,它是排序序列中第n個條目的 。
若設爲i = 1,返回最小條目
如果i = N時,返回的最大條目
如果n = N/2返回位數條目(或接近)
if(i < 1 || i> n)return NULL;
運行時必須是O(log n)的
有人點我在正確的方向上解決這一問題的基本思路?謝謝!
我的結構:
typedef struct name_val
{
char *name;
double value;
}NAME_VAL;
typedef struct node
{
NAME_VAL *nV;
struct node *left;
struct node *right;
}NODE;