回 帖 发 新 帖 刷新版面

主题:急!!帮忙做几个数据结构的题 急用···

深度为5的二叉树最多有()个结点。
1在一个图中,所有顶点的度数之和等于所有边数的( )倍。
2栈是一种特殊的线性表,允许进行插入和删除的一端称为(),另一端称为()。
3根据二叉树的性质,在二叉树的第k层上最多有()个结点。
4如果用n表示图中结点的个数,用e表示弧的个数,则有向图中弧的数目e的取值范围是()到()。
5算法的执行频度为6n2-12n+1其时间复杂度为(),算法的执行频度为2n+1+100n时间复杂度为()。
6、串中字符的数目n称为串的()
7零个字符的串为()
8、不带头结点的单链表head为空的判定条件是  () ,带头结点的单链表head为空的判定条件是 ()
描述出二叉树的性质中有关于树的结点所在的层数和该层结点个数关系的性质(即第一个性质),并写出该性质的证明过程。

写出二叉树先序遍历的递归算法.
 
有一份电文中共使用5个字符:a、b、c、d、e,它们的出现频率依次为4、7、5、2、9,试画出对应的哈夫曼树(请按左子树根结点的权小于等于右子树根结点的权的次序构造),并求出每个字符的哈夫曼编码。
如果能留下联系方式就更好了 请大家一定要 帮忙啊···小弟 着急啊

回复列表 (共1个回复)

沙发

深度为5的二叉树最多有(31)个结点。
1在一个图中,所有顶点的度数之和等于所有边数的( 2)倍。
2栈是一种特殊的线性表,允许进行插入和删除的一端称为(栈顶),另一端称为(栈底)。
3根据二叉树的性质,在二叉树的第k层上最多有(2的k-1次方)个结点。
4如果用n表示图中结点的个数,用e表示弧的个数,则有向图中弧的数目e的取值范围是(n-1)到(n(n-1))。
5算法的执行频度为6n2-12n+1其时间复杂度为(),算法的执行频度为2n+1+100n时间复杂度为()。
6、串中字符的数目n称为串的()
7零个字符的串为(空串)
8、不带头结点的单链表head为空的判定条件是  (head==NULL) ,带头结点的单链表head为空的判定条件是 (head->link==NULL)
描述出二叉树的性质中有关于树的结点所在的层数和该层结点个数关系的性质(即第一个性质),并写出该性质的证明过程。

写出二叉树先序遍历的递归算法.
 二叉树前序遍历的思想:
 从根节点开始,沿左子树一直走到没有左孩子的节点为止,
依次访问所经过的节点,同时所经[节点的非空右孩子]进栈;
 当找到没有左孩子的节点时,从栈顶退出该节点的双亲的
右孩子,此时,此节点的左子树已访问完毕;
 在用上述方法遍历该节点的右子树,如此重复到栈空为止。
*/
void FirstOrderAccess1(BTree * header)
{
 BTree * stack[MAX_NODE];
 BTree *p;
 int top;
 top = 0;
 p = header;
 do
 {
  while(p!=NULL)
  {
   printf("BTree[%d] = %c\t",p->order,p->data);
   if(p->rchild!=NULL)
    stack[++top] = p->rchild;
   p = p->lchild;
  }
  if(top!=0)
   p = stack[top--];
 }while((top>0)||(p!=NULL));
}
有一份电文中共使用5个字符:a、b、c、d、e,它们的出现频率依次为4、7、5、2、9,试画出对应的哈夫曼树(请按左子树根结点的权小于等于右子树根结点的权的次序构造),并求出每个字符的哈夫曼编码。
2,4,5,7,9
d(010),a(011),c(00),d(10),e(11)

图我就不画了

我来回复

您尚未登录,请登录后再回复。点此登录或注册