【趣学算法】第一章读书笔记

news2024/12/21 8:04:33

14天阅读挑战赛
*努力是为了不平庸~
算法学习有些时候是枯燥的,这一次,让我们先人一步,趣学算法!

文章目录

  • 1.1打开算法之门
  • 1.2 妙不可言——算法复杂性
    • 算法的特性
    • 好算法的标准
    • 时间复杂度和空间复杂度
      • 时间复杂度
      • 空间复杂度
      • 宕机
  • 1.4算法设计
  • 总结

1.1打开算法之门

瑞士著名的科学家Niklaus Wirth教授曾提出:数据结构+算法=程序
数据结构是程序的骨架,算法是程序的灵魂。

1.2 妙不可言——算法复杂性

算法是对特定问题求解步骤的一种描述。它不依赖于任何一种语言,既可以用自然语言、程序设计语言描述,也可以用流程图、框图来表示。

算法的特性

  1. 有穷性:算法是由若干条指令组成的有穷序列,总是在执行若干次后结束,不可能永不停止。
  2. 确定性:每条语句都有确定的含义、无歧义。
  3. 可行性:算法在当前环境条件下可以通过有限次运算来实现。
  4. 输入/输出:有零个或多个输入以及一个或多个输出。

好算法的标准

高效率、低存储

  1. 正确性:算法能够满足具体问题的需求,程序运行正常,无语法错误,能够通过典型的软件测试,达到预期。
  2. 易读性:算法遵循标识符命名规则,简洁易懂,注释语句恰当适量,方便自己和他人阅读,便于后期调试和修改。
  3. 健壮性:算法对非法数据及操作有较好的反应和处理。
  4. 高效性:算法运行效率高,即算法运行所消耗的时间短。
  5. 低存储性:算法所需的存储空间小。算法如果占用空间过大,则无法运行。

时间复杂度和空间复杂度

时间复杂度

算法的时间复杂度就是算法运行需要的时间。
在实际应用中,通常使用时间复杂度渐近上界O(f(n))来表示时间复杂度。
注意:不是所有算法都能直接计算运行次数。
最坏情况对衡量算法的好坏具有实际意义。
常见的算法时间复杂度有常数阶、多项式阶、指数阶、对数阶

空间复杂度

算法的空间复杂度就是算法占用的空间大小。
算法占用的存储空间包括:输入/输出数据、算法本身、额外需要的辅助空间。
算法在运行时所使用的辅助变量占用的空间(即辅助空间)才是衡量算法空间复杂度的关键因素。

宕机

宕机就是死机,指计算机无法正常工作,包括一切原因导致的死机。计算机主机出现意外故障而死机,一些服务器死锁,服务器的某些服务停止运行等,都可以称为宕机。
设计算法时,我们要注意算法复杂度增量的问题,尽量避免爆炸级增量。

1.4算法设计

算法设计完后,需要考虑的问题:

  • 算法是否正确?
  • 算法复杂度如何?
  • 算法能否改进?

总结

以上就是今天的学习啦~
咱们下期再见~
在这里插入图片描述

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

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

相关文章

62. 如何通过增强(Enhancement) 的方式给 SAP ABAP 标准程序增添新功能

文章目录 如何找到可以创建增强实现的增强点位置如何创建增强实现如何在 SE80 里找到增强实现本身如何调试 ABAP 增强实现总结ABAP 系统有比较完善的修改控制权限管控,比如笔者试图修改一个 SAP ABAP 系统里标准的函数,就会遇到如下的警告消息,然后修改的尝试会被阻止: You…

Winform和ASP.NET、Web API详解

Winform和ASP.NET、Web API 一、winform基础 1.1 基础学习 1、 winform应用程序是一种智能客户端技术,我们可以使用winform应用程序帮助我们获得信息或者传输信息等。 2、属性 Name:在后台要获得前台的控件对象,需要使用Name属性。 visible:指示一…

认识运营商机房

文章目录走线设备机房走线数据机房走线传输机房列头柜【供电】网络架构ONU设备OLT设备汇聚层交换机BARS设备核心路由器运营商网络架构【必看】铁塔基站核心机房ODF:光纤配线架MME光纤SGWPGWHSS交换机拓扑核心机房拓扑接入层基站(BaseStation)…

山西大同大学技术会,大同大学的家!

大家好,我是康来个程,山西大同大学技术会的创建者。 低谷时代 近几年校内的竞赛氛围越来越浓厚,随着自身参与并了解的赛事越来越多,随之而来的也是发现了我们学校竞赛方面的问题。疫情原因,我们的比赛取消的取消&…

Gitee在大数据中心的使用

在本地主机或者可以VSCode直接连接可视化的服务器上 1. 首先在gitee新建一个带有develop分支的仓库 2. 在自己的主机(e.g., server 1~3)上git clone下来,例如 git clone gitgitee.com:PeterBishop0/TransT-based.git 3. 切换成develop分支&…

深度学习入门(十) 模型选择、过拟合和欠拟合

