1. 对某个数据结构执行一个具有n个运算的序列。如果i为2的整数幂,则第i个运算的费用为i否则为1.使用合计方法确定每次运算的分摊费用。

1. 对某个数据结构执行一个具有n个运算的序列。如果i为2的整数幂,则第i个运算的费用为i否则为1.使用合计方法确定每次运算的分摊费用。


参考答案和解析
O(1)

相关考题:

若一个栈的输出序列是1,2,3,...,n,输出序列的第一个元素是n,则第i个输出元素是n-i+1。( ) 此题为判断题(对,错)。

已知一个栈的进栈序列是1,2,3,…,n,其输出序列的第一个元素是i(1≤i≤n),则第j(1≤j≤n)个出栈元素是()。 A.iB.n-iC.j-i+1D.不确定

设int n=11, i=4;, 则武值运算n%=i+1 n%=i+1执行后n的值是 ______。A.0B.3C.2D.1

阅读以下应用说明、属性设置以及Visual Basic程序代码,将解答写在对应栏内。【应用说明】本应用运行时,由用户输入一个正整数n后自动产生n个正整数,然后按照用户的指定要求对该组数进行处理。该应用的运行界面如下图所示:1.窗体中有两个文本框。(txtSrc,txtObj)、两个标签(lblSrc,lblObj)、三个命令按钮(cmdGendat,cmdProc,cmdQuit)和一个弹出式菜单(procMenu,初始时不可见)。2.文本框txtSrc(由标签lblSrc提示)用于显示产生的数据,文本框txtObj(由标签lblObj提示)用于显示处理结果,要求每行显示一个整数。3.程序启动时,命令按钮cmdProc(运算要求)不可用。单击命令按钮cmdGendat(产生数据)后,提示用户输入一个n的值并生成n个正整数存入数组元素a(1)~a(n),然后将数据逐行显示在txtSrc中,并设置命令按钮cmdProc可用。4.单击命令按钮cmdProc(运算要求)后弹出菜单。选择菜单项并单击后,进行相应处理并将结果显示在txtObj中,同时将lblObj的标题改为该菜单项表示的处理命令。弹出式菜单“运算要求”的结构如下表所示:一个整数序列的中位数是指对该序列进行非递减(增)排列后最中间位置上的元素。若序列长度为偶数,则取中间两个元素的平均值为其中位数。【属性设置】为实现单击命令按钮cmdProc后弹出“运算要求”菜单(procMenu),设计时需将 procMenu的(1)属性设置成false。供(1)选择的属性:Default Enabled ScaleMode Style Visible【Visual Basic程序代码】Dim a() AS Integer, n As IntegerPrivate Sub Form_Load()txtSrc.Text = "": txtObj.Text = "": (2) = FalseEnd SubPrivate Sub cmdGendat_Click () '生成正整数序列并存入数组aOn Error GoTo Error handlern = InputBox$ ("请输入数组元素个数:", "输入序列长度")If (n < 1) ThenMsgBox "输入数据错误!", vbOKOnly, "提示:"GoTo Error handler:End IfReDim a(n) As Integers = ""For i = 1 To n '将生成的正整数存入a(1)~a(n)中a(i) = Int(Rnd * 10000) : s = s Str$(a(i)) vbCrLfNexttxtSrc.Text = s(3) '设置运算要求命令按钮可用Error handler:End SubPrivate Sub cmdProc_Click()PopupMenu procMenuEnd SubPrivate Sub MidNum_Click() '求中位数lblObj.Caption = MidNum.Caption ":"For i = 1 To round((n + 1)/2> '用选择排序法对数组a进行部分排序a(0) = a(i):k = i 'a(0)用作临时变量,暂存第i次选出的最小元素For j = i + 1 To nIf a(j) < a(0) Thena(0)= a(j): k =(4)End IfNextIf k <> i Thena(k) = a(i): a(i) = a(0)End IfNextIf n / 2 - n \ 2 > 0 Then 'n为奇数时,取中间一个数txtObj.Text - Str$(a((5))Else 'n为偶数时,取中间两个数的平均值txtobj.Text = Str$(Int((a(n \ 2) + a(n \ 2 + 1)) / 2))End IfEnd Sub'其他代码略

关于线形表的插入运算,正确的是________。Ⅰ.把新表元插性表的第i(0≤i≤n)个表元Ⅱ.把新表元插在具有给定的表元的前面或后面Ⅲ.把新表元插性表的第i(0≤i≤nhl)个表元A.Ⅰ,ⅡB.Ⅰ,ⅢC.Ⅱ,ⅢD.Ⅰ,Ⅱ,Ⅲ

设n=10,i=4,则赋值运算n%=i+1执行后,n的值是( )。A.0B.3C.2D.1

关于线形表的插入运算,正确的是 ______。Ⅰ把新表元插性表的第i(0≤i≤n)个表元Ⅱ.把新表元插在具有给定的表元的前面或后面Ⅲ.把新表元插性表的第i(0≤i≤n-1)个表元 ______。A.Ⅰ,ⅡB.Ⅰ,ⅢC.Ⅱ,ⅢD.Ⅰ,Ⅱ,Ⅲ

一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1≤i≤n)个元素是______。A.不确定B.n-i+lC.iD.n-i

