2023年广东省分析数据要领

发布 2022-01-10 12:42:28 阅读 2833

1、假设k1,…,kn是n个关键词,试解答:

试用二叉查找树的插入算法建立一棵二叉查找树,即当关键词的插入次序为k1,k2,…,kn时,用算法建立一棵以llink / rlink 链接表示的二叉查找树。

2、数组a和b的元素分别有序,欲将两数组合并到c数组,使c仍有序,应将a和b拷贝到c,只要注意a和b数组指针的使用,以及正确处理一数组读完数据后将另一数组余下元素复制到c中即可。

void union(int a,b,c,m,n)

/整型数组a和b各有m和n个元素,前者递增有序,后者递减有序,本算法将a和b归并为递增有序的数组c。

i=0; j=n-1; k=0;//i,j,k分别是数组a,b和c的下标,因用c描述,下标从0开始。

while(i=0)

if(a[i]while(iwhile(j>=0) c[k++]b[j--]

算法结束。4、要求二叉树按二叉链表形式存储。15分。

1)写一个建立二叉树的算法。(2)写一个判别给定的二叉树是否是完全二叉树的算法。

bitree creat建立二叉树的二叉链表形式的存储结构。

elemtype x;bitree bt;

scanf(“%d”,&x); 本题假定结点数据域为整型。

if(x==0) bt=null;

else if(x>0)

else error(“输入错误”);

return(bt);

//结束 bitree

int judgecomplete(bitree bt) /判断二叉树是否是完全二叉树,如是,返回1,否则,返回0

int tag=0; bitree p=bt, q;q是队列,元素是二叉树结点指针,容量足够大。

if(p==null) return (1);

queueinit(q); queuein(q,p); 初始化队列,根结点指针入队。

while (!queueempty(q))

p=queueout(q出队。

if (p->lchild &&tag) queuein(q,p->lchild); 左子女入队。

else /judgecomplete

3、我们可用“破圈法”求解带权连通无向图的一棵最小代价生成树。所谓“破圈法”就是“任取一圈,去掉圈上权最大的边”,反复执行这一步骤,直到没有圈为止。请给出用“破圈法”求解给定的带权连通无向图的一棵最小代价生成树的详细算法,并用程序实现你所给出的算法。

注:圈就是回路。

2023年广东省分析数据高级

1 设一组有序的记录关键字序列为 13,18,24,35,47,50,62,83,90 查找方法用二分查找,要求计算出查找关键字62时的比较次数并计算出查找成功时的平均查找长度。2 冒泡排序算法是把大的元素向上移 气泡的上浮 也可以把小的元素向下移 气泡的下沉 请给出上浮和下沉过程交替的冒泡排序算法...

2023年广东省分析

近年来s市居民家庭人均服务性消费支出 单位 元 86 服务性消费支出占消费支出的比重最高的年份是 年。a 2005b 2006c 2007d 2008 87 2010年与2005年相比,交通工具服务支出占服务性消费支出的比重提高了约 个百分点。a 2b 4c 6d 8 88 如果2011年下半年各项...

2023年浙江省分析数据要领

1 假设k1,kn是n个关键词,试解答 试用二叉查找树的插入算法建立一棵二叉查找树,即当关键词的插入次序为k1,k2,kn时,用算法建立一棵以llink rlink 链接表示的二叉查找树。2 将顶点放在两个集合v1和v2。对每个顶点,检查其和邻接点是否在同一个集合中,如是,则为非二部图。为此,用整数...