算不算算法的算法

2019/07/08 算法

是算法还是不是?

非科班出身,非计算机出生的我,对于算法数据结构计算机原理等等相关的知识一脸茫然。但是耳边总是会听到有人说算法或者相关方面的知识, 我就断断续续的把我听到的记录下来吧,是还是不是?交给时间,时间会给我答案

计算1-100之间偶数的和?

这样的题目我们逼着眼睛都知道要怎么写,好像在很多关于数据结构和算法里面都看到这个经典的案例。或许在我们日常的编程过程中并没有什么实质性的用, 或许有时候会觉得多此一举

let sum = 0
写法一
for (let i=1; i<=100; i++){   // 这里我们要循环计算100次
    if (i%2==0) {
        sum+=i
    }
 }
 
写法二
for (let i=0; i<=100; i+=2){   // 这里我们要循环计算50次
    if (i%2==0) {
        sum+=i
    }
 }
   

思考:是不是有更好的解决方法呢?比如高中学过的等差数列求和,或者小学初中学过的某个东西?

即便是计算机替我们计算,但是执行次数越少的方法,达到某一个数量级应该是要快很多的

百钱百鸡?

let chicken = 0
let count = 0
写法一
for (let cock = 0;cock<=20;cock++){
    for(let hen = 0; hen<=33;hen++{
    count++
    chicken=100-cock-hen
    if((cock*5+hen*3+chilcken/3==100) && chicken%3==0){//这里有性能优化,具体解释忘记了
        console.log('母鸡 '+ hen,'公鸡 '+ cock,'小鸡 '+ chilcken,)
     }
   }
}

写法二
for (let cock = 0;cock<=20;cock++){
    for(let hen = 0; hen<=33;hen++{
    count++
    if((cock+hen+chilcken==100) && (cock*5+hen*3+chilcken/3==100)){
        console.log('母鸡 '+ hen,'公鸡 '+ cock,'小鸡 '+ chilcken,)
     }
   }
}

一名伪程序猿——sunseekers,曾被bug虐的体无完肤,却依旧待他如初恋。

如果我改过的某一个bug,吐槽过的某一个需求,写过的某一行代码

曾在你的心里荡起涟漪,那至少说明在逝去的岁月里,我们在某一刻,共同经历着一样的情愫。

有时候,虽然素未谋面。却已相识很久,很微妙也很知足。


如果你喜欢我写过的某一个文字,请支持我,鼓励我,你的鼓励是我最大的动力来源

当然恰好你也喜欢我的话,我们可以互相关注,相互学习的哟!

sunseekers

Search

    Table of Contents