已知一个长为12的线性表(dec,feb,nov,oct,jul,sept,aug.apr,may,jun,jan,mar).(1)若每个元素的查找概率相等,则构造二叉排序树后查找不成功的平均查找长度是多少?(2)若对元素按照字典顺序从小到大

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/12 05:35:24
已知一个长为12的线性表(dec,feb,nov,oct,jul,sept,aug.apr,may,jun,jan,mar).(1)若每个元素的查找概率相等,则构造二叉排序树后查找不成功的平均查找长度是多少?(2)若对元素按照字典顺序从小到大

已知一个长为12的线性表(dec,feb,nov,oct,jul,sept,aug.apr,may,jun,jan,mar).(1)若每个元素的查找概率相等,则构造二叉排序树后查找不成功的平均查找长度是多少?(2)若对元素按照字典顺序从小到大
已知一个长为12的线性表(dec,feb,nov,oct,jul,sept,aug.apr,may,jun,jan,mar).
(1)若每个元素的查找概率相等,则构造二叉排序树后查找不成功的平均查找长度是多少?
(2)若对元素按照字典顺序从小到大排列以后,用折半查找法,则查找其中任意一个元素的平均查找长度ASL是多少?

已知一个长为12的线性表(dec,feb,nov,oct,jul,sept,aug.apr,may,jun,jan,mar).(1)若每个元素的查找概率相等,则构造二叉排序树后查找不成功的平均查找长度是多少?(2)若对元素按照字典顺序从小到大
/*以下是用c++ 实现的二叉排序树的源代码*/
#include<iostream.h>
typedef struct TreeNode
{
int key;
struct TreeNode *left;
struct TreeNode *right;
}treeNode;
class BiSortTree
{
public:
BiSortTree(void);
void desplayTree(void);//显示这个树
void insertTree(int key);//在树中插入一个值
deleteTree(int key);//在树中删除一个值
treeNode* searchTree(int key);//在树中查找一个值
BiSortTree();
private:
treeNode* buildTree(treeNode* head,int number);//建立一个树
treeNode* search(treeNode* head ,int key);//查找
treeNode* BiSortTree::searchParent(treeNode* head,treeNode* p);//查找出p的父亲节点的指针
treeNode* BiSortTree::searchMinRight(treeNode* head);//找到右子树中最小的节点
void showTree(treeNode* head);//显示
void destroyTree(treeNode* head);//删除
treeNode *Head;
};
//
void print()
{
cout<<endl<<endl<<"以下是对二叉排序树的基本操作:"<<endl
<<"1.显示树"<<endl
<<"2.插入一个节点"<<endl
<<"3.寻找一个节点"<<endl
<<"4.删除一个节点"<<endl;
}
void main()
{
BiSortTree tree;
int number;
int choiceNumber;
char flag;
while(1)
{
print() ;
cout<<"请选择你要进行的操作(1~4)"<<endl;
cin>>choiceNumber;
switch(choiceNumber)
{
case 1:
tree.desplayTree();break;
case 2:
cout<<"请插入一个数:"<<endl;
cin>>number;
tree.insertTree(number);
tree.desplayTree();
break;
case 3:
cout<<"请插入你要找数:"<<endl;
cin>>number;
if(tree.searchTree(number)==NULL)
{
cout<<"没有发现"<<endl;
}
else
{
cout<<"发现"<<endl;
}
break;
case 4:
cout<<"请输入你要删除的数:"<<endl;
cin>>number;
tree.deleteTree(number);
tree.desplayTree();
break;
default:break;
}
cout<<"你是否要继续(Y/N)?"<<endl;
cin>>flag;
if(flag=='N'||flag=='n')
break;
}
}
你的串号我已经记下,采纳后我会帮你制作

已知一个长为12的线性表(dec,feb,nov,oct,jul,sept,aug.apr,may,jun,jan,mar).(1)若每个元素的查找概率相等,则构造二叉排序树后查找不成功的平均查找长度是多少?(2)若对元素按照字典顺序从小到大 给定表(Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,sep,Oct,Nov,Dec),设取散列函数H(x)=[i/2],其中i为键值中第一个字母在英语字母表中的序号,要求1、画相应开闭散列表2、画出闭散列表 以线性探测法处理3、求 已知如下所示长度为12的表 (Jan, Feb, Mar, Apr, May, June, July, Aug, Sep, Oct, Nov, Dec)试按表中元素的顺序依次插入一棵初始为空的二叉排序树,画出插入完成之后的二叉排序树,并求其在等概率的情况下 数据结构学科提问:已知如下所示长度为12的表(Jan,Feb,Mar,Apr,May,June,July,Aug,Sep,Oct,Nov,Dec)试按表中元素的顺序依次插入一查初始为空的二叉排序树,画出插入完成之后的二叉排序树,并求其在 已知长度为l2的表{Jan,Feb,Mar,Apr,May,June,July,Aug,Sep,Oct,Nov,Dec}(1) 试按表中元素的次序依次插入一棵初始为空的二叉排序树,请画出插入之后的二叉排序树,并求在等概率情况下查找成功的平均查 feb 平均查找长度问题已知一个待散列存储的线性表为(18,34,58,26,75,67,48,93,81),散列函数为H(k)=k mod 11,若采用线性探测的开放地址法处理冲突,则平均查找长度为() A 16/9 B 14/9 C 12/9 D 2 主要想知道具体 已知三角形DEC为6平方厘米,求三角形ABC的面积 有一个长度为n以顺序结构存储的线性表,结点值均为正整数,编写一个算法,把该线性表分解为两个线性表,其中一个线性表的结点值均为奇数,另一个线性表的结点值均为偶数. 已知一个线性表元素按非递减有序排列,编写一个函数删除线性表中多余的值相同的元素.是单链表 数据结构 为关键字序列{Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec}构造链地址法的散列表我不是太清楚散列表的长度是否该为26!然后首字母相同的朝后填!就是类似此种!只是换成了关键字,我不清 如何判断一个线性表的长度? 英文十二个月缩写是这样January,Jan Feburary,Feb March,Mar April,Apr May,May June,Jun July,Jul August,Aug September,Sep October,Oct November,Nov December,Dec 还是Jan.Feb.Mar.Apr.May June July Aug.Sept.Oct.Nov.Dec.关键是6,7,9的缩写那 2.5 已知一个线性非移变系统的单位取样响应为h(n)=a u(-n),0 已知△ABC为锐角三角形,AD,BE是两条高,S△ABC=18,S△DEC=2,DE=2根号2,则△ABC外接圆的直径长为 已知△ABC为锐角三角形,AD,BE是两条高,S△ABC=18,S△DEC=2,DE=2根号2,则△ABC外接圆的直径长为 △ABC,△BDC,△DEC都是黄金三角形,已知AB=1,求DE的长 线性微分方程式麻烦大家帮我举一个系数不是常数的线性为微分方程,