算法=程序+数据结构

同样的问题往往可以用多种算法来解决。(中学时代作文指导老师经常说:“答案是丰富多彩的”。很多生活中的事情都是这样的)

例如:求两个数的最大公约数:

(1)欧几里得算法:gcd(m,n)=gcd(n,m%n)当m%n==0时,”n“的值即是所求。

(2)连续整数检测算法:当一个输入为0时候,就会出错

  • 将min{m,n}赋值给t
  • m/t,如果余数为0,进入第三步,否则进入第四步
  • n/t,如果余数为0,则t就是所求,否则进入第四步
  • 将t-1,返回第二步

(3)中学时代的公共质因数算法

  • 找到m的所有质因数
  • 找到n的所有质因数
  • 找出m和n的所有公因式
  • 将公因式相乘即得所求。

如何求解质因数:

利用“埃拉托色筛选法”:

  • 初始化2~n的连续数列
  • 第i个循环中消去i的倍数
  • 直到序列中没有可消的元素为止,挣下的整数便是质数序列。

现在已经有许多改进版本的“埃拉托色筛选法”。这里便不再一一赘述了。

算法求解问题基础:

  • 对于给定的问题有完全的理解(考虑特殊情况;了解已有的算法的优缺点等)
  • 了解计算设备的性能(输入为海量数据;对于时间敏感的应用;...)
  • 在精确解法和近似解法中做出选择(有时近似算法可以作为精确算法的一部分)
  • 算法的设计技术(分治法;蛮力法;变治法;减治法;...)
  • 确定适当的数据结构
  • 对算法进行描述(文字,伪代码,流程图...)
  • 算法正确性的证明(数学归纳法;反向迭代法;近似算法的误差不超出预定义的范围即可)
  • 算法分析(时间复杂度;空间复杂度;简单性;一般性)
  • 为算法写代码(一个好的算法是不断修正的结果)

重要的问题类型

  • 排序(对键排序:稳定(各自先后顺序不变);在位(不占用额外的存储空间))
  • 查找(寻找查找键)
  • 字符串处理(字符串匹配等问题)
  • 图问题(遍历;最短路线;有向图的拓扑排序;旅行商;图填色问题等)
  • 组合问题
  • 几何问题(最近对问题;凸包文图等)
  • 数值问题(实数在计算机中只能近似表示,则近似数的大量计算可能使舍入的误差叠加,结果歪曲)

基本的数据结构

  • 线性数据结构:数组、链表、栈和队列...
  • 图(邻接矩阵;邻接链表)
  • 集合与字典

转载于:https://www.cnblogs.com/wongyi/p/7722205.html

算法知识点总结——算法分析基础相关推荐

  1. 算法设计与分析基础知识点

    前言:全文参考徐承志老师的PPT 适合期末复习,查缺补漏,有缺漏或错误欢迎指正,后面的第九章内容之后会继续补充. 目录 一.算法基础概念 二.算法分析基础 1.概念 2.算法设计的一般过程 3.时间复 ...

  2. 16 大常考算法知识点,你掌握了吗?

    2020 = 1024 + 996...对于程序员来说,2020年看起来可不怎么"友好"啊. 但是不管外部环境如何,提升自身内功都是每个职场人所必需的.在如今的环境下,想要换一份理 ...

  3. 【面试复习系列】常用机器学习算法知识点及其解析,面试官会考的几乎都有,欢迎补充

    图片慢慢上传,看不到图片的请点这里: 常用机器学习算法知识点及其解析,面试官会考的几乎都有 LR:logistic regression  对数几率回归/逻辑回归 sigmoid函数的作用就是用于把输 ...

  4. 【深度学习笔记】神经网络模型及经典算法知识点问答巩固(算法工程师面试笔试)

    文章目录 前言 一.前馈神经网络模型 1.请说说你对前馈神经网络中"前馈"二字的理解. 2.记忆和知识是存储在_____上的.我们通常是通过逐渐改变_____来学习新知识. 3.在 ...

  5. 学习笔记 | 数据结构和算法 知识点思维导图

    程序 = 数据结构 + 算法 一 数据结构知识点 01 队列和栈,需要了解它们的特点. 队列是先进先出,栈是后进先出. 02 表 表,包括很多种,有占用连续空间的数组.用指针链接的单向和双向链表,首尾 ...

  6. 计算机视觉-计算机视觉知识点整理1基础篇

    一.基础知识 1.1 BatchNorm/LayerNorm/InstanceNorm/GroupNorm 基础知识点 记忆点 备注 Batch Norm 达到的效果 BatchNorm就是在深度神经 ...

  7. 算法设计与分析基础知识

    一.算法设计基础 算法是(algorithm)是对特定问题求解步骤的一种描述,是指令的有限序列. 算法的五个特性: 输入:一个算法可以有零个或多个输入. 输出:一个算法有一个输出或多个输出. 有穷性( ...

  8. 数据结构和算法概述及算法分析

    一.数据结构和算法概述 B站学习视频 1.1首先我们为什么要学习数据结构? 数据结构和算法这门课程无论在哪个学校的计算机专业,都是一门必修课,因为这门课程非常重要的,是编程必备的基础,但是这门课程是一 ...

  9. 计算机算法设计与分析读后感,算法设计与分析基础经典读后感有感

    <算法设计与分析基础>是一本由Anany levitin著作,清华大学出版社出版的胶版纸图书,本书定价:49.00元,页数:409,特精心从网络上整理的一些读者的读后感,希望对大家能有帮助 ...

最新文章

  1. lda主题模型的可视化_把LDA主题模型作为自己的硕士课题,有什么可以做的?
  2. 如何在Java JVM中处理图像和视频
  3. Cracked me --1--Acid_burn
  4. 公众号里面套页面_微信公众号页面模板有什么用?开通的方法是什么?
  5. 使用 IntraWeb (35) - TIWJQueryWidget
  6. 浅谈实现SQL Server远距离异地容灾
  7. 【有返回值的回溯】剑指offer——面试题67——机器人的运动范围(回溯法)
  8. Retrofit的简单封装
  9. 破解入门(八)-----算法分析与注册机编写
  10. Mac 清理缓存命令
  11. wps序号打乱重新排序_wps序号怎么自动排列
  12. js截取url所带参数方法与url截取字段中包含中文会乱码的解决方案
  13. 对random.seed()的理解
  14. 最强模拟器Genymotion到期开始收费破解教程
  15. springboot中实体类接收post请求、反序列化
  16. 博图软件中多重背景块的建立_过路老熊_新浪博客
  17. RTP载荷H265(实战细节)
  18. 【论文笔记】End-to-end people detection in crowded scenes
  19. 小鼠肺内皮细胞 (MPEC)
  20. 专业能力一般的应届本科生,该如何准备面试

热门文章

  1. ​关于虚拟机迁移文档(p2v v2v
  2. ckeditor 4.2.1_演示 ckeditor 上传插入图片
  3. Silverlight从客户端上传文件到服务器
  4. Kettle日常使用汇总整理
  5. Java集合类解析 ***
  6. SQL语句添加删除修改字段
  7. SqlServer中把结果集放到到临时表的方法
  8. 2014年中回首与展望
  9. catch and batch
  10. 《青春飞扬》诗集出版历程与思考分享 之三:游记、感悟与思考