码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 数据结构之算法


    算法

    是规则的有限集合,是为解决特定问题而规定的一系列操作。
    不是程序,优于程序。

    算法的特征

    有限性、确定性、可行性、输入特性、输出特性

    ① 有限性

    有限步骤、有限时间、非死循环

    ② 确定性

    每个步骤确定、无二义性
    例如:继承父母双亲某一方法

    ③ 可行性

    精确进行、有限次可实现
    例如:0.1+0.000000000001=?
    例如:32767+1=?

    ④ 有多个或0个输入

    0个输入实质隐含基础输入

    ⑤ 至少有一个或多个输出

    算法设计的要求

    正确、可读、健壮、高效、低耗

    (1) 正确性:满足要求的算法

    算法正确的三个层次:
    ① 几组输入,结果满足
    ② 典型、苛刻输入亦满足
    ③ 一切合法输入均满足
    衡量标准:第二层
    举例3:求n个数最大值,下列算法正确性如何?
    max=0;
    for (i=1; i<=n; i++)
    {
    scanf(“%f”,&x);
    if(max<x) max=x;
    }

    (2) 可读性

    清晰第一,效率第二;注释必不可少

    (3) 健壮性(鲁棒性)

    对非法输入的抵抗能力

    (4) 高效率、低存储量

    高效率:算法执行时间短
    低存储量:算法执行过程中所需要的最大存储空间小

  • 相关阅读:
    数据结构--选择排序
    什么是云原生的应用?
    Spring容器启动流程
    三、支付宝支付对接 - 申请、配置、签约、获取RSkey(1)
    .NET数据交互之生成和读取YAML文件
    设计模式 -- 中介者模式(17)
    计算机的发展史以及未来 App和Cloud这10年发展很快,被忽略的硬性的螺旋上升 QCon 大会2022
    【photoshop学习】用 Photoshop 做的 15 件创意事
    字节跳动多媒体实验室联合 ISCAS 举办第二届神经网络视频编码竞赛
    最新AI创作系统+ChatGPT商业运营源码+支持GPT4.0+支持国内AI模型/支持AI绘画
  • 原文地址:https://blog.csdn.net/weixin_45962068/article/details/125011965
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号