首页 > 编程语言 >对算法思维提升的思考

对算法思维提升的思考

时间:2024-06-02 10:54:24浏览次数:20  
标签:思维 思考 信息 问题 次数 算法 计算 我们

博主是一个喜欢胡思乱想的蠢蛋,我无论学什么都在想:

1.我为什么要学这个:到底是为了考试升学,还是为了面试找工作,还是想在其他人面前装b

2.学这个知识能给我带来哪些提升?

3.为什么别人学的比我轻松?到底是因为笨,还是因为方法不对?还是有认知上的差距?

已经刷了600+题,却还是感觉在原地踏步,学了后面忘了前面,和刚入门速成的新手一个样。

本文就是博主的内心os,希望大家看了就当图一乐。

算法是什么,为什么要学习算法?
我们写一段程序,是希望让计算机去代替我们完成一些,具有一定流程或在特定规则下的一组操作。做出一个动作或操作是由一系列的判断和计算完成的。在同样的计算资源下,我们希望可以优化程序在解决某一问题的计算次数,即希望让程序在解决该问题时计算次数减少。

计算机思维和人思维的差别
  人是通过知识+认知做出判断和决策的。

  计算机是通过计算,并根据计算产生的概率去做出决策的。

  比如去判断一个最值,人通过知识+认知可以很快的做出来,计算机则是要把所有相关的数据进行计算,通过计算结果进行判断。

算法优化的途径只有2个:

1.通过数学来减少计算次数

2.通过记录某些关键信息,可以减少计算一些情况,从而减少计算次数

前者是最本质的算法优化(根据数的性质和规律)。后者是通过以空间换时间,这一思想,来进行优化。

我们所谓的算法,其实多数为第二种,因为90%的问题无法通过数学优化

问题的关键:所以几乎所有的算法题,大方向都是:存下关键信息,减少计算次数

把问题聚焦在这两句话上,我们可以发现我们在算法信息中最需要在思维上提升的几个问题:

1.这个问题抽象出来的模型是什么?

2.解决问题的一个方案是什么?

3.这个方案一些步骤中,我们要枚举哪些信息?

4.在枚举这些信息时,我们可不可以通过,预处理,数据结构,将问题分类,数据的一些数学特征,等,去减少我们的枚举情况

5.我们要去存哪些信息?

6.我们要怎么存这些信息?

7.题目中的边界问题

我们在做每一道题时,如果你想明白了所有的以上7个问题,做这道题才是有效的,否则等于白做。

尤其是模板题,这7个问题必须清晰明了。如果在使用时有某点遗忘,应尽快复习,搞清楚模板的这7个问题。

标签:思维,思考,信息,问题,次数,算法,计算,我们
From: https://www.cnblogs.com/oiart/p/18226883

相关文章

  • 【目标检测系列】基于yolov8的头部姿态估计算法
    基于yolov8的头部姿态估计算法1.头部姿态简介头部姿态估计(HeadPoseEstimation):通过一幅面部图像来获得头部的姿态角.在3D空间中,表示物体的旋转可以由三个欧拉角(EulerAngle)来表示:分别计算pitch(围绕X轴旋转),yaw(围绕Y轴旋转)和roll(围绕Z轴旋转),分别学名俯仰角......
  • 自媒体(2)--头条算法机制,从0到1打造自媒体
    头条号算法机制一,机器算法推荐?平台根据关键词及用户的行为指标等数据,对平台的内容进行分析和精准化推荐,把用户喜欢的内容推荐给用户,把好的内容进行多次展示推荐,以实现用户获取的是自己喜欢的内容并持续性在本平台消费内容的过程。1,算法的指标?①文字关键词文章的标题、......
  • 语音降噪算法库介绍
    一.语音降噪技术方向介绍   软件上进行语音降噪目前主要是两个方向:传统降噪算法和AI降噪算法,他们各有千秋,目前看他们各有千秋,有各自适用场景。推荐一个不错的人工智能学习网站,通俗易懂,内容全面,作为入门科普和学习提升都不错,分享一下给大家:前言–人工智能教程1.两者的对......
  • 2024年武汉大学电信算法与数据结构期末复习随记
    期末复习易错点叶子结点以外的结点称为分支结点![img](file:///D:\qq消息记录\2844938982\nt_qq\nt_data\Pic\2024-06\Ori\9d5f4aefd34e1d8587152f79b567d05a.jpeg)时间复杂度![img](file:///D:\qq消息记录\2844938982\nt_qq\nt_data\Pic\2024-05\Ori\4cb6f5297e5f4c3c977d0e......
  • ACWing算法基础课刷题记录2024-06-01--2day
    831.KMP字符串给定一个字符串 S......
  • ACWing算法基础课刷题记录2024-05-31--1day
    ###827.双链表###C++实现原题链接:827.双链表-AcWing题库实现一个双链表,双链表初始为空,支持 55 种操作:在最左侧插入一个数;在最右侧插入一个数;将第 k......
  • 基于MBD的电机控制算法开发-STM32
    使用simulink搭建V/F电机控制框架,并集成到STM32F4中1.Simulink模型搭建本例子使用V/F拖动启动方法控制永磁同步电机启动,simulink模型其中V/F启动部分输出d,q轴的期望电压,并通过SVPWM调制算法施加到电机的三相:模型的输入为空,模型输出为为三路PWM波的占空比。function[ud_out,u......
  • 排级算法
      PageRank是Google核心创新技术,其他搜索引擎大多借鉴使用了该方法的变种。下面介绍两种应用最广、最成功的排级算法PageRank和HITS。  1.PagePank算法  PageRank算法由Stanford大学的S.Brin和L.Page提出,算法的理论基础是图论,它将Web页面看做点,完全忽视访问内容。在该......
  • 旅行第五天【算法】双指针-----三数之和+四数之和
    文章目录一、题目二、算法原理三、编写代码四、题目五、算法原理六、编写代码一、题目链接:三数之和二、算法原理首先是解法一:暴力解法(其实有必要思考一下,不用把程序写出来,写伪代码就可以了,因为优化后算法的代码是建立在暴力解法的基础上的)三个指针,分别依次......
  • 《庆余年算法番外篇》:范闲通过贝叶斯推理找到太子火烧史家镇的证据
    剧情背景在《庆余年2》中史家镇是李云睿和二皇子向北齐走私的重要通道,太子派人把史家镇烧成灰烬,最后嫁祸于二皇子,加大范闲对二皇子的恨意,坐收渔翁之利,意图销毁所有证据。范闲接到任务,需要在被毁的镇子里找到蛛丝马迹,通过贝叶斯推理分析这些线索,找出太子犯罪的确凿证据。......