第 1 頁(yè):試題一 |
第 2 頁(yè):試題二 |
第 3 頁(yè):試題三 |
第 4 頁(yè):試題四 |
第 5 頁(yè):試題五 |
試題二
閱讀下列說(shuō)明和流程圖,將應(yīng)填入(n)的語(yǔ)句寫在答題紙的對(duì)應(yīng)欄內(nèi)。
【流程圖說(shuō)明】
下面的流程(如圖1所示)用N-S盒圖形式描述了在一棵二叉樹排序中查找元素的過(guò)程,節(jié)點(diǎn)有3個(gè)成員:data,left和right。其查找的方法是:首先與樹的根節(jié)點(diǎn)的元素值進(jìn)行比較:若相等則找到,返回此結(jié)點(diǎn)的地址;若要查找的元素小于根節(jié)點(diǎn)的元素值,則指針指向此結(jié)點(diǎn)的左子樹,繼續(xù)查找;若要查找的元素大于根節(jié)點(diǎn)的元素值,則指針指向此結(jié)點(diǎn)的右子樹,繼續(xù)查找。直到指針為空,表示此樹中不存在所要查找的元素。
【算法說(shuō)明】
【流程圖】
將上題的排序二叉樹中查找元素的過(guò)程用遞歸的方法實(shí)現(xiàn)。其中NODE是自定義類型:
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) ;∥小于查找左子樹
else if(tree->data (5) ;∥大于查找左子樹
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)
相關(guān)推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |