网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

阅读以下说明和流程图,从供选择的答案中选出应填入流程图(n)处的字句写在对应栏内。

[说明]

以下是某图像二元树存储与还原算法的主要思想描述。

设一幅2n×2n的二值图像,以:“1”表示黑像素点,以“0”表示白像素点。图像二元树结构表示依赖于图像的二元分割,即交替在X轴方向和Y轴方向上分割。先进行水平分割,分成两个2n-1×2n图像子块,然后进行垂直分割,分成4个2n-1×2n-1的正方形块,如此分割,直到子块只含同一像素点为止。如图8-8为一“E”字的二值图像,对其进行二元分割,相应的二元树如图8-9所示。根据图像二元树的0叶结点和1叶结点的数目,删除多者,保留少者。如“E”字图像的二元树0叶结点较多,裁剪后如图8-10所示。

裁剪后图像二元树有4类结点,分别用二进制编码如下:

◆ 左右儿子都有的结点,编码为11;

◆ 仅有左儿子的结点,编码为10;

◆ 仅有右儿子的结点,编码为01;

◆ 叶结点,编码为00。

存储时,先存储剩余叶结点的类型编码,二进制码00表示0叶结点,11表示1叶结点。再按层次顺序,自左至右存储裁剪后图像二元树各结点的编码。

图像二元树的存储算法用C语言描述所定义的数据结构及函数如下:

struct Node{ /*图像二元树结点*/

street Node*Left;

street Node*Righ t;

char Pixel;

}

struct Node Queue[MaxLen]; /*队列*/

InitQueue() /*初始化队列Queue的函数; */

EmptyQueue () /*判断队列Queue是否为空的数,若空返回1,否则返回0; */

AddQueue(Item) /*将Item加到队列Queue的数; */

GetQueue() /*取队列Queue第一个元素的函数; */

PutCode(Code) /*写2位二进制码Code到文件的函数*/

还原算法是存储算法的逆过程,将文件中的二进制码序列转换成图像二元树。还原算法的数据结构与函数与存储算法的相同,还原算法新增了一个函数GetCode ()。

GetCode() /*从文件中读2位二进制码的函数*/

[C程序]

存储算法

void Backup (char CutPixel,st ruct Node ImageTree)'/*Cu tP ixel=0表示裁剪0叶结点*/

{ InitQueue();

AddQueue ( ImageTree ) ;

PutCode ( 1-CutPixel ) ;

While ( !EmptyQueue ( ) )

{ TreeNode= GetQueue ( ) ;

if (TreeNode→Left==NULL)

{ PutCode (0) ;

continue:

}

Tl= TreeNode→Left;

Tr= TreeNode→R igh t;

if ( Tl→Left= = NULL && Tl→Pixel= = CutPixel )

L=0;

else

{

(1);

AddQueue ( Tl ) ;

}

if ( Tr→Left= = NULL && Tr→Pixel= = CutPixel )

R=0;

else

{

(2)

AddQueue (T) ;

}

(3)

}

}

还原算法

void Restore ( struct Node *TreeRoot )

