2008年11月程序員筆試考前練習(xí)(41)

字號(hào):

閱讀下列說(shuō)明和流程圖,將應(yīng)填入(n)的語(yǔ)句寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。
    【流程圖說(shuō)明】
    下面的流程(如圖1所示)用N-S盒圖形式描述了在一棵二叉樹(shù)排序中查找元素的過(guò)程,節(jié)點(diǎn)有3個(gè)成員:data,left和right。其查找的方法是:首先與樹(shù)的根節(jié)點(diǎn)的元素值進(jìn)行比較:若相等則找到,返回此結(jié)點(diǎn)的地址;若要查找的元素小于根節(jié)點(diǎn)的元素值,則指針指向此結(jié)點(diǎn)的左子樹(shù),繼續(xù)查找;若要查找的元素大于根節(jié)點(diǎn)的元素值,則指針指向此結(jié)點(diǎn)的右子樹(shù),繼續(xù)查找。直到指針為空,表示此樹(shù)中不存在所要查找的元素。
    【算法說(shuō)明】
    【流程圖】
    將上題的排序二叉樹(shù)中查找元素的過(guò)程用遞歸的方法實(shí)現(xiàn)。其中NODE是自定義類(lèi)型:
    typedef struct node{
    int data;
    struct node*left;
    struct node*right;
    }NODE;
    【算法】
    NODE*SearchSortTree(NODE*tree,int e)
    {
    if(tree!=NULL)
    {
    if(tree->data    (4) ;∥小于查找左子樹(shù)
    else if(tree->data    (5) ;∥大于查找左子樹(shù)
    else return tree;
    }
    return tree;
    }
    【答案】
    (1)p=p->left
    (2)p=p->right
    (3)return P
    (4)return SearchSortTree(tree->left)
    (5)return SearchSortTree(tree->right)