【教程免费下载】 算 法 基 础-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

【教程免费下载】 算 法 基 础

2017-06-26 09:44:10 2072 3

前言


算法是使高效的程序成为可能的方法。它们解释了如何排列记录、搜索项、计算数值(比如质因子分解)、查找一个街道网络中的最短路径、确定可能通过通信网络的最大流。算法好坏的差别可能意味着是在一秒、一个小时内解决问题,还是永远也不能解决问题。
学习算法使你能建立有用的方法工具来解决具体的问题。它能帮助你理解在不同的情况下,哪个算法是最有效的,所以对于一个特定的问题,你就能选择最适合的算法。对某些数据而言性能优异的算法可能对其他的数据而言表现糟糕。所以知道如何选择一个最适合当前情况的算法是很重要的。
更重要的是,通过学习算法,你可以学习常规的问题解决技巧。即使你已知的任何算法都不能很好地适合当前的状况,你也可以把这些技巧应用到其他问题上。这些技巧让你从不同的角度看问题,使你能创造和分析自己的算法,从而解决你的问题,并且满足没有预料到的需求。
除了帮助你解决工作上的问题,这些技巧甚至会帮助你获得需要使用这些技巧的工作。许多大的科技公司,比如微软、谷歌、雅虎、IBM等公司都想要让他们的程序员理解算法和相关问题的解决技巧。其中,有些公司因为让面试者在面试中解决算法编程和逻辑难题而“臭名昭著”。
好的面试官不一定期待你解决每一个难题。事实上,当你没有解决某个难题时,他们可能会了解更多。最好的面试官想看到你如何处理一个不熟悉的问题,而不是想要看到答案。他们想看到你是举起双手说这个问题在面试中是不合理的,还是你分析了这个问题,并提出了一条有希望的推理来用算法解决这个问题。“天哪,我不知道。或许我要上网搜一下”将会是一个坏的答案。“看起来一个递归的分治法可能有用”将会是一个好得多的答案。
这是一本易读的计算机算法导论书。它描述了一些重要的传统算法,并且说明了每一个算法在什么时候是适合的。它解释了如何分析算法从而理解它们的行为。最重要的,它教会了你创造自己新算法的技巧。
这里是本书中描述的一些有用的算法:
数值算法,比如随机化、分解因式、处理质数、数值积分
熟练操作常见数据结构的方法,比如堆、树、平衡树、B树
排序和搜索
网络算法,比如最短路径、生成树、拓扑排序和流计算
这里是本书中解释的一些常规的问题解决技巧:
暴力或者穷举搜索
分治法
回溯法
递归
分支界限
贪心算法和爬山法
最小花费算法
缩小范围
启发式算法
为了帮助读者掌握这些算法,本书提供了一些练习,读者可以利用它们来探索自己的方法,以便修改书中的算法并把它们应用到新的情况中。这些练习也会帮助你巩固算法中的主要技巧。
最后,本书包含了解决面试中可能遇到的算法问题的技巧。算法技巧会让你解决许多面试中的难题。即使你不能用算法技巧解决每一个难题,至少表明你熟悉这些方法并且能用它们解决其他的问题。


出版在【华章出版社】 作者:罗德·斯蒂芬斯(Rod Stephens)
取消 提交回答
全部回答(3)
  • 火星123
    2018-02-01 14:36:35
    Mark了,谢谢楼主分享

    -------------------------

    -------------------------

    0 0
  • 梁国强
    2017-07-10 13:23:37
    Re【教程免费下载】 算 法 基 础
    Mark了,谢谢楼主分享
    0 0
  • 宁美国度
    2017-06-30 16:16:49
    Re【教程免费下载】 算 法 基 础
    0 0
添加回答
相关问答

0

回答

【教程免费下载】深入浅出DPDK

2017-06-23 12:02:55 4769浏览量 回答数 0

1

回答

【教程免费下载】 Ceph源码分析

2017-06-23 14:36:48 3177浏览量 回答数 1

3

回答

【教程免费下载】 STM32库开发实战指南:基于STM32F103(第2版)

2017-06-23 15:16:58 9079浏览量 回答数 3

1

回答

【教程免费下载】Ceph分布式存储实战

2017-06-23 13:52:03 5434浏览量 回答数 1

1

回答

【教程免费下载】  大数据集成

2017-06-23 15:59:18 1626浏览量 回答数 1

1

回答

【教程免费下载】Unity虚拟现实开发实战

2017-06-23 14:31:12 2906浏览量 回答数 1

1

回答

【教程免费下载】信息物理融合系统(CPS)设计

2017-06-23 17:09:20 2450浏览量 回答数 1

0

回答

【教程免费下载】Docker源码分析

2017-06-23 14:11:17 2006浏览量 回答数 0

1

回答

【教程免费下载】面向对象的思考过程(原书第4版)

2017-06-23 14:45:53 2296浏览量 回答数 1

3

回答

求教程

2011-11-19 08:53:03 7438浏览量 回答数 3
+关注
玄学酱
这个时候,玄酱是不是应该说点什么...
20683
文章
438
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载