算法

算法基本概念

1. 定义

  1. 一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,明确的,此顺序将在有限的次数下终止。
  2. 算法是解决某个特定问题的一种方法或一个过程。
  3. 算法是任何定义好了的计算程式,它取某些值或值的集合作为输入,并产生某些值或值的集合作为输出。

2. 特性

  1. 可行性
    ① 算法中每一个步骤都是可以实现的;
    ② 算法执行的结果能达到预期的目的。
  2. 确定性
    算法的每一步骤必须有清楚的语义,即无二义性。
  3. 有穷性
    算法必须在执行有限个步骤之后终止。
  4. 输入
    一个算法有零个或多个数据输入。
  5. 输出
    一个算法产生一个或多个输出。

基本要素

  1. 算法控制结构
    顺序结构
    选择结构
    循环结构
  2. 数据的运算与操作
    算术运算(+,-,*,/)
    逻辑运算(&&,||, !)
    关系运算(<,>,<=,>=,==,!=)
    数据传输(赋值,输入,输出)

设计过程

  1. 通过对问题进行详细地分析,抽象出相应的数学模型;
  2. 确定使用的数据结构,并在此基础上设计对此数据实施各种操作的算法;
  3. 选用某种语言将算法换算成程序;
  4. 调试并运行这些程序。

算法描述语言

算法描述语言是一种面向人而非机器的算法描述工具。

  1. 算法流程图
    在这里插入图片描述
  2. 结构化流程图
    在这里插入图片描述
  3. 伪代码
    在这里插入图片描述

算法描述语言要求

  1. 具有良好的可读性
  2. 无歧义性
  3. 容易转换为程序设计语言

算法设计基本方法

列举法

基本概念

  1. 基本思想
    根据提出来的问题,列举出所有可能的解,并根据问题中所给定的约束,检验哪些解是需要的,哪些是需要排除的,输出符合要求的解。
  2. 特点
    比较简单
    适合解空间小的问题
    常用于解决是否存在或有多少种可能等类型的问题
  3. 难点
    优化列举方案

百鸡问题

  1. 问题描述
    设每只母鸡值3元,每只公鸡值2元,两只小鸡值0.5元。现用100元买100只鸡,一共有多少方案。
  2. 基本思路
    列举出所有符合约束条件的方案,设母鸡i只,公鸡j只,小鸡k只,则有3i+2j+0.50.5k=100。
  3. 算法1

                
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值