首页 > 其他分享 >DSA概述

DSA概述

时间:2022-08-24 14:56:19浏览次数:82  
标签:正确处理 算法 概述 基本操作 度量 输入 DSA

DSA:DataStructure + Algorithm

课程

清华大学邓俊辉数据结构与算法

https://dsa.cs.tsinghua.edu.cn/~deng/ds/dsacpp/

概论

  1. 什么是计算
  2. 评判DSA优劣的参照(直尺)
  3. 度量DSA性能的尺度(刻度)
  4. DSA性能度量的方法
  5. DSA的设计及其优化

计算

算法

特定计算模型下,旨在解决特定问题的指令序列

  • 输入:待处理的信息 (问题)
  • 输出:经处理的信息 (答案)
  • 正确性:的确可以解决指定的问题
  • 确定性:任一算法都可以描述为一个由基本操作组成的序列
  • 可行性:每一基本操作都可实现,且在常数时间内完成

程序未必是算法,如还为证明Hailstone的有穷性

好算法

  • 正确
    • 符合语法,能够编译、链接
    • 能够正确处理简单的输入
    • 能够正确处理大规模的输入
    • 能够正确处理一般性的输入
    • 能够正确处理退化的输入
    • 能够正确处理任意合法的输入
  • 健壮:能辨别不合法的输入并做适当处理,而不致非正常退出
  • 可读:结构化+准确命名+注释+...
  • 效率(课程重点):速度尽可能快;存偷空间尽可能少

度量

  • 正确性:算法功能与问题要求一致?数学证明?可不那么简单...

  • 成本:运行时间+所需存储空间 如何度量?如何比较?

稳妥起见,在规模同为n的所有实例中,只关注最坏(成本最高)者

图灵机模型

RAM模型

基本操作的次数–>计算时间

分支转向的原理是goto

bigO、bigΩ、bigΘ

至今没有找到多项式时间算法解的一类问题,称之为NP类问题

动态规划

标签:正确处理,算法,概述,基本操作,度量,输入,DSA
From: https://www.cnblogs.com/BF3WKD/p/16619913.html

相关文章

  • MySQL学习(1)---MySQL概述
    什么是数据库概述数据库(Database)是长期存储在计算机内有组织、大量、共享的数据集合。它可以供各种用户共享,具有最小冗余度和较高的数据独立性。数据库管理系统DBMS(Da......
  • Stream流-流式思想概述和获取流
    流式思想概述整体来看,流式思想类似于工厂车间的“生产流水线”。  当需要对多个元素进行操作(特别是多步操作)的时候,考虑到性能及便利性,我们应该首先拼好一个“模型”......
  • maven概述和maven依赖管理的概念
    maven概述什么是MavenApacheMaven是一个软件工程管理和整合工具。Maven是一个采用纯Java编写(跨平台)的开源项目管理工具,Maven采用了一种被称之为对象模型(POM:Pro......
  • maven概述以及maven依赖管理的概念和一键构建理念
    Maven概述Maven是一个项目管理工具,它包含了一个项目对象模型(POM:ProjectObjectModel),一组标准集合,一个项目生命周期(ProjectLifeCycle),一个依赖管理系统(Dependencyma......
  • day-01-项目概述及环境搭建
    1、什么是SaaS平台,它有什么特点?SaaS平台:供应商将应用软件统一部署在自己的服务器上,客户可以根据工作实际需求,通过互联网向厂商订购所需的应用软件服务,按照订购服务的多少......
  • redis的概述以及redis的下载与安装
    redis的概述概念:redis是一款高性能的NOSQL系列的非关系型数据库关系型数据库:1、数据之间有关联关系2、数据存储在硬盘文件中非关系型数据库:1、数据......
  • redis概述和redis下载安装
    redis概述1.概念:redis是一款高性能的NOSQL系列的非关系型数据库1.1.什么是NOSQLNoSQL(NoSQL=NotOnlySQL),意即“不仅仅是SQL”,是一项全新的数据库理念,......
  • Java概述
    从项目到代码找工作前的整个学习体系(学会这些东西去解决问题,不单单去学这些东西)JavaSE知识图Java语言跨平台原理Java语言特点完全面向对象:Java支持封装,继承,多态,面......
  • SIC 模块FF08MR12W1MA1B11ABPSA1 150A 1200V /FF08MR12W1MA1B11概述
    概述FF08MR12W1MA1B111200VCoolSiC™模块是碳化硅(SiC)MOSFET模块,具有较高的效率和系统灵活性。这些模块采用近阈值电路(NTC)和PressFIT触点技术。该款CoolSiC模块具......
  • FTCL:Fine-grained Temporal Contrastive Learning for Weakly-supervised Temporal Ac
    1.针对的问题现有的方法主要遵循于通过优化视频级分类目标来实现定位的方式,这些方法大多忽略了视频之间丰富的时序对比关系,因此在分类学习和分类-定位自适应的过程中......