A.Float
B.signed
C.integer
D.Char
第2题
[说明]
以下是某图像二元树存储与还原算法的主要思想描述。
设一幅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
&
第4题
A. ①②③B. ②③④C. ①③⑤D. ②④⑤
第5题
A、<script src="xxx.js"><br> B、<script href="xxx.js"><br> C、<script name="xxx.js"><br> D、<script target="xxx.js"><br><p class="answer"></p><br><br>4、JavaScript是一门脚本语言,也是一门基于面向对象的编程语言,虽然没有专业面向对象编程语言那样规范的类的继承、封装等,但在有页面对象的编程必须有的事件驱动,才能执行程序。当用户单击按钮或者提交表单数据时,就发生了一个______事件。<br><p class="answer"></p><br><br>5、______是一个鼠标单击事件,在当前网页上单击鼠标时,就会发生该事件。<br><p class="answer"></p><br><br><strong style="font-size:16px;">任务2 掌握JavaScript的语法随堂测验</strong><br><br>1、以下哪条语句会产生语法错误?<br> A、var obj = ( );<br> B、var obj = [ ];<br> C、var obj = { };<br> D、var obj = / /;<br><p class="answer"></p><br><br>2、以下哪个单词不属于javascript保留字?<br> A、with<br> B、parent<br> C、class<br> D、void<br><p class="answer"></p><br><br>3、如何创建名为myFunction的函数?<br> A、function:myFunction()<br> B、function myFunction()<br> C、function=myFunction()<br> D、function myFunction<br><p class="answer"></p><br><br>4、如何调用名为“myFunction”的函数?<br> A、call function myFunction<br> B、call myFunction()<br> C、myFunction()<br> D、function myFunction<br><p class="answer"></p><br><br>5、如何在JavaScript中添加注释?<br> A、' This is a comment<br> B、<!--This is a comment--><br> C、//This is a comment<br> D、<comment><br><p class="answer"></p><br><br>6、可插入多行注释的JavaScript语法是?<br> A、/*This comment has more than one line*/<br> B、//This comment has more than one line//<br> C、<!--This comment has more than one line--><br> D、//This comment has more than one line<br><p class="answer"></p><br><br>7、如何把7.25四舍五入为最接近的整数?<br> A、round(7.25)<br> B、rnd(7.25)<br> C、Math.round(7.25)<br> D、Math.rnd(7.25)<br><p class="answer"></p><br><br>8、如何求得2和4中最大的数?<br> A、Math.ceil(2,4)<br> B、Math.max(2,4)<br> C、ceil(2,4)<br> D、top(2,4)<br><p class="answer"></p><br><br><strong style="font-size:16px;">任务3 使用JavaScript分支结构编程随堂测验</strong><br><br>1、请选择结果为真的表达式。<br> A、null instanceof Object<br> B、null === undefined<br> C、null == undefined<br> D、NaN == NaN<br><p class="answer"></p><br><br>2、如何在警告框中写入“Hello World”?<br> A、alertBox="Hello World"<br> B、msgBox("Hello World")<br> C、alert("Hello World")<br> D、alertBox("Hello World")<br><p class="answer"></p><br><br>3、如何编写当i 等于5时执行某些语句的条件语句?<br> A、if (i==5)<br> B、if i=5 then<br> C、if i=5<br> D、if i==5 then<br><p class="answer"></p><br><br>4、如何编写当i 不等于5时执行某些语句的条件语句?<br> A、if =! 5 then<br> B、if <>5<br> C、if (i <> 5)<br> D、if (i != 5)<br><p class="answer"></p><br><br><strong style="font-size:16px;">任务4 使用JavaScript循环结构编程随堂测验</strong><br><br>1、在JavaScript中,有多少种不同类型的循环?<br> A、两种。for循环和 while循环<br> B、四种。for循环、while循环、do...while循环以及for...in循环<br> C、一种。for循环<br> D、三种。for循环、while循环和foreach循环<br><p class="answer"></p><br><br>2、下面哪个for循环是正确的?<br> A、for (i <= 5; i++)<br> B、for (i = 0; i <= 5; i++)<br> C、for (i = 0; i <= 5)<br> D、for i = 1 to 5<br><p class="answer"></p><br><br>3、定义JavaScript数组的正确方法是?<br> A、var txt = new Array="tim","kim","jim"<br> B、var txt = new Array(1:"tim",2:"kim",3:"jim")<br> C、var txt = new Array("tim","kim","jim")<br> D、var txt = new Array:1=("tim")2=("kim")3=("jim")<br><p class="answer"></p><br><br><strong style="font-size:16px;">任务5 了解JavaScript的异常、验证及内置对象随堂测验</strong><br><br>1、打开名为“window2”的新窗口的JavaScript语法是?<br> A、open.new("http://www.worlduc.com","window2")<br> B、window.open("http://www. worlduc.com","window2")<br> C、new("http://www. worlduc.com","window2")<br> D、new.window("http://www. worlduc.com","window2")<br><p class="answer"></p><br><br>2、如何在浏览器的状态栏放入一条消息?<br> A、statusbar = "put your message here"<br> B、window.status = "put your message here"<br> C、window.status("put your message here")<br> D、status("put your message here")<br><p class="answer"></p><br><br>3、如何获得客户端浏览器的名称?<br> A、client.navName<br> B、navigator.appName<br> C、Browser.name<br> D、client.Browser<br><p class="answer"></p><br><br>4、Javascript既是一门脚本编程语言,又是基于面向对象的编程语言,其编程需要使用到浏览器内部对象与 HTML 文档实现交互,以下选项中哪一项不是浏览器内部对象?<br> A、Navigator<br> B、Window对象<br> C、Document对象<br> D、Page对象<br><p class="answer"></p><br><br>5、Javascript 的输入/出都必须通过对象来完成,其中 Document 对象是输出对象之一,它的最主要的方法是?<br> A、write<br> B、read<br> C、input<br> D、output<br><p class="answer"></p><br><br>6、Window对象是一个优先级很高的对象,包含了丰富的属性、方法,以下代码段是使用Window对象的alert方法的实例,它的作用是? <html> <head></head> <body> <script language="Javascript"> window.alert("OK"); </script>
A、消息框
B、提示框
C、确认框
D、关闭
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!