当前位置: 首页 > news >正文

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

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


文章目录

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

算法的定义

定义

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

在这里插入图片描述

性质

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

算法的表示

自然语言

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

编程语言

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

伪代码

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

算法的分析

算法分析的原则

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

渐近分析

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

相关文章:

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

算法设计与分析 - 北航童咏昕教授 文章目录 算法的定义定义性质 算法的表示自然语言编程语言伪代码 算法的分析算法分析的原则渐近分析 算法的定义 定义 给定计算问题,算法是一系列良定义的计算步骤,逐一执行计算步骤即可得预期的输出。 性质 有穷性确…...

大语言模型LLM中Transformer模型的调用过程与步骤

在LLM(Language Model)中,Transformer是一种用来处理自然语言任务的模型架构。下面是Transformer模型中的调用过程和步骤的简要介绍: 数据预处理:将原始文本转换为模型可以理解的数字形式。这通常包括分词、编码和填充…...

mysql connect unblock with mysqladmin flush-hosts

原因 同一个ip在短时间内产生太多(超过max_connect_errors的最大值)中断的数据库连接而导致的阻塞。 查看 max_connect_errors show variables like max_connect_errors; 解决 前提:需要换一个IP地址连接 方法一 增大 max_connect_err…...

每日一练:前端js实现算法之两数之和

方法一&#xff1a;暴力法 function twoSum(nums, target) {for (let i 0; i < nums.length; i) {for (let j i 1; j < nums.length; j) {if (nums[i] nums[j] target) {return [i, j];}}}return null; }方法二&#xff1a;哈希表 function twoSum(nums, target) …...

17.隐式参数的定义和使用

