更多"二叉树结点的平衡因子(bf)定义为该结点的左子树高度与右子树高度之差。"的相关试题:
[简答题]二叉树结点的平衡因子(bf)定义为该结点的左子树高度与右子树高度之差。设二叉树结点结构为:(1child,data,bf,rchild),1child,rchild是左右儿子指针;data是数据元素;bf是平衡因子,编写递归算法计算二叉树中各个结点的平衡因子。
[填空题]树中的结点可以没有后继结点,可以只有一个后继结点,也可以有多个后继结点。树的定义是一个 【3】 定义。
[填空题]树中的结点可以没有后继结点,可以只有一个后继结点,也可以有多个后继结点。树的定义是一个 【4】 定义。
[填空题]树中的结点可以没有后继结点,可以只有一个后继结点,也可以有多个后继结点。树 的定义是一个【 】定义。
[简答题]已知一个单向链表结点的数据结构定义如下:
struct node
{
char data;
struct node *next;
};
函数struct node *cre (char *s)的功能是:根据s指向的字符串建立一个结点类型为struct node头指针为h的单向链表,使h链表中各结点的数据域分别存储s指向字符串中所有大写字母的编码,函数返回h链表首结点的地址.例如,若s指向的字符串为"3Aa26Bx5Y9",则h指向的链表如下图所示。
#include
#include
struct node
{
char data;
struct node *next;
};
struct node *cre(char *s)
{
struct node *p,*p1,*h;
if (___(27)___) return NULL;
h=p1=p=(struct node *)malloc(sizeof(struct node)) ;
p->data=*s ;
s++;
while (*s)
{
if(*s>=’A’ && *s<=’Z’)
{
p= (struct node *) malloc (sizeof (struct node)) ;
p->data=*s ;
___(28)____ = p;
p1=p ;
}
s++;
}
___ (29)___ =NULL;
___(30)___;
}
void print(struct node *h)
{
struct node *p=h;
while (p!=NULL)
{ printf ("%3c", p->d
[单项选择]在含有15个结点的平衡二叉树上,查找关键字为28(存在该结点)的结点,则依次比较的关键字有可能是______。
A. 30.36
B. 38,48,28
C. 48,18,38,28
D. 60,30,50,40,38,36
[单项选择]在含有12个结点的平衡二叉树上,查找关键字为35(存在该结点)的结点,则依次比较的关键字有可能是______。
A. 46,36,18,20,28,35
B. 47,37,18,27,36
C. 27,48,39,43,37
D. 15,45,55,35
[单项选择]有12个结点的平衡二叉树的最大深度是 (41) 。
A. 4
B. 5
C. 6
D. 3
[简答题]简述平衡计分卡定义中“平衡”和“计分卡”的含义。
[简答题]设带表头结点的双向链表的定义为
typedef int ElemType;
typedef struct dnode∥双向链表结点定义
ElemType data;∥数据
struct dnode*lLink,*rLink;∥结点前驱与后继指针
)DblNode;
typedef DblNode*DblList;∥双向链表
试设计一个算法,改造一个带表头结点的双向链表,所有结点的原有次序保持在各个结点的右链域rLink中,并利用左链域lLink把所有结点按照其值从小到大的顺序连接起来。
[单项选择]反式作用因子的确切定义是指
A. 调控任意基因转录的某一基因编码蛋白质
B. 调控另一基因转录的某一基因编码蛋白质
C. 具有转录调节功能的各种蛋白质因子
D. 具有翻译调节功能的各种蛋白质因子
E. 具有基因表达调控功能的各种核因子
[简答题]【说明】设单链表的结点类和链表类的定义如下,链表不带有表头结点。请填空:
#include<iostream.h>
#include<assert.h>
template<class T>class List;
template<class T>class ListNOde{
friend (1) ;
private:
T data;
ListNode<T> *link;
public:
ListNode( ):link(NULL)( )
ListNOde(const T& item,ListNOde<T>*next=NULL)
:data(item),link(next){}
};
template<class T>class List{
private:
ListNode<T>*first;
void createList(T A[],int n,int i,ListNOde<T>*&p);
void printList(ListNOde<T>*p);
public:
List( );
~List( );
friend ostream& operator<<(ostream& ost,List<T>&L);
friend istream& operator>>(istream& ist,List<T>&L);
};
template<class T>
istream& operator>>(istream& ist,List<T>&1){
int i,n; ist>>n;
T A[n];
for(i=0;i<n;i++) (2) ;
createList(A,n,0,first);
}
template<class T>
void List<T>::createList(TA[],int n,int i,ListNOde<T>*& p){
//私有函数:递归调用建立单链表
if(i==n)p=NULL;
else{
p=new ListNode<T>(A[i]);
assert(p !=NULL)