美文网首页
简单的介绍算法

简单的介绍算法

作者: 丿ZLoveT | 来源:发表于2020-02-06 14:18 被阅读0次

算法的概念:

    所有交给计算机的任务和计划,在完成之前的一系列的计算和流程都属于算法。

算法的特性:

    1、有穷性:执行有限个操作后终止;

    2、稳定性:算法中每一步的含义必须是明确的,不存在二义性;

    3、有效性:算法中每一步操作必须能有效执行,不能执行的操作是无效的;

    4、有零个或者是多个输入:执行算法时,从外界获的必要的信息;

    5、有一个或者是多个输出:算法的姐(结果)就是输出。

如何评价算法好坏:

    1、时间复杂度:

        重复操作的步骤数,用函数来表示显示为T(n)=O(f(n))。需要说明的是,时间复杂度计算的不是执行的总用时,而是算法执行的次数。

        计算方法

        ①选取相对增长最高的项

        ②最高项系数是都化为1

        ③若是常数的话用O(1)表示

        如f(n)=2*n^3+2n+100则O(n)=n^3。

        如    for( int i = 0 ; i < n ; i ++ ) { 

                 for ( int j = 0 ; j < m ; j ++ ) ){

                            ...

                }

        }  此时的复杂度 T(n) = O ( n * m);

    2、空间复杂度:

       空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度,函数关系式表示为:S(n)=O(f(n);

    参照时间复杂度,这个空间复杂度其实大致差不多,它介绍的其实还是一个空间的占用趋势,不是实际占用的空间数。

3、检查算法的五个要素:

    ①正确性、合法的输入数据都能得到满足要求的答案。

    ②可读性:算法应该易于阅读和理解。

    ③健壮性:当输入数据非法时,能作出反应进行相应的处理。

    高效和低存储空间:对于同等规模的问题,执行的时间少,占用空间少。      

相关文章

  • 简单的介绍算法

    算法的概念: 所有交给计算机的任务和计划,在完成之前的一系列的计算和流程都属于算法。 算法的特性: 1、有穷性...

  • 模拟退火算法

    爬山算法(HillClimbing) 介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次...

  • KMP算法心得

    在介绍kmp算法之前,我想先简单介绍一下Brute-Force算法,这是一个回溯的字符串模式匹配算法,是一个简单暴...

  • 免疫算法简单介绍

    免疫算法的基本步骤: 抗原识别。输入目标函数和各种约束作为免疫算法的抗原。 初始抗体生成。随机生成初始抗体种群。 ...

  • GraphX Label Propagation算法改进

    label propagation算法介绍 标签传播算法(label propagation)的核心思想非常简单:...

  • 几种常见的加密算法及 Java 实现

    介绍 本文主要对加密算法做个概况性的介绍,然后给出几种简单的加密算法 Java 实现。 1. 算法种类 单向加密 ...

  • 推荐系统遇上深度学习(十三)--linUCB方法浅析及实现

    上一篇中介绍了Bandit算法,并介绍了几种简单的实现,如 Epsilon-Greedy算法,Thompson s...

  • 我们一起玩AI(1)—— k近邻算法与电影分类

    5秒导读:本文将介绍最简单的机器学习算法——K近邻算法,以及如何应用k近邻算法完成分类任务。并介绍新开大坑《我们一...

  • 算法导论笔记

    1.1 简单介绍何为算法,它能解决什么样的问题,介绍NP完全问题。 1.2 比较算法复杂度 2.1 Insert ...

  • 排序算法--冒泡排序

    一 、算法介绍 (1)算法概述 排序算法有很多,其中最简单直接的就是冒泡啦。冒泡排序(Bubble Sort)是一...

网友评论

      本文标题:简单的介绍算法

      本文链接:https://www.haomeiwen.com/subject/pooyxhtx.html