【笔记】【算法设计与分析 - 北航童咏昕教授】绪论

算法设计与分析 - 北航童咏昕教授


文章目录

    • 算法的定义
      • 定义
      • 性质
    • 算法的表示
      • 自然语言
      • 编程语言
      • 伪代码
    • 算法的分析
      • 算法分析的原则
      • 渐近分析

算法的定义

定义

给定计算问题,算法是一系列良定义的计算步骤,逐一执行计算步骤即可得预期的输出。

在这里插入图片描述

性质

  • 有穷性
  • 确定性
  • 可行性
    在这里插入图片描述

算法的表示

自然语言

  • 方法优势
    • 贴近人类思维,易于理解主旨
  • 不便之处
    • 语言描述繁琐,容易产生歧义
    • 使用了“…”等不严谨的描述

编程语言

  • 方法优势
    • 精准表达逻辑,规避表述歧义
  • 不便之处
    • 不同编程语言间语法存在差异
    • 过于关注算法实现的细枝末节

伪代码

  • 非正式语言
    • 移植编程语言书写形式作为基础和框架
    • 按照接近自然语言的形式表达算法过程
  • 兼顾自然语言与编程语言优势
    • 简洁表达算法本质,不拘泥于实现细节
    • 准确反映算法过程,不产生矛盾和歧义

算法的分析

算法分析的原则

输入情况情况说明
最好情况不常出现,不具普遍性
最坏情况确定上界,更具一般性
一般情况情况复杂,分析难度大

渐近分析

  • 𝑻(𝒏) = 𝚯(𝒈(𝒏)) 渐近紧确界
  • 𝑻(𝒏) = 𝑷(𝒈(𝒏)) 渐近上界
  • 𝑻(𝒏) = 𝛀(𝒈(𝒏)) 渐近下界

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/693280.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用RK3588开发板使用scp指令互传-windows与开发板互传

MobaXterm 软件网盘下载路径:“iTOP-3588 开发板\02_【iTOP-RK3588 开发板】开发资 料\04_iTOP-3588 开发板所需 PC 软件(工具)\02-MobaXterm”。 打开 MobaXterm 创建一个 Shell 会话,如下图所示: 设置完成进入终端…

5G——物理层仿真

1.前置条件 2.仿真流程 1.填写搜索过程 解: 2.填写每一步细节 2.2.1 准备 解: (1)BCH (2)BCCH 解析:因为PBCH是物理广播信道,BCCH是用于广播系统控制信息的下行信道&#…

Facebook元宇宙探索:虚拟社交的新时代

在数字化时代的浪潮中,人类社交的模式和形式正在经历着翻天覆地的变化。而当下,Facebook作为全球最大的社交媒体平台之一,正积极探索着元宇宙的未来。元宇宙被认为是虚拟世界的下一步进化,它将重新定义人们的社交方式、娱乐体验以…

【Python】OpenCV-图片添加水印处理

图片添加水印处理 1. 引言 图像处理中的水印添加是一种常见的操作,用于在图片上叠加一些信息或标识。本文将介绍如何使用OpenCV库在图片上添加水印,并通过详细的代码注释来解释每一步的操作。 2. 代码示例 以下是一个使用OpenCV库的简单代码示例&…

Spring6学习技术|IoC+基于xml管理bean

学习材料 尚硅谷Spring零基础入门到进阶,一套搞定spring6全套视频教程(源码级讲解) IoC 控制反转。是一种设计思想。 1.获取bean对象的方法 通过id,通过class,和双重方式。 ApplicationContext context new Cla…

Unity2023.1.19_ShaderGraph节点说明以及使用技巧

Unity2023.1.19_ShaderGraph节点说明以及使用技巧 目录 Unity2023.1.19_ShaderGraph节点说明以及使用技巧 1. 快捷键CtrlG完成和UE蓝图使用快捷键C一样的蓝图分组注释效果: 2. Tiling And Offset: 3. 以下是两组URP材质渲染的效果对比: 4…

Vue 全组件 局部组件

一、组件定义和使用 1、全局组件 定义 <template> <div> <h1>This is a global component</h1> </div> </template> <script lang"ts"> </script> <style></style> 导入 全局组件在main.ts&#xff…

