博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法与设计分析笔记
阅读量:4029 次
发布时间:2019-05-24

本文共 1095 字,大约阅读时间需要 3 分钟。

一、问题及实例

    1.问题:需要回答的一般性提问,通常含有若干的参数
    2.问题的描述:(数学建模)
        1):定义问题参数(集合,变量,函数,序列等)
        2):说明每个参数的取值范围及参数间的关系定义问题的解
        3):说明解满足的条件(优化目标或约束条件)
    3.问题实例:参数的一组赋值可得到问题的一个实例
二、算法中一些概念
    1.什么是算法?
        有限条指令的序列(这个指令序列确定了解决某个问题的一系列运算或者操作)
    2.算法A如何解决问题P?
        把问题P的任何实例作为算法A的输入
        每步计算是确定性的
        A能够在有限步停止计算
        输出该实例的正确的解
    3.算法时间的复杂度:针对指定的 基本运算,计算算法所做运算的次数
    4.基本运算:例如 比较,加法,乘法,置指针,交换等等
        例如:
            排序:元素之间的比较
            检索:被检索元素x与数组元素的比较
            整数乘法:每位数字相乘1次 m位和n位整数相乘要做mn次位乘
            矩阵相乘:每对元素乘1次  i*j矩阵与j*k矩阵相乘要做ijk次乘法
            图的遍历:置指针
    5.输入规模:输入串编码的长度
        例如:
            排序:数组中元素个数n,
            检索:被检索数组的元素个数n
            整数乘法:两个整数的位数m,n
    注意
                1.算法基本运算次数可用**输入规模函数**来表示
                2.给定问题和基本运算就决定了一个算法类
    6.算法两种时间复杂度:
        1):最坏时间复杂度W(n)
            算法求解输入规模为n的实例所需要的最长的时间
        2):平均时间复杂度A(n)
            在给定同输入样规模为n的输入实例的概率分布下,算法求解这些实例所需要的平均时间
            计算公式:

              
三、算法设计的步骤:
    怎么去设计,设计的原则?
        后期加入 通过学习双越的设计模式来总结
    1.数学建模
        1)需要给出以下几个数学表达式
            输入集合
            优化目标函数
            输出集合(问题的解)
            约束条件
    2.选择适合算法,进行计算问题
    3.测试算法给出的解是否为最优解,若不是怎么找出最优解?
    4.评估算法的性能
        1)可以使用算法的时间复杂度,平均复杂和最坏复杂度
        2)平均复杂度需要一个实例的出现的概率,平均复杂度的计算公式:f(n) =
            举个例子:例如排序算法
        3)最坏复杂度的计算公式:
            举个例子:可以通过算法类的本质来评估
                排序算法,这类算法大部分是通过比较两个元素来进行排序的,所以我们可以通过以下例子来评估算法的最坏复杂度

四、伪代码

     <-      赋值语句
     if  do then do      判断语句
     else      然后
     where  do 循环语句
     for i<-1 to 10 do 循环语句
     and 并且
     or 或者
     return 输出语句
     调用直接写过程名字
     注释://

 

转载地址:http://jxobi.baihongyu.com/

你可能感兴趣的文章
在CentOS 7系统上搭建LNMP 环境
查看>>
Centos 7(Linux)环境下安装PHP(编译添加)相应动态扩展模块so(以openssl.so为例)
查看>>
fastcgi_param 详解
查看>>
Nginx配置文件(nginx.conf)配置详解
查看>>
nginx的location配置详解
查看>>
Nginx配置多个项目使用同一端口号的办法
查看>>
Linux下用户组、文件权限详解
查看>>
GitHub与Git指令入门
查看>>
Laravel如何引用第三方(自定义)库
查看>>
Windows 7 下安装sqlite数据库
查看>>
sqlite中一些常用的命令及解释
查看>>
数据库SQL优化大总结之 百万级数据库优化方案
查看>>
Windows下安装MySQL解压缩版
查看>>
企业级监控管理平台建设密谈
查看>>
新基建
查看>>
Google SRE Four Golden Signals
查看>>
统一智能运维管理平台
查看>>
任正非告别荣耀讲话—-陌生的感动
查看>>
什么是POC
查看>>
标记一下
查看>>