当前位置:
章节挑题
请展开查看知识点列表
>51.有如图所示的二叉树。用list表示该二叉树为( )
发布:2024/11/30 6:30:2组卷:2引用:2难度:0.452.某对分查找算法VB程序如下:
数组元素a(1)~a(10)中的数据为“95,89,73,70,68,54,47,43,26,9”,执行该程序后,字符串s的值不可能为( )发布:2024/11/30 1:30:1组卷:3引用:2难度:0.453.为四则运算式“6+(8-2)*2÷3”转逆波兰表达“682-2*3÷+”设计算法,编程实现。
分析:在数学运算表达式中,运算符总是置于与之相关的两个运算对象之间,在计算结果时,要考虑括号、运算符号的优先性。为了程序实现的方便,波兰逻辑学家J.Lukasiewicz提出了另一种表示法,将运算符置于其运算对象之后,没有括号,不用考虑运算符号的优先性。这种表达式称为后缀表达式,又叫逆波兰表达式。
如表达式“682-2*3÷+”是四则运算式“6+(8-2)*2÷3”的逆波兰表达式。为了处理方便,规定表达式中的数均为小于10的正整数,运算符为+、-、*、÷。
(1)抽象建模
设计两个栈bds、fh,栈bds用来存放表达式,栈fh用来暂时存放运算符。从左往右扫描四则运算式,遇到数字时,入栈bds;遇到运算符号时,根据运算符号的优先级设计进栈与出栈。
四则运算式“6+(8-2)*2÷3”转换规则的模拟过程如表所示:
结合表格的操作过程,用栈bds和栈fh记录每个操作后的栈内情况(见图),那么在操作2中栈fh里有内容为
(2)设计算法
基于问题的抽象与建模,解决该问题的主要算法描述如下:
从左往右遍历四则运算式s(设中间变量为ch):
1)当ch是数字,直接入栈bds;
2)当ch是运算符:
a.若ch为左括号时,直接入栈fh;
b.若ch为右括号时,则将栈fh元素弹出,压入栈bds,直到遇到左括号(左括号只
弹出,不压入栈bds);
c.若ch为其它运算符时,如果运算符ch优先级大于栈fh中栈顶元素的优先级(或栈fh为空),直接入栈fh;否则,将栈fh元素依次弹出,并压入栈bds,直到运算符ch优先级大于栈fh中栈顶元素的优先级(或栈fh为空);
3)将栈bds中元素依次出栈,即为该四则运算s的后缀表达式。
(3)编写程序
实现上述功能的Python代码如下,请在横线处填入合适代码。发布:2024/11/29 21:0:1组卷:20引用:2难度:0.354.采用冒泡排序算法对某数据序列进行排序,经过第一轮排序后的结果是“2,8,3,9,5,6,7”,那么原数据序列不可能的是( )
发布:2024/11/29 1:0:1组卷:15引用:4难度:0.555.小吕设计了某百货公司的会员积分查询系统,输入会员卡号,可以查出该卡对应的积分.所有的会员卡号和相应的积分已分别保存在数组vip(按从小到大排序)和数字cre中,第i个会员的卡号保存在vip(i)中,对应的卡内积分保存在cre(i)中.
程序界面如下所示,在文本框Text1中输入会员卡号,单击“查询”按钮(Command1),相应的卡内积分将在标签Label3中显示.
实现上述功能的VB程序如下,请在横线处填入合适代码.
Dim vip(1to 10000)as long,cre(1to 10000)as integer
Const n=10000‘设会员卡总数为10000
‘Form-Load事件过程中,在列表框List1中输出所有会员卡的卡员和积分.
Private Sub Form_Load ( )
代码略
End Sub
Private Sub Command1_Click ( )
Dim x as long,I as integer,j as integer,m as integer
Dim find as Boolean
x=①
i=1
j=n
find=False
Do While i<=j and not find
②
If x=vip(m) then
Find=true
Elseif x<vip(m) then
J=m-1
Else
③
End if
Loop
If find then
Label3.Caption=“此会员卡的积分为”+④+“分”
Else
Label3.Caption=“找不到此卡号,请重新输入!”
End if
End Sub
(1)此处应用了
(2)为实现上述功能,程序中横线处的代码应为:
①发布:2024/11/28 20:30:6组卷:24引用:2难度:0.156.如图所示,有如下二叉树,关于此二叉树的说法中,描述正确的是( )
发布:2024/11/28 12:0:1组卷:11引用:4难度:0.557.Access2003自动创建的主键数据类型是( )
发布:2024/11/28 10:0:1组卷:10引用:2难度:0.558.在升序的a数组中(a(1)<a(2)<a(3)<……<a(n-1)<a(n)),用对分查找寻找不小于key 的最小值,VB程序段如下:
若满足条件的值存在,则该值是( )发布:2024/11/27 17:0:1组卷:4引用:2难度:0.559.传统危险品运输中,对于车辆的动态监管很难实现,下列( )技术可以很好的解决这个问题。
发布:2024/11/27 8:30:1组卷:7引用:3难度:0.760.下列关于数据结构的说法,正确的是( )
发布:2024/11/27 8:0:36组卷:29引用:3难度:0.5