【C语言必刷题】5.判断闰年

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更新的动力❤️ &#x1f64f;小杨水平有…

智慧公厕是什么?智慧公厕对智慧城市的意义

城市的信息化发展需要催化了智慧城市&#xff0c;公共厕所作为城市的重要民生设施&#xff0c;如何实现更高阶的信息化建设&#xff0c;成为一个重要课题。那么&#xff0c;智慧公厕是什么&#xff1f;为什么它对智慧城市的建设如此重要&#xff1f;本文以智慧公厕源头厂家广州…

QT编写工具基本流程(自用)

以后有人让你写工具的时候&#xff0c;可以方便用这个模版及时提高工作效率&#xff0c;可以争取早点下班。包含库目录&#xff0c;头文件目录&#xff0c;输出目录以及翻译和部署&#xff0c;基本上都全了&#xff0c;也可以做收藏用用。 文章目录 1、创建项目Dialog Widget都…

PNPM 批量检查和更新项目依赖

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…

18个惊艳的可视化大屏(第三辑),各行业都有。

2023-04-28 22:35贝格前端工场 本次分享第二辑&#xff0c;请大家慢慢欣赏。

C语言:数组指针 函数指针

C语言&#xff1a;数组指针 & 函数指针 数组指针数组名 数组访问二维数组 函数指针函数指针使用回调函数 typedef关键字 数组指针 数组本质上也是一个变量&#xff0c;那么数组也有自己的地址&#xff0c;指向整个数组的指针&#xff0c;就叫做数组指针。 我先为大家展示…

041-WEB攻防-ASP应用HTTP.SYS短文件文件解析Access注入数据库泄漏

041-WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏 #知识点&#xff1a; 1、ASP-SQL注入-Access数据库 2、ASP-默认安装-数据库泄漏下载 3、ASP-IIS-CVE&短文件&解析&写入 演示案例&#xff1a; ➢ASP-默认安装-MDB数据库泄…

如何压缩pdf文件大小?3个有效的解决方法分享

如何压缩pdf文件大小&#xff1f;在办公中&#xff0c;PDF文件大小的压缩不仅有助于节省存储空间&#xff0c;使得大量的PDF文件可以更为高效地存储在有限的硬盘或云端空间中&#xff0c;还能显著加快文件在网络中的传输速度&#xff0c;特别是在处理大型或批量PDF文件时&#…

EXCEL使用VBA一键批量转换成PDF

EXCEL使用VBA一键批量转换成PDF 上图是给定转换路径 Sub 按钮1_Click() Dim a(1 To 1000) As String Dim a2 As String Dim myfile As String Dim wb As Workbook a2 Trim(Range("a2"))myfile Dir(a2 & "\" & "*.xls")k 0Do While m…

springcloud-网关(gateway)

springcloud-网关(gateway) 概述 \Spring Cloud Gateway旨在提供一种简单而有效的方式来路由到API&#xff0c;并为其提供跨领域的关注&#xff0c;如&#xff1a;安全、监控/指标和容错 常用术语 Route&#xff08;路由&#xff09;: 网关的基本构件。它由一个ID、一个目的地…

Lightfm学习记录

推荐参考资料 官方文档仓库地址论文地址LightFM推荐系统框架学习笔记LightFM推荐模型库(利于入门)how-i-would-explain-building-lightfm-hybrid-recommenders-to-a-5-year-old(用处不大)协同推荐 lightfm 根据用户已读诗词推荐(可能有用)Recommendation System in Python: L…

C#开发AGV地图编辑软件

C#自己开发AGV地图编辑软件&#xff1a; 1、自由添加和删除站点、停车位、小车、运行路径。 2、编辑得地图以XML文件保存。 3、导入编辑好地图的XML文件。 4、程序都是源码&#xff0c;可以直接在此基础上进行二次开发。 下载链接&#xff1a;https://download.csdn.net/d…

隐匿的炸弹 — C语言的隐式声明

前言 &#xff08;1&#xff09;如果有嵌入式企业需要招聘湖南区域日常实习生&#xff0c;任何区域的暑假Linux驱动实习岗位&#xff0c;可C站直接私聊&#xff0c;或者邮件&#xff1a;zhangyixu02gmail.com&#xff0c;此消息至2025年1月1日前均有效 &#xff08;2&#xff0…