NOIP2015初赛题分析

· · 个人记录

  1. 线性表若采用链表存储结构,要求内存中可用存储单元地址( )。

A. 必须连续 B. 部分地址必须连续 C. 一定不连续 D. 连续不连续均可

答案:D

解析:数据结构问题=w=,链表结构与顺序结构最大的不同在于链表存储地址可以不连续,便于元素的插入和删除

  1. 在数据压缩编码的应用中,哈夫曼(Huffman)算法是一种采用了( )思想的算法

    A. 贪心 B. 分治 C. 递推 D. 回溯

答案:A

解析: 1.初始化: 根据给定的n个权值{w1,w2,…wn}构成n棵二叉树的集合F={T1,T2,..,Tn},其中每棵二叉树Ti中只有一个带权wi的根结点,左右子树均空。

2.找最小树:在F中选择两棵根结点权值最小的树作为左右子树构造一棵新的二叉树,且至新的二叉树的根结点的权值为其左右子树上根结点的权值之和。

3.删除与加入:在F中删除这两棵树,并将新的二叉树加入F中。

4.判断:重复前两步(2和3),直到F中只含有一棵树为止。该树即为哈夫曼树

2.下列属于视频文件格式的有( )。

A. AVI B. MPEG C. WMV D. JPEG

答案:ABC

常见的视频格式:视频文件格式有不同的分类,如:

微软视频 :wmv、asf、asx

Real Player :rm、 rmvb

MPEG视频 :mpg、mpeg、mpe

手机视频 :3gp

Apple视频 :mov

Sony视频 :mp4、m4v

其他常见视频:avi、dat、mkv、flv、vob

4.下列有关树的叙述中,叙述正确的有( )。

A. 在含有n个结点的树中,边数只能是(n-1)条

B. 在哈夫曼树中,叶结点的个数比非叶结点个数多1

C. 完全二叉树一定是满二叉树

D. 在二叉树的前序序列中,若结点u在结点v之前,则u一定是v的祖先

答案:AB

A显然对,B的话了解哈夫曼树的形成的话显然是对的,

C完全二叉树:只有最下面的两层结点度能够小于2,并且最下面一层的结点都集中在该层最左边的若干位置的二叉树,

D:根左右,在前面的也可能是根的左结点

问题求解

2.结点数为5的不同形态的二叉树一共有__种。

(结点数为2的二叉树一共有2种:一种是根结点和左儿子,另一种是根结点和右儿子。)

解析:42。直接枚举出答案自然是可行,但有更简单的方法,那就是递推。 我们记fn为结点数为n的二叉树的种数:当二叉树的左子树结点个数为0时,有f0×fn−1种方案; 当左子树结点个数为1时,有f1×fn−2f1×fn−2种方案; 当左子树结点个数为2时,有f2×fn−3f2×fn−3种方案; …………;

当左子树结点个数为n-1个时,有fn−1×f0fn−1×f0种方案。由此可得

fn=∑i=0n−1fi×fn−1−i

这就是著名的卡特兰数,关于这条公式可以参见一下百度百科的catalan

阅读程序写结果

2.Ab

指针变量题,要分清函数传入a和&a的区别,a传入的是地址,&a传入的是值,如果不是很懂的话,请仔细阅读指针。