算法 乐趣 程序

来源:互联网 发布:landmark软件介绍 编辑:程序博客网 时间:2024/06/04 19:24


算法 对于我来说就是一个大压力,讨厌又是算法.有种不适的感觉。但拜读过《算法的乐趣》一书后对算法学习上有种莫明其妙的感觉。



相信在用Mac的程序员,差不多都知道 Homebrew。Homebrew 的开发者是 Max Howell。
Max Howell就在几天前,在推特发帖:
Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off.
谷歌:虽然我们 90% 工程师都在用你写的软件(Homebrew),但你不能在白板上反转二叉树 ,所以滚蛋。

max



Max Howell大神到google去面试,相信你们都知道他失败了,他输在算法上,这是多么可惜呀。 需然google语气不是很好,但是对于算法是很重要的,其实本女子算法也不是很好但看了《算法的乐趣》一书后,会对算法有很大提升的,以前有一个程序,运行输出结果很慢,进行八叉树量化提升速率有很大改变.(运行速度 稳定运行是程序的重要一环)


所以说不能忽视算法的重要性,各位先生&女士们

  1. 算法很重要
  2. 算法和数据结构
  3. 面试时会有算法

    在微博上看到的:“玩算法的码农,打拼靠蓝条,像是法师。数学就等于蓝条最大值,数学差,魔法值不高,很快就到瓶颈了。外语影响回蓝速度。经验和智力加急速和穿透的。不玩算法的码农,像是战士,打拼靠血条,体质加生命,精神加生命回复,经验和敏捷加急速和破甲
    这是以游戏形式为例子来说明算法的重要性么。

    还有一位达人Mon*****r;有一些数据结构基础知识就有二叉树什么的,还有经典报童卖报数学模型(数学差我是看不懂)

算法无处不在,下面出道题目给小伙伴们

题目:
幂运算是常见的数学运算之一,其原理是用同一个数相乘多次,但是有的时候当幂指数特别大的时候,这样的运算就太浪费时间。请大家学会在幂中加特技,让幂运算的效率提高到可以接受的程度。
输入:
第一个行一个整数T,表示有T组数据
每组数据,输入x,y 求x的y次幂 (2≤ x ,y≤10^9)
输出:
每组数据输出一个整数,表示幂运算对1000000007取模后的结果
样例输入:
2
2 4
2 100000000
样例输出:
16
494499948




















答案:
1. bbs.csdn.net/topics/391006597

2.

/* *  b.cpp *  快速幂 *  Created on: 2015年7月10日 *  Author: sinbas(¨ω¨) *  */#include <iostream>#include <cstdio>using namespace std;long long quickpow(long long m, long long n, long long k) {    long long b = 1;    while (n > 0) {        if (n & 1){            b = (b * m) % k;        }        n = n >> 1;        m = (m * m) % k;    }    return b;}int main() {    int t;    scanf("%d", &t);    long long aa = 1000000007LL;    while (t--) {        long long a, b;        scanf("%I64d%I64d", &a, &b);        printf("%I64d\n", quickpow(a, b, aa));    }    return 0;}

以上所述都是各位前辈们的经验之谈,还请各位慢慢品尝。

0 0