目录 概述实践代码执行 结束 概述 实践 代码 package com.fun.scalaobject ImplicitParamsApp {def main(args: Array[String]): Unit {say("天下")implicit val word "spark"// 多个报错 // implicit val word2 "flink"implicit val con…...

简单介绍一下WebRTC中NACK机制

WebRTC中的NACK&#xff08;Negative Acknowledgement&#xff09;是一种用于实时通信的网络协议&#xff0c;用于在传输过程中检测和纠正丢包。当接收方检测到数据包丢失时&#xff0c;它会发送一个NACK消息给发送方&#xff0c;请求重新发送丢失的数据包。 NACK的工作原理如…...

05 Flink 的 WordCount

前言 本文对应于 spark 系列的 Spark 的 WordCount 这里主要是 从宏观上面来看一下 flink 这边的几个角色, 以及其调度的整个流程 一个宏观 大局上的任务的处理, 执行 基于 一个本地的 flink 集群 测试用例 /*** com.hx.test.Test01WordCount** author Jerry.X.He* ver…...

2024云服务器ECS_云主机_服务器托管_e实例-阿里云

阿里云服务器ECS英文全程Elastic Compute Service&#xff0c;云服务器ECS是一种安全可靠、弹性可伸缩的云计算服务&#xff0c;阿里云提供多种云服务器ECS实例规格&#xff0c;如ECS经济型e实例、通用算力型u1、ECS计算型c7、通用型g7、GPU实例等&#xff0c;阿里云服务器网al…...

掌握这8大工具,自媒体ai写作之路畅通无阻! #经验分享#科技#媒体

这些宝藏AI 写作神器&#xff0c;我不允许你还不知道~国内外免费付费都有&#xff0c;还有AI写作小程序分享&#xff0c;大幅度提高写文章、写报告的效率&#xff0c;快来一起试试吧&#xff01; 1.元芳写作 这是一个微信公众号 面向专业写作领域的ai写作工具&#xff0c;写作…...

CTFHub技能树web之文件上传(一)

一.前置知识 文件上传漏洞&#xff1a;文件上传功能是许多Web应用程序的常见功能之一&#xff0c;但在实施不当的情况下&#xff0c;可能会导致安全漏洞。文件上传漏洞的出现可能会使攻击者能够上传恶意文件&#xff0c;执行远程代码&#xff0c;绕过访问控制等。 文件类型验证…...

蔚来面试解答

你的问题包含了多个方面&#xff0c;我会尽力逐一回答&#xff1a; 锁机制及锁膨胀过程&#xff1a; 锁机制是并发编程中用于控制多线程对共享资源访问的一种机制&#xff0c;以避免资源冲突导致的数据不一致问题。锁膨胀是指锁在运行时根据竞争情况可以升级的过程&#xff0c;…...

Springboot 中使用 Redisson+AOP+自定义注解 实现访问限流与黑名单拦截

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Java全栈-专栏 &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&…...

Java使用企业邮箱发送预警邮件

前言&#xff1a;最近接到一个需求&#xff0c;需要根据所监控设备的信息&#xff0c;在出现问题时发送企业微信进行预警。 POM依赖 <!-- 邮件 --> <dependency><groupId>com.sun.mail</groupId><artifactId>jakarta.mail</artifactId>…...

Unity编辑器扩展之是否勾选Text组件BestFit选项工具(此篇教程也可以操作其他组件的属性)

想要批量化是否勾选项目预制体资源中Text组件BestFit属性&#xff08;此篇教程也可以操作其他组件的属性&#xff0c;只不过需要修改其中对应的代码&#xff09;&#xff0c;可以采用以下步骤。 1、在项目的Editor文件中&#xff0c;新建一个名为TextBestFitBatchProcessor的…...

分布式场景怎么Join | 京东云技术团队

背景 最近在阅读查询优化器的论文&#xff0c;发现System R中对于Join操作的定义一般分为了两种&#xff0c;即嵌套循环、排序-合并联接。在原文中&#xff0c;更倾向使用排序-合并联接逻辑。 考虑到我的领域是在处理分库分表或者其他的分区模式&#xff0c;这让我开始不由得…...

24-k8s的附件组件-Metrics-server组件与hpa资源pod水平伸缩

一、概述 Metrics-Server组件目的&#xff1a;获取集群中pod、节点等负载信息&#xff1b; hpa资源目的&#xff1a;通过metrics-server获取的pod负载信息&#xff0c;自动伸缩创建pod&#xff1b; 参考链接&#xff1a; 资源指标管道 | Kubernetes https://github.com/kuberne…...

Spring RabbitMQ 配置多个虚拟主机(vhost)

文章目录 前言一、相关文章二、相关代码1.yml文件配置2.RabbitMq配置类3.接收MQ消息前言 在日常开发中,同时需要用到RabbitMQ多个虚拟机(vhost)。应用场景:需要接收多个交换机的数据,而交换机都在不同的虚拟机(vhost) 一、相关文章 Docker安装RabbitMQ 【SpringCloud…...

「Qt Widget中文示例指南」如何实现文档查看器?(一)

Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写&#xff0c;所有平台无差别运行&#xff0c;更提供了几乎所有开发过程中需要用到的工具。如今&#xff0c;Qt已被运用于超过70个行业、数千家企业&#xff0c;支持数百万设备及应用。 文档查看器是一个显…...

如何创建WordPress付款表单(简单方法)

您是否正在寻找一种简单的方法来创建付款功能WordPress表单&#xff1f; 小企业主通常需要创建一种简单的方法来在其网站上接受付款&#xff0c;而无需设置复杂的购物车。简单的付款表格使您可以轻松接受自定义付款金额、设置定期付款并收集自定义详细信息。 在本文中&#x…...

虹科方案 | 释放总线潜力:汽车总线离线模拟解决方案

来源&#xff1a;虹科汽车智能互联 虹科方案 | 释放总线潜力&#xff1a;汽车总线离线模拟解决方案 原文链接&#xff1a;https://mp.weixin.qq.com/s/KGv2ZOuQMLIXlOiivvY6aQ 欢迎关注虹科&#xff0c;为您提供最新资讯&#xff01; #汽车总线 #ECU #汽车网关 导读 传统的…...

零基础玩转OpenClaw:Qwen3-14B镜像云端体验指南

零基础玩转OpenClaw&#xff1a;Qwen3-14B镜像云端体验指南 1. 为什么选择云端体验OpenClaw&#xff1f; 去年冬天&#xff0c;我第一次尝试在本地笔记本上部署OpenClaw时&#xff0c;经历了整整两天的环境配置噩梦。从CUDA版本冲突到Python依赖地狱&#xff0c;最后连显卡驱…...

Linux grep 命令的使用指南

Linux grep 命令全面使用指南一、基础搜索语法1. 基本文本搜索1234# 在文件中搜索指定字符串grep "search_pattern" file.txt# 示例&#xff1a;搜索包含"error"的行grep "error" /var/log/syslog2. 多文件搜索1234# 在多个文件中搜索grep "…...

鸣潮智能助手:提升游戏体验的AI解决方案

鸣潮智能助手&#xff1a;提升游戏体验的AI解决方案 【免费下载链接】ok-wuthering-waves 鸣潮 后台自动战斗 自动刷声骸 一键日常 Automation for Wuthering Waves 项目地址: https://gitcode.com/GitHub_Trending/ok/ok-wuthering-waves 您是否曾遇到这样的困扰&#…...

mPLUG模型隐私保护展示:本地化部署的数据安全优势

mPLUG模型隐私保护展示&#xff1a;本地化部署的数据安全优势 1. 数据安全新选择&#xff1a;本地化部署的价值 在当今数据驱动的时代&#xff0c;隐私保护已经成为企业和个人用户最关心的问题之一。传统的云端AI服务虽然方便&#xff0c;但用户数据需要上传到第三方服务器&a…...

免费开源字体 Source Sans 3 完整配置使用教程

免费开源字体 Source Sans 3 完整配置使用教程 【免费下载链接】source-sans Sans serif font family for user interface environments 项目地址: https://gitcode.com/gh_mirrors/so/source-sans Source Sans 3 是由 Adobe 开发的开源无衬线字体家族&#xff0c;专为现…...

告别复杂设置!这款开源IPTV播放器带来极简体验

告别复杂设置&#xff01;这款开源IPTV播放器带来极简体验 【免费下载链接】iptvnator :tv: Cross-platform IPTV player application with multiple features, such as support of m3u and m3u8 playlists, favorites, TV guide, TV archive/catchup and more. 项目地址: ht…...

MouseOverShapeBox

MouseOverShapeBox MouseOverShapeBox 源码详解 - 鼠标悬停高亮标注框 这是一个增强版图像标注控件&#xff0c;当鼠标移动到形状上时&#xff0c;会高亮显示该形状。类似于图片标注工具中鼠标悬停时边框变色的效果。&#x1f4c4; 文件头部&#xff08;版权信息&#xff09; /…...

AgentCPM-Report轻量化部署:Pixel Epic智识终端GPU显存优化方案

AgentCPM-Report轻量化部署&#xff1a;Pixel Epic智识终端GPU显存优化方案 1. 项目背景与核心价值 Pixel Epic智识终端是一款基于AgentCPM-Report大模型构建的创新研究辅助工具。它将枯燥的科研报告撰写过程转化为一场像素风格的RPG冒险&#xff0c;让用户在游戏化的交互体验…...

单片机通信协议详解:IIC、SPI、UART与CAN对比

1. 单片机通信协议概述在嵌入式系统开发中&#xff0c;单片机的通信能力直接影响着整个系统的架构设计和性能表现。作为一名有着十年嵌入式开发经验的工程师&#xff0c;我经常需要根据项目需求选择合适的通信协议。目前主流的单片机通信方式包括IIC、SPI、UART/USART、CAN等&a…...

工业冷水机控制程序西门子1200plc含压缩机,电子膨胀阀控制策略,饱和温度计算公式

工业冷水机控制程序西门子1200plc含压缩机&#xff0c;电子膨胀阀控制策略&#xff0c;饱和温度计算公式凌晨三点钟的冷水机组房&#xff0c;设备轰鸣声中闪烁着PLC运行指示灯。手指划过TP1200触摸屏的瞬间&#xff0c;压缩机启动电流曲线在屏幕上划出漂亮的爬坡轨迹——这就是…...