查找算法的程序实现「教师版」


    查找算法程序实现教师版
    例1 数组元素a(1)a(8)中查找键值key数序查找VB程序段请划线处填写正确语句
    for i1 to 8
    if ①        then 
      Text1textstr(i)
      exit for
    end if
    next i
    if ②        then 
    text1text″数组中没找″+str(key)
    end if
    答案①a(i)key ② i>8
    解析根序查找基思想次数组元素a(1)a(8)查找键值key较相等显示找结果退出循环否继续查找程序实现时变量i表示第次查找a(i)第i次查找时访问数组元素果某数组元素a(i)值等key该数组元素标值i显示text1文框中通exit for结束查找没找keyi值必定8划线①处条件表达式a(i)key划线②处条件表达式i>8
    例2某数组6元素次273257788090该数组进行序查找均查找次数(1+2+3+4+5+6)672该数组进行分查找均查找次数 (  )
    A72 B73
    C52 D2
    答案:D
    分查找进行[log2N]+1次查找N6进行2次查找
    例3某分查找算法VB程序段
    i1j8c0
    Do While icc+1
    mFix((i+j)2)
    If keyb(m) Then Exit Do
    If keyLoop
    数组元素b(1)b(8)值次22323948718296106该程序段运行结束c值2key值(  )
    A4832 B4896
    C3282 D8296
    答案:C
    解析:程序采分查找算法变量c表示查找次数第次查找值48第二次查找值3282二叉树方法考虑问题图示节点中数字表示元素编号节点第n层表示找该数n次8升序数列a第1次查找a(4)第2次找a(2)a(6)第3次找a(1)a(3)a(5)a(7)第4次找a(8)

    例4数组a组正整数奇数前偶数奇数偶数已分升序排序分查找思想设计数组a中查找数Key程序实现该功VB程序段
    i1j10
    KeyVal(Text1Text)
    Do While im(i+j)\2
    If a(m)Key Then Exit Do 'Exit Do 表示退出循环
    If Key Mod 21 And a(m) Mod 20 Then
        (1) 
    ElseIf Key Mod 20 And a(m) Mod 21 Then
        (2) 
    Else
        (3) 
    End If
    Loop
    If i>j Then s″没找″ Else s″位置″+Str(m)
    Text2Texts
    述程序中划线处选语句
    ①im+1
    ②jm1
    ③If Key(1)(2)(3)处语句次(  )
    A①②③ B①③②
    C②①③ D③②①
    答案:C
    解析:果key奇数查找区间中间偶数前半段查找(半段肯定偶数)jm1否果key偶数查找区间中间奇数半段查找(前半段肯定奇数)im+1否纯偶数升序列中找偶数纯奇数升序列中找奇数正常分查找If Key强化训练
    1数组a中存放着已排序n1实验数(a(1)≥a(2)≥……≥a(n1)a(n)暂未存储数)现文框Text1中输入新数插入数组a中相应位置n数保持序完成该功VB程序段请划线处填入正确语句
    xVal(Text1Text)
    iljnl
    Do While im(i+j)\2
    If xLoop
    For kn To  ①  Step1 
    a(k)a(k1)
    Next k
    a(i)x
    答案 i+1j+2
    解析 程序中通分查找法找插入位置该位置i需a(n1)a(n2)……a(i)次移位置相位置加1然x存入a(i)中该位置j+2
    2某分查找算法VB程序段
    n0i1j6
    KeyVal(Text1Text)
    Do While im(i+j)\2
    nn+1
    If Keyd(m) Then Exit Do
    If Key>d(m) Then jm1 Else im+1
    Loop
    If id(1)d(6)值次887753473928输入某Key值运行该程序段变量s结果1输入key值(  )
                  
    A89 B77 C47 D39
    答案 C
    解析 程序采分查找算法代码果sn1需满足i>j需查找key数组中仅查找1次满足该条件smn1查找3次满足题二叉树方法解决图示节点中数字表示元素编号节点第n层表示找该数n次满足mn1中点值查找次数1图知a(4)满足条件

    3某分査找算法VB程序段
    i 1j 7s ″ ″
    key Int(Rnd * 100)
    Do While i < j
    m (i + j) \ 2
    If key a(m) Then
    s s + ″M″Exit Do  'Exit Do表示退出循环
    ElseIf key < a(m) Then
    j m1s s + ″L″
    Else
    i m + 1s s + ″R″
    End If
    Loop
    Text1Text s
    数组元素a(1)a(9)值次24353841456978该程序段执行文框Text1中显示容(  )
    ARL BLMR CRLR DLRLM
    答案 C
    解析 分析程序知查找成功会输出″M″循环结束 M 中间排B 选项 n 数查找查找次数 Log2n+1(取整)7 元素查找 3 次排 D 选项果法找(输出″M″)需查找 3 次查找次数选C
    4数组a中存储左右交升n正整数表示:
    a(1)
    a(2)
    a(3)
    ……
    a(n-2)
    a(n-1)
    a(n)
    3
    25
    38
    ……
    55
    31
    12
    分查找思想设计数组a中查找数key程序实现该功VB程序加框处代码错请改正
    Private Sub Command1_Click( )
    Const n=6
    Dim a(1 To n) As Integerflag As Boolean
    Dim i As Integerj As Integerm As Integerkey As Integer
    ′读取组正整数述规存入数组a中代码略
    key=Val (Text1Text)
    i=1
    j=(n+1)\2
    flagTrue
    Do While And Not flag′(1)
    m=(i+j)\2
    If keya(m) Then
    flagTrue
    ElseIf key<a(m) Then
    jm1
    Else
    im+1
    End If
    Loop
    If Not flag And j>0 Then
    m′(2)
    If key=a(m) Then flag=True
    End If
    If flag Then
    Text2Text=Str(m)
    Else
    Text2Text=找
    End If
    End Sub
    中加框(1)处应改正________
    加框(2)处应改正________
    解析 题考核分查找思想算法较简单关键数组a中存储左右交升n正整数理解数组前半部分递增半部分递减变化规律3→12→25→31→38→55果前半部分找右半部分称位置找(1)应修改i<=j说次查找变量i=j=m果前半部分找该数a(m)时j=m-1该数(j)a(m)j称位置(n-j+1)找数该数a(m)时i=m+1该数a(m)a(i)(i-1)称位置(n-(i-1)+1)找数
    答案 (1)i<=j
    (2)n-i+2
    n-j+1
    n+1-(i+j)\2
    等价表达式
    5)数组a组正整数奇数前偶数奇数偶数已分升序排序分查找思想:设计数组a中查找数Key程序实现该功VB程序段:
    i=1∶j=10
    Key=Val(Text1Text)
    Do While i<=j
     m=(i+j)\2
     If a(m)=Key Then Exit Do ′Exit Do表示退出循环
     If Key Mod 2=1 And a(m) Mod 2=0 Then

     ElseIf Key Mod 2=0 And a(m) Mod 2=1 Then

     Else

     End If
    Loop
    If i>j Then s=没找 Else s=位置:+Str(m)
    Text2Text=s
    述程序中方框处选语句:
    ①i=m+1
    ②j=m-1
    ③If Key(1)(2)(3)处语句次(  )
    A①②③ B①③②
    C②①③ D③②①
    解析 题考核分查找算法基思想语句Key Mod 2=1 And a(m) Mod 2=0表示查找key奇数m指数偶数奇数前前找移动尾指针语句Key Mod 2=0 And a(m) Mod 2=1表示查找key偶数m指数奇数
    答案 C
    6采分查找算法数组a中7序数15385166778199进行查找查找数55
    i=1∶j=7∶x=55
    Do While i<=j
     m=(i+j)\2
    If a(m)=x Then Exit Do
    If a(m)>x Then j=m-1 Else i=m+1
    Loop
    述代码查找列表述正确(  )
    Ai=m+1 Bi=m-1
    Cj>m+1 Dj<m-1
    解析 题分查找算法程序分析程序运行程中变量变化情况:
    查找次数
    变量i
    变量j
    变量m
    a(m)
    第1次查找
    1
    7
    4
    66
    第2次查找
    1
    3
    2
    38
    第3次查找
    3
    3
    3
    51
    退出循环
    4
    3


    3次查找i=4j=3i>j退出循环根时变量值判断A正确
    答案 A
    7某学校图书理系统中10万条图书资料记录(已索引排序)假设中取出条记录查找项进行较花时间10毫秒分法该系统中查找意指定图书花费时间约(  )
    A100万毫秒 B50万毫秒
    C10毫秒 D170毫秒
    解析 分查找查找效率较高否找进行Int(log2n)+1次查找表示等log2n+1整数
    n=100000较次数17次花费时间170毫秒
    答案 D
    8VB程序查找单词间距文框Text1中输入段英文文框Text2中输入英文段落中某单词(字符串)单击间距钮(Command1)文框Text3中显示该单词文中某两次出现间距出现次出现显示值0程序运行界面图示

    实现述功VB程序请划线处填入正确代码
    Private Sub Command1_Click()
    Dim a(1 To 1000)As String '数组a存储文中出现该指定单词(字符串)位置
    Dim s As Stringc As Stringch As String
    Dim n As Integermax As Integeri As Integer
    sText1Text
    cText2Text
    n0∶Max0
    For i1 To Len(s)Len(c)+1
    ch ①  
    If chc Then
    nn+1
     ②  
    If n>2 Then
      If a(n)a(n1)Len(c)>Max Then Maxa(n)a(n1)Len(c)
    End If
    End If
    Next i
    Text3Textstr(max)
    End Sub
    答案 ①mid(silen(c)) ②a(n)i
    解析 程序采序查找算法查找单词c输入英文总长度len(s)查单词长度len(c)循环查找第1字符开始次截取len(c)字符查单词致记录数出现位置出现位置存入数组a(n)i果找22相字符储存间距较间距值Max①处应段英文s中第i字符开始截取len(c)字符mid(silen(c))
    9某排序算法VB程序段:
    For i=7 To 5 Step -1
    k=i
    For j=1 To i-1
    If a(j) Next j
    If i<>k Then
    t=a(i):a(i)=a(k):a(k)=t
    End If
    Next i
    数组元素a(1)a(7)数次10417512631185排序加工数组元素a(1)a(7)数次(  )
    A85417563121110
    B85756341121110
    C10111263754185
    D10111241637585
    解析 选择排序变形i=7时k=ik指数前面6数进行较k指前面较数交换第轮1085互换
    i=6时k=ik指数前面5数进行较k指前面较数交换第二轮没交换i=5时k=ik指数前面4数进行较k指前面较数交换第三轮1263交换
    答案 A
    10双选择排序算法典选择排序基础果选择出数时选择预见数两数放置合适位置样排序效率提高倍述双选择排序算法张编写VB程序功:列表框List中显示排序前数单击排序钮Command1列表框List中显示数升序排序结果运行效果图示

    实现述功VB程序加框处代码错请改正
    Const n=10
    Dim b(1 To n)As Integer
    Private Sub command1_Click( )
    Dim i As Integer
    Dim t As Integer
    For i=1 To  ′①
     For j=i To  ′②
    If b(j)  t=b(i):b(i)=b(j):b(j)=t
    End If
    If b(j)>b(n-i+1) Then
     t=b(j):b(j)=b(n-i+1):b(n-i+1)=t
    End If
    Next j
    Next i
    For i=1 To n
     List2AddItem Str(b(i))
    Next i
    End Sub
    Private Sub Form_Load( )
    For i=1 To 10
     b(i)=1+Int(Rnd*100)
     List1AddItem Str(b(i))
    Next i
    End Sub
    解析 次找出两值较趟数总数半次实现头尾序i相数n-i+1
    答案 n\2 ni+1
    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 10 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    查找算法的程序实现「学生版」

    查找算法的程序实现【学生版】【例1】 在数组元素a(1)到a(8)中查找键值为key的数,其顺序查找的VB程序段如下,请在划线处填写正确的语句。for i=1 to 8if ①        ...

    2年前   
    517    0

    —基于机器学习的人脸识别算法的设计与实现

    人脸识别技术是一种新型的生物特征认证技术。人脸识别技术也是一个非常活跃的研究领域,涵盖了许多领域,例如数字图像处理。随着人们对应用程序需求的增长,面部识别技术趋向于大量使用,使用微芯片和标准化。

    3年前   
    833    0

    线索二叉树算法的设计与实现

    随着时代的不断进步,计算机技术也随之得到发展。数据结构在计算机技术的发展中起到巨大的作用。数据结构为构建出高效的计算机算法打下了坚实的基础。良好的数据结构能够提高算法效率的同时也能减少对系统资源的占用[

    3年前   
    1007    0

    大数据处理算法研究与实现

    因为要适应不同的人的上网要求,提供一些企业的一些网络地址,是网上比较重要的一部分、成套动力设备中起主要作用的机器、寄件系统、系统控制在内的完整的网络平台服务。我们有一个自己的平台,现如今数据发展...

    4年前   
    865    0

    实现产品的策划程序

    SBM 公 司 SBM-QMD-71000 版次:B 密级:□ 保密 □ 通用 实现产品的策划程序 Pla...

    10年前   
    29953    0

    浙教版(2019) 必修1 数据与计算第3章 算法的程序实现 基础知识练习

    第3章 算法的程序实现 基础知识练习-2021-2022学年高中信息技术浙教版(2019) 必 修1一、选择题1.执行语句a=input(“输入一个数:”)后,输入10,则a的值是( )...

    3个月前   
    102    0

    高中信息技术浙 教版 必修1 第三章 算法的程序实现 本章小结(习题) (含答案)

    第三章 算法的程序实现 一、选择题1.执行语句a=input(“输入一个数:”)后,输入10,则a的值是( )A.10B.“10”C.10.0D.“10.0”2.下列不是常量的是( ...

    9个月前   
    225    0

    设计散列表实现电话号码查找系统数据结构课程设计

    XX学院课程设计报告书专 业:计算机科学与技术 课程设计名称:《数据结构课程设计》题 目:设计散列表实现电话号码查找系统班 级: 学    号: 姓 ...

    2年前   
    582    0

    Ping程序的设计与实现课程设计

     计算机网络课程设计报告设计名称 Ping程序的设计与实现 专业班级 同组人姓名 ...

    3年前   
    629    0

    微信旅行小程序的设计与实现

    旅游行业,随着经济的快速发展,呈现出一片欣欣向荣的画面,特别是在这两年的发展之中,各行各业都在互联网的快速发展之中都展现出了运用技术手段来解决传统的线下宣传的弊端,这也是必然的趋势。

    3年前   
    2114    0

    操作系统实验报告C语言实现银行家算法

    实 验 报 告题 目名 称C语言实现银行家算法院 系信息科学与工程学院班 级完成时间指导老师本次实验成绩组长联系电话邮件地址组员(姓名,学号)主要任务程序算法的编写、实现、运行调...

    3年前   
    471    0

    进程调度算法的实现计算机操作系统课程设计

    题目2 进程调度算法的实现2.1 题目的主要研究内容及预期达到的目标(1)设计进程控制块; (2)设计多个进程队列; (3)设计多个进程(≥20); (4)动态生成时间片、执行时间和优先级,...

    3年前   
    587    0

    操作系统课程设计银行家算法的模拟实现

    操作系统课程设计报告专业计算机科学与技术学生姓名班级学号指导教师完成日期信息工程学院题目: 银行家算法的模拟实现 一、设计目的本课程设计是学习完“操作系统原理”课程后进...

    3年前   
    688    0

    最速下降法原理及其算法实现课程论文

     本科毕业论文(设计)模板 课程论文论文题目:最速下降法原理及其算法实现 课程名称: 现代信号处理新方法 学 院: ...

    3年前   
    794    0

    基于大数据和ALS算法实现的房源智能推荐系统

    目前,现有的房源信息不够透明化大多中介混淆市场,内含不为人知的商业链。有经验的租客们会通过周边房价走势和走访周边房源对比调研、筛选适合自己的房源。

    3年前   
    539    0

    操作系统实验三磁盘调度算法的实现

    XX大学计算机与通信工程学院实验报告2013 至 2014 学年 第 一 学期课程名称操作系统学号 学生姓名 年级 专业 教学班号 实验地点 实验时间 2013年 月 日 ...

    3年前   
    481    0

    自己编写算法的功率谱密度的三种matlab实现方法

    功率谱密度的三种matlab实现方法一:实验目的:(1)掌握三种算法的概念、应用及特点;(2)了解谱估计在信号分析中的作用;(3) 能够利用burg法对信号作谱估计,对信号的特点加以分析。二;...

    3年前   
    878    0

    首次适应算法最佳适应算法

    姓名:学号:实验名称:进程调度模拟实验 实验目的:了解动态分区存储管理方式中的数据结构和分配算法,加深对动态分区存储管理方式及其实现技术的理解。实验内容:#include<iostream.h...

    3年前   
    1633    0

    粒子群算法(优化算法)毕业设计论文

     毕 业 论 文 题 目 粒子群算法及其参数设置 专 业 信息与计算科学 班 级 ...

    5年前   
    1472    0

    其他典型算法之矩阵应用-专项训练浙江2022届选考专用(教师版)

    其他典型算法之矩阵应用【例1】 把矩阵A的行和列互相交换所产生的矩阵称为A的转置矩阵,这一过程称为矩阵的转置,如 。以下VB6程序实现矩阵的转置,请在划线处填入正确的语句实现功能。Co...

    2年前   
    553    0

    文档贡献者

    文***7

    贡献于2022-03-15

    下载需要 10 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档