若某线性表长度为n且采用顺序存储方式,则运算速度最快的操作是( )。A.查找与给定值相匹配的元素的位置B.查找并返回第i个元素的值(1in)C.删除第i个元素(1in)D.在第i个元素(1in )之前插入一个新元素

栈的输入序列为1,2,3,…,n-1,n,输出序列的第1个元素为n,则第i个输出元素为A.n-i+1B.n-1C.iD.哪个元素无所谓

含有n个元素的线性表采用顺序存储方式时,对其运算速度最快的操作是(36)。A.访问第i个元素(l<i≤n)B.删除第i个元素(1≤j≤n)C.在第i个元素(1≤i≤n)之后插入一个新元素D.查找与特定值相匹配的元素

试题五(共 15 分)阅读以下应用说明、属性设置以及 Visual Basic 程序代码,将解答写在答题纸的对应栏内。[应用说明]本应用运行时,由用户输入一个正整数 n 后自动产生 n 个正整数,然后按照用户的指定要求对该组数进行处理。该应用的运行界面如下图所示:1. 窗体中有两个文本框(txtSrc,txtObj) 、两个标签(lblSrc,lblObj) 、三个命令按钮(cmdGendat,cmdProc,cmdQuit)和一个弹出式菜单(procMenu,初始时不可见) 。2.文本框 txtSrc(由标签 lblSrc 提示)用于显示产生的数据,文本框 txtObj(由标签 lblObj 提示)用于显示处理结果,要求每行显示一个整数。3. 程序启动时,命令按钮 cmdProc(运算要求)不可用。点击命令按钮 cmdGendat(产生数据)后,提示用户输入一个 n 的值并生成 n 个正整数存入数组元素 a(1)~a(n),然后将数据逐行显示在 txtSrc 中,并设置命令按钮 cmdProc 可用。4. 点击命令按钮 cmdProc(运算要求)后弹出菜单。选择菜单项并单击后,进行相应处理并将结果显示在 txtObj 中,同时将 lblObj的标题改为该菜单项表示的处理命令。弹出式菜单“运算要求”的结构如下表所示:一个整数序列的中位数指对该序列进行非递减(增)排列后最中间位置上的元素。若序列长度为偶数,则取中间两个元素的平均值为其中位数。[属性设置]为实现单击命令按钮 cmdProc 后弹出“运算要求”菜单(procMenu) ,设计时需将procMenu 的 (1) 属性设置成 false。供(1)选择的属性: Default Enabled ScaleMode Style Visible[Visual Basic 程序代码]Dim a() As Integer, n As IntegerPrivate Sub Form_Load()txtSrc.Text = "": txtObj.Text = "": (2) = FalseEnd SubPrivate Sub cmdGendat_Click() '生成正整数序列并存入数组aOn Error GoTo Error_handlern = InputBox$("请输入数组元素个数:", "输入序列长度")If (n 1) ThenMsgBox "输入数据错误!", vbOKOnly, "提示:"GoTo Error_handler:End IfReDim a(n) As Integers = ""For i = 1 To n '将生成的正整数存入a(1)~a(n)中a(i) = Int(Rnd * 10000) : s = s Str$(a(i)) vbCrLfNexttxtSrc.Text = s(3) '设置运算要求命令按钮可用Error_handler:End SubPrivate Sub cmdProc_Click()PopupMenu procMenuEnd SubPrivate Sub MidNum_Click() '求中位数lblObj.Caption = MidNum.Caption ":"For i = 1 To round((n + 1)/2) '用选择排序法对数组a进行部分排序a(0) = a(i):k = i ' a(0)用作临时变量,暂存第i次选出的最小元素For j = i + 1 To nIf a(j) a(0) Thena(0) = a(j): k = (4)End IfNextIf k i Thena(k) = a(i): a(i) = a(0)End IfNextIf n / 2 - n \ 2 0 Then 'n为奇数时,取中间一个数txtObj.Text = Str$(a( (5) ))Else 'n为偶数时,取中间两个数的平均值txtObj.Text = Str$(Int((a(n \ 2) + a(n \ 2 + 1)) / 2))End IfEnd Sub'其他代码略

