zoukankan      html  css  js  c++  java
  • 三者最大实例分析

    很早看过这个视频,但今天要拿出来用时发现已经忘得差不多了。因此在这儿再复习一下。

    找出三个数字中最大者

    • 输入:三个数值
    • 处理:三者最大算法
    • 输出:打印最大值

      策略1:通盘比较

    • 将每一个值与其他所有值比较以确定最大值
    if x1 > x2 and x1 >= x3:
        max = x1
    elif x2 >= x1 and x2 >= x3:
        max = x2
    else:
        max = x3
    • 如果是五个值比较,表达式包含四个and,比较复杂
    • 每个表达式结果没有被互相利用,效率低(x1与x2比较了两次)

      策略2:决策树
      决策树方法可以避免冗余比较
      但比较值增加时,结构变得非常复杂

     if x1>=x2:
         if x1>=x3:
             max = x1
     else:
         if x2 >=x3:
             max = x2
         else:
             max = x3
    

    策略3:顺序处理
    逐个扫描每个值,保留最大者

    max = x1
    if x2 > max:
        max = x2
    if x3 > max:
        max = x3

    寻找一组数中的最大值

    def main():
        n = eval(input("How many numbers are there?"))
        #将第一个值赋给max
        max = eval(input("Enter a number >> "))
        #连续与后面n-1值进行比较
        for i in range(n-1):
            x = eval(input("Enter a number >> "))
            if x > max:
                max = x
        print("The largest value is", max)
    main()
  • 相关阅读:
    java基础—面向对象2
    java基础—java读取properties文件
    java基础—super关键字
    java基础—this关键字
    java基础—object类
    java基础—equals方法
    java基础—哈希编码
    Struct2(五)处理表单
    struct2(四)编写Struct2 的Action
    Struct2(三) Struct2 标签
  • 原文地址:https://www.cnblogs.com/jeff-ideas/p/10540354.html
Copyright © 2011-2022 走看看