{ TreeRoot= ( strut Node*)malloc ( sizeof (struct Node)

InitQueue ( );

AddQueue ( TreeRoot ) ;

CutPixel= 1- GetCode ( ) ;

while ( ! EmptyQueue ( ) )

{ TrecNode= GetQueue ( Queue ) ;

NodeCode= GetCode ( ) ;

switch ( NodeCode )

{

case 0:

TreeNode→Left = NULL ;

TreeNode→Right= NULL

&


参考答案

更多 “ 阅读以下说明和流程图,从供选择的答案中选出应填入流程图(n)处的字句写在对应栏内。[说明]以下是某图像二元树存储与还原算法的主要思想描述。设一幅2n×2n的二值图像,以:“1”表示黑像素点,以“0”表示白像素点。图像二元树结构表示依赖于图像的二元分割,即交替在X轴方向和Y轴方向上分割。先进行水平分割,分成两个2n-1×2n图像子块,然后进行垂直分割,分成4个2n-1×2n-1的正方形块,如此分割,直到子块只含同一像素点为止。如图8-8为一“E”字的二值图像,对其进行二元分割,相应的二元树如图8-9所示。根据图像二元树的0叶结点和1叶结点的数目,删除多者,保留少者。如“E”字图像的二元树0叶结点较多,裁剪后如图8-10所示。裁剪后图像二元树有4类结点,分别用二进制编码如下:◆ 左右儿子都有的结点,编码为11;◆ 仅有左儿子的结点,编码为10;◆ 仅有右儿子的结点,编码为01;◆ 叶结点,编码为00。存储时,先存储剩余叶结点的类型编码,二进制码00表示0叶结点,11表示1叶结点。再按层次顺序,自左至右存储裁剪后图像二元树各结点的编码。图像二元树的存储算法用C语言描述所定义的数据结构及函数如下:struct Node{ /*图像二元树结点*/street Node*Left;street Node*Righ t;char Pixel;}struct Node Queue[MaxLen]; /*队列*/InitQueue() /*初始化队列Queue的函数; */EmptyQueue () /*判断队列Queue是否为空的数,若空返回1,否则返回0; */AddQueue(Item) /*将Item加到队列Queue的数; */GetQueue() /*取队列Queue第一个元素的函数; */PutCode(Code) /*写2位二进制码Code到文件的函数*/还原算法是存储算法的逆过程,将文件中的二进制码序列转换成图像二元树。还原算法的数据结构与函数与存储算法的相同,还原算法新增了一个函数GetCode ()。GetCode() /*从文件中读2位二进制码的函数*/[C程序]存储算法void Backup (char CutPixel,st ruct Node ImageTree)'/*Cu tP ixel=0表示裁剪0叶结点*/{ InitQueue();AddQueue ( ImageTree ) ;PutCode ( 1-CutPixel ) ;While ( !EmptyQueue ( ) ){ TreeNode= GetQueue ( ) ;if (TreeNode→Left==NULL){ PutCode (0) ;continue:}Tl= TreeNode→Left;Tr= TreeNode→R igh t;if ( Tl→Left= = NULL Tl→Pixel= = CutPixel )L=0;else{(1);AddQueue ( Tl ) ;}if ( Tr→Left= = NULL Tr→Pixel= = CutPixel )R=0;else{(2)AddQueue (T) ;}(3)}}还原算法void Restore ( struct Node *TreeRoot ){ TreeRoot= ( strut Node*)malloc ( sizeof (struct Node)InitQueue ( );AddQueue ( TreeRoot ) ;CutPixel= 1- GetCode ( ) ;while ( ! EmptyQueue ( ) ){ TrecNode= GetQueue ( Queue ) ;NodeCode= GetCode ( ) ;switch ( NodeCode ){case 0:TreeNode→Left = NULL ;TreeNode→Right= NULL& ” 相关考题
考题 阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。【说明】已知头指针分别为La和lb的有序单链表,其数据元素都是按值非递减排列。现要归并La和Lb得到单链表Lc,使得Lc中的元素按值非递减排列。程序流程图如下所示:

考题 阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。[说明]设学生某次考试的成绩按学号顺序逐行存放于某文件中,文件以单行句点“.”为结束符。下面的流程图读取该文件,统计出全部成绩中的最高分max和最低分min。

考题 阅读下列说明和流程图,将应填入(n)的字句写在对应栏内。【说明】下列流程图(如图4所示)用泰勒(Taylor)展开式sinx=x-x3/3!+x5/5!-x7/7!+…+(-1)n×x2n+1/(2n+1)!+…【流程图】计算并打印sinx的近似值。其中用ε(>0)表示误差要求。

考题 阅读下列说明和流程图,将应填入(n)处的语句写在对应栏内。【说明】下列流程图用泰勒(Taylor)展开式y=ex=1+x+x2/2!+x3/3!+…+xn/n!+…计算并打印ex的近似值,其中用ε(>0)表示误差要求。【流程图】

考题 阅读以下说明,回答问题,将解答填入对应的解答栏内。. [说明] 请完成流程图以描述在数据A(1)至A(10)中求最大数和次大数的程序的算法。并将此改成PAD图。该算法的流程图如下图:

考题 阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。[说明]下面的流程图用于计算一个英文句子中最长单词的长度(即单词中字母个数)MAX。假设该英文句子中只含字母、空格和句点“.”,其中句点表示结尾,空格之间连续的字母串称为单词。[流程图]

考题 阅读下列说明和流程图,将应填入(n)处的语句写在对应栏内。【说明】设学生(学生数少于50人)某次考试的成绩按学号顺序逐行存放于某文件中,文件以单行句点“.”为结束符。下面的流程图用于读取该文件,并把全部成绩从高到低排序到数组B[50]中。【流程图】

考题 ●试题一阅读下列说明和流程图,将应填入(n)的字句写在答题纸的对应栏内。【说明】下列流程图(如图4所示)用泰勒(Taylor)展开式sinx=x-x3/3!+x5/5!-x7/7!+…+(-1)n×x 2n+1/(2n+1)!+…【流程图】图4计算并打印sinx的近似值。其中用ε(0)表示误差要求。

考题 试题三(共 15 分)阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。