一个栈的输入序列为123…n,若输出的序列的第一个元素是n,输出的第i(1=i=n)个元素是【】A.不确定B.n-i+lC.iD.n-i

若一个栈的输入序列是1,2,3,…,n,输出序列的第一个元素是n,则第i个输出元素是( )。A.不确定B.n-iC.n-i-lD.n-i+l

含有n个元素的线性表采用顺序存储方式时,对其运算速度最快的操作是( )。A.访问第i个元素(1≤i≤n)B.删除第i个元素(1≤i≤n)C.在第i个元素(1≤i≤n)之后插入一个新元素D.查找与特定值相匹配的元素

若某线性表长度为n且采用顺序存储方式,则运算速度最快的操作是(37)。A.查找与给定值相匹配的元素的位置B.查找并返回第i个元素的值(1≤i≤n)C. 删除第i个元素(1≤i≤n)D.在第i个元素(1≤i≤n)之前插入一个新元素

若一个栈的输入序列为1,2,3…,n,输出序列的第一个元素是i,则第j个输出元素是()。A.i-j-1B.i-jC.j-i+lD.不确定

若某线性表长度为n且采用顺序存储方式,则运算速度最快的操作是( )。A.查找与给定值相匹配的元素的位置B.查找并返回第i个元素的值(1≤i≤n)C.删除第i个元素(1≤iD.在第i个元素(1≤i≤n)之前插入一个新元素

设n=10,i=4,则赋值运算n%=i+1执行后,n的值是().A、0B、3C、2D、1

若一个栈的输入序列是1,2,3……n,则输出序列的第一个元素是n,则第i个输出元素是()A、n-iB、iC、n-i+1D、n-i-1

下列运算()是上取整、下取整和四舍五入整数化的运算指令(FANUC系统)。A、# i=LN[#j]B、#i=FIX[#j]C、#i=FUP[#j]D、#i=ROUND[#j]E、#i=ABS[#j]

功能单元的吞吐量也是程序执行时间的一个下界。假设一个程序需要N个某种运算的计算,而微处理器只有m个能执行这个操作的功能单元,并且这些单元的发射时间为i。那么这个程序的执行至少需要()个周期。A、N*m/iB、N*i/mC、i*m/ND、N/(m*i)

若一个栈的输入序列是1,2,3,…,n,输出序列的第一个元素是n,则第i个输出元素是()。A、不确定B、n-iC、n-i-1D、n-i+1

单选题一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1=i=n)个元素是( )。A不确定Bn-i+lCiDn-i

单选题若一个栈的输入序列是1,2,3,…,n,输出序列的第一个元素是n,则第i个输出元素是()。A不确定Bn-iCn-i-1Dn-i+1

单选题若一个栈的输入序列是1,2,3……n,则输出序列的第一个元素是n,则第i个输出元素是()An-iBiCn-i+1Dn-i-1

单选题设n=10,i=4,则赋值运算n%=i+1执行后,n的值是().A0B3C2D1

单选题若一个栈的输入序列为1,2,3…,n,输出序列的第一个元素是i,则第j个输出元素是()。Ai-j-1Bi-jCj-i+1D不确定的