数据结构 题目 比较多 比较急 谢谢 急!急!急!,求且大家帮忙做一下《数据结构》试题。好急啊!!...
\u6570\u636e\u7ed3\u6784\u8bd5\u5377 \u505a\u597d\u591a\u5c11\u7b97\u591a\u5c11 \u8c22\u8c22 \u505a\u4e00\u70b9\u4ea4\u4e00\u70b9 \u5728\u8003\u8bd5\u5462 \u6025!!!!15\u5206\uff0c\u8c01\u6765\u5e2e\u4f60\u554a\u3002
\u4f60\u4e5f\u592a\u5c0f\u6c14\u4e86\u554a\u3002
\u4e0a\u8fb9\u7684\u9898\u76ee\u57fa\u672c\u90fd\u4f1a\uff0c\u6211\u662f\u5b66\u8ba1\u7b97\u673a\u7684\uff0c\u4e0d\u8fc7\u4f60\u5206\u6570\u5b9e\u5728\u592a\u5c11\u54e6\uff0c\u6240\u4ee5\u8bf4\u662f\uff1a
\u6211\u6709\u8bb8\u591a\u7684\u79d8\u5bc6\uff0c\u5c31\u4e0d\u544a\u8bc9\u4f60\uff0c\u5c31\u4e0d\u544a\u8bc9\u4f60\uff0c\u5c31\u4e0d\u544a\u8bc9\u4f60\u2026\u2026
4.D 5.C 7.B 8.B 9.D 10.A 11.B 12.A 13.A 15.A
1\uff0e\u56fe\u72b6 \uff08\u6216\u7f51\u72b6\uff09
2. p->next= =head;
3\uff0ehs=s\uff1b
4\uff0er->next=s\uff1br=s\uff1b
5\uff0e3\uff1b5
6\uff0e2
7\uff0e10
8\uff0e\u6df1\u5ea6\u4f18\u5148\uff1b\u5e7f\u5ea6\u4f18\u5148
9\uff0e\u56fe\u72b6\uff08\u6216\u7f51\u72b6\uff09
10\uff0e 2n-1
11\uff0e\u987a\u5e8f\u5b58\u50a8 \u94fe\u5f0f\u5b58\u50a8
12\uff0e\u5173\u952e\u5b57\u76f8\u7b49\u7684\u8bb0\u5f55
\u4e09\u30011\u3001\uff082\uff09edbca
\uff083\uff09e=1,a=2,d=3,c=4,b=5
2\u3001\uff082\uff095\uff0c6\uff0c7\uff0c8\uff0c9\uff0c10\uff0c17\uff0c18\uff0c19\uff0c21
1、B:f(n)=1+2+3+.....+n=n(n+1)/2为O(n2)
2、A:将下一个结点的数据置于结点P,同时删除下一点结点
3、A:堆排序是就地排序,只需一个辅助单元
4、A
5、B
6、D
5、350
6、任意多个
7、选择
8、7
对
错?(首次出现的位置是2)
错
错
错1、CABEFDHG
哈夫曼树的构造过程
森林转为二叉树
//-----求子结点
思路:输出叶子结点比较简单,用任何一种遍历递归算法,凡是左右指针均空者,则为叶子,将其打印出来。
法一:核心部分为:
DLR(liuyu *root) /*中序遍历 递归函数*/
{if(root!=NULL)
{if((root->lchild==NULL)&&(root->rchild==NULL)){sum++; printf("%d
",root->data);}
DLR(root->lchild);
DLR(root->rchild); }
return(0);
}
法二:
int LeafCount_BiTree(Bitree T)//求二叉树中叶子结点的数目
{
if(!T) return 0; //空树没有叶子
else if(!T->lchild&&!T->rchild) return 1; //叶子结点
else return Leaf_Count(T->lchild)+Leaf_Count(T->rchild);//左子树的叶子数加
上右子树的叶子数
}//LeafCount_BiTree
注:上机时要先建树!
//-----------求深度--------------
int depth(liuyu*root) /*统计层数*/
{int d,p; /*注意每一层的局部变量d,p都是各自独立的*/
p=0;
if(root==NULL)return(p); /*找到叶子之后才开始统计*/
else{
d=depth(root->lchild);
if(d>p) p=d; /*向上回朔时,要挑出左右子树中的相对大的那个深度值*/
d=depth(root->rchild);
if(d>p)p=d;
}
p=p+1;
return(p);
}
法二:
int Get_Sub_Depth(Bitree T,int x)//求二叉树中以值为x的结点为根的子树深度
{
if(T->data==x)
{
printf("%d
",Get_Depth(T)); //找到了值为x的结点,求其深度
exit 1;
}
}
else
{
if(T->lchild) Get_Sub_Depth(T->lchild,x);
if(T->rchild) Get_Sub_Depth(T->rchild,x); //在左右子树中继续寻找
}
}//Get_Sub_Depth
int Get_Depth(Bitree T)//求子树深度的递归算法
{
if(!T) return 0;
else
{
m=Get_Depth(T->lchild);
n=Get_Depth(T->rchild);
return (m>n?m:n)+1;
}
}//Get_Depth
选择题:BCCABD
填空:1、701 2、任意 3、插入排序 4、log2(128)(=7)
判断题:对、错、对、错、错
问题补充:
1、CABFEDHG
2、图没办法画
二叉树深度:log2 n
扩展阅读:数据分析三大软件 ... 数据分析知识点 ... 大数据含金量高的证书 ... 数据分析v11最新版 ... 扫一扫题目出答案 ... 关于p c循环正确的描述是 ... 数据分析专业 ... 数据结构题目及答案 ... 数据结构试题及答案完整版 ...