深度学习入门(十) 模型选择、过拟合和欠拟合前言模型选择例子:预测谁会偿还贷款?训练误差和泛化误差验证数据集和测试数据集K-则交叉验证总结过拟合和欠拟合模型容量模型容量的影响估计模型容量VC维线性分类器的VC维VC维的用处数据…

[云原生之k8s] Kubernetes原理

引言 单机容器编排:docker-compose 容器集群编排:docker swarm、mesosmarathon、kubernetes 应用编排:ansible 一、Kubernetes是什么? Kubernetes的缩写为:K8S,这个缩写是因为k和s之间有八个字符的关系…

线段树模板

好文分享:【数据结构】线段树(Segment Tree) - 小仙女本仙 - 博客园 线段树和树状数组的基本功能都是在某一满足结合律的操作(比如加法,乘法,最大值,最小值)下,O(logn)的时间复杂度内修改单个元…

Python回归预测建模实战-支持向量机预测房价(附源码和实现效果)

机器学习在预测方面的应用,根据预测值变量的类型可以分为分类问题(预测值是离散型)和回归问题(预测值是连续型),前面我们介绍了机器学习建模处理了分类问题(具体见之前的文章)&#…

x86 --- 任务隔离特权级保护

程序是记录在载体上的数据和指令。 程序正在执行时的一个副本叫做任务 所有段描述符都放在GDT --> 不做区分。 内核程序(任务)所占段在GDT中,用户程序(任务)所占段在LDT中 --> 做区分。 每个任务都有自己独立的…

【无标题】

第1章 概述 本章主要内容: 互联网的概念(标准化)、组成、发展历程;电路交换的基本概念、分组交换的原理;计算机网络的分类、性能指标及两种体系结构。 重点掌握: 在计算机网络分层模型中,网…

7、GC日志详解

目录如何分析GC日志参数配置程序运行GC日志打印解析GC日志数据分析指定其他垃圾收集器CMSG1GC分析工具JVM参数汇总查看命令如何分析GC日志 参数配置 对于java应用我们可以通过一些配置把程序运行过程中的gc日志全部打印出来,然后分析gc日志得到关键性指标&#xff…

目标检测算法——遥感影像数据集资源汇总(附下载链接)

关注”PandaCVer“公众号 深度学习资料,第一时间送达 目录 一、用于 2-5 分类问题 1.UCAS-AOD 遥感影像数据集 2.Inria Aerial Image Labeling Dataset 3.RSOD-Dataset 物体检测数据集 二、用于 5-10 分类问题 1.RSSCN7 DataSet 遥感图像数据集 2.NWPU…

孙宇晨接受韩国媒体专访:熊市受宏观经济的不确定性影响

10月27日至10月29日,韩国釜山备受关注的大型区块链活动 2022 釜山区块链周(BWB 2022)在釜山会展中心(BEXCO)举行。韩国区块链媒体TokenPost 对出席活动的波场TRON创始人孙宇晨进行了专访。10月28日,该媒体发…

Nginx快速入门部署前端项目

目录 一,Nginx简介 1.1 负载均衡 演示 1.1.2 安装nginx 再复制一份一样的tomcat并修改端口号 打开两个tomcat的服务 打开防火墙中的8081端口 修改Nginx配置 重启Nginx服务,让配置生效 1.2 反向代理 Nginx项目部署 1.确保前端项目能用 2.将前台项目…

看过来,Windows 11 Insider Preview 25231.1000推送啦!

微软于近日凌晨发布新的Windows 11内部预览版系统,版本号为25231.1000,该系统对平板任务栏体验进行了改进,修复了系统托盘、设置等问题。下面一起来看看完整的更新内容。 更新日志 TL;速度三角形定位法(dead reckoning…

【ASM】字节码操作 转换已有的类 清空方法体

1.概述 在文章:【ASM】字节码操作 转换已有的类 移除Instruction 移除NOP 中我们学会了如何移除NOP。 本章我们将学习如何清空方法体。 1.1 如何清空方法体 在有些情况下,我们可能想清空整个方法体的内容,那该怎么做呢?其实,有两个思路。 ●第一种思路,就是将instructi…

Spring中事务的传播机制以及REQUIRED、REQUIRES_NEW、NESTED区别以及代码演示

​📒个人主页:热爱生活的李📒 ​❤️感谢大家阅读本文,同时欢迎访问本人主页查看更多文章​❤️ 🙏本人也在学习阶段,如若发现问题,请告知,非常感谢🙏 事务隔离级别demo理…

[计算机网络]第一章 概述 -- 1.1 计算机网络在信息时代中的作用 1.2 互联网概述

文章目录1.1 计算机网络在信息时代中的作用1.2 互联网概述1.2.1 网络的网络1.2.2 互联网基础结构发展的三个阶段第一阶段第二阶段第三阶段1.2.3 互联网标准化工作1.1 计算机网络在信息时代中的作用 21世纪是以网络为核心的信息时代,21世纪的重要重要特征&#xff1a…

小侃设计模式(二)-单例模式

1.概述 设计模式在粒度和抽象层次上各不相同,因此从不同的角度,分类形式也不同,目前存在两种较为经典的划分方式,即根据模式作用的范围、模式的目的来划分。根据模式主要是用于类还是用于对象,可将其划分为类模式和对…