创建健壮的软件需要使用高效的算法,但是程序员在问题出现之前很少考虑这些算法。这个更新版的算法简而言之描述了大量现有的算法,用于解决各种各样的问题,并帮助您选择和实现适合您需要的正确算法—只需足够的数学知识就可以让您理解和分析算法的性能。

本书的重点是应用,而不是理论,它提供了几种编程语言的高效代码解决方案,您可以轻松地适应特定的项目。每个主要算法都以设计模式的形式呈现,其中包含帮助您理解为什么以及何时使用该算法的信息。

有了这本书,你将: 解决特定的编码问题或改进现有解决方案的性能 快速定位与您想要解决的问题相关的算法,并确定为什么使用特定的算法是正确的 通过实现技巧获得C、c++、Java和Ruby中的算法解决方案 了解一个算法的预期性能,以及它需要在最佳状态下执行的条件 发现相似的设计决策对不同算法的影响 学习先进的数据结构,提高算法的效率

成为VIP会员查看完整内容
0
90

相关内容

算法与数据结构 ( Algorithms and data structures )包括算法分析( Analysis of algorithms ),算法( Algorithms ),数据结构( Data structures )以及计算几何( Computational geometry ) Golden Formula: Algorithms + Data Structures = Programs

前言

计算机是如何解决问题的?你的小GPS怎么能在无数可能的路线中找到最快的到达目的地的路线,而且只需要几秒钟?当你在网上购物时,如何保护你的信用卡号码不被人截获? 这些问题的答案,以及其他许多问题的答案,就是算法。我写这本书是为了为你解开算法的奥秘。我与人合著了教科书《算法导论》。这是一本神奇的书(当然,我是有偏见的),但它在某些方面相当专业。这本书不是算法导论。甚至都不是教科书。它既不广泛也不深入计算机算法领域,它没有规定地教授设计计算机算法的技术,它包含为读者解决一个问题或练习。那么这本书到底是什么呢? 这是一个你可以开始的地方,如果

  • 你对计算机如何解决问题感兴趣。
  • 你想知道如何评估这些解决方案的质量。
  • 你想知道计算中的问题和解决问题的方法是如何与非计算机世界相联系的。
  • 你可以处理一些数学问题,而且你没有必要编写过计算机程序(尽管编写过程序也无妨)。

一些关于计算机算法的书是概念性的,很少有技术细节。有些书充满了技术上的精确性。有些介于两者之间。每一种类型的书都有自己的位置。我会把这本书放在中间类别。是的,它有一些数学,而且在某些地方变得相当精确,但我避免深入讨论细节(除了可能在书的最后,我无法控制自己)。 我觉得这本书有点像一道开胃菜。假设你去一家意大利餐馆点了一份开胃菜,吃完再决定是否点剩下的菜。它来了,你吃了它。也许你不喜欢开胃菜,决定不点别的。也许你喜欢它,但是它让你觉得很饱,所以你不需要点其他东西。也许你喜欢开胃菜,但它并没有填饱你的肚子,你期待着这顿饭剩下的部分。把这本书当作开胃菜,我希望能得到后两种结果中的一种: 要么你读了这本书,感到满意,觉得没必要再深入研究算法的世界; 或者你非常喜欢你在这里读到的东西,想要了解更多。每一章的结尾都有一个标题为“进一步阅读”的章节,它将引导你阅读深入主题的书籍和文章。

你能从这本书中学到什么?

我不能告诉你你将从这本书中学到什么。以下是我想让你从这本书中学到的东西:

  • 计算机算法是什么,描述它们的一种方式,以及如何评估它们。
  • 在计算机中搜索信息的简单方法。
  • 在计算机中重新排列信息,使其按规定顺序排列的方法。(我们称这个任务为排序)
  • 如何解决基本问题,我们可以在计算机中建模的数学结构称为图。在许多应用中,图的建模公路网络(其他路口十字路口有直接的道路,这些道路和多久?),任务之间的依赖关系(任务必须先于其他任务?),财务关系(所有世界货币之间的汇率是什么?),或人们之间的交互(谁知道谁?谁恨谁?哪个演员和哪个演员演了一部电影?)
  • 如何解决关于文本字符字符串的问题。其中一些问题在生物学等领域有应用,其中字符代表碱基分子,字符串代表DNA结构。密码学背后的基本原理。即使你自己从未加密过信息,你的电脑也可能加密过(比如你在网上购物时)。数据压缩的基本思想,远远超出了“f u cn rd th u cn gt a gd jb n gd pay”。
  • 有些问题很难在合理的时间内用电脑解决,或者至少没有人知道如何解决。

目录

  1. What Are Algorithms and Why Should You Care?(什么是算法?你为什么要关心它?)
  2. How to Describe and Evaluate Computer Algorithms(如何描述和评估计算机算法?)
  3. Algorithms for Sorting and Searching(排序和搜索算法)
  4. A Lower Bound for Sorting and How to Beat It(排序的下界以及如何超越它)
  5. Directed Acyclic Graphs(有向无环图)
  6. Shortest Paths(最短路径)
  7. Algorithms on Strings(字符串算法)
  8. Foundations of Cryptography(密码学基础)
  9. Data Compression(数据压缩)
  10. Hard? Problems(难?问题)
成为VIP会员查看完整内容
Algorithm unlocked.pdf
0
74

作为布尔逻辑的替代

虽然逻辑是理性推理的数学基础和计算的基本原理,但它仅限于信息既完整又确定的问题。然而,许多现实世界的问题,从金融投资到电子邮件过滤,本质上是不完整或不确定的。概率论和贝叶斯计算共同提供了一个处理不完整和不确定数据的框架。

不完全和不确定数据的决策工具和方法

贝叶斯编程强调概率是布尔逻辑的替代选择,它涵盖了为真实世界的应用程序构建概率程序的新方法。本书由设计并实现了一个高效概率推理引擎来解释贝叶斯程序的团队编写,书中提供了许多Python示例,这些示例也可以在一个补充网站上找到,该网站还提供了一个解释器,允许读者试验这种新的编程方法。

原则和建模

只需要一个基本的数学基础,本书的前两部分提出了一种新的方法来建立主观概率模型。作者介绍了贝叶斯编程的原理,并讨论了概率建模的良好实践。大量简单的例子突出了贝叶斯建模在不同领域的应用。

形式主义和算法

第三部分综合了已有的贝叶斯推理算法的工作,因为需要一个高效的贝叶斯推理引擎来自动化贝叶斯程序中的概率演算。对于想要了解贝叶斯编程的形式主义、主要的概率模型、贝叶斯推理的通用算法和学习问题的读者,本文提供了许多参考书目。

常见问题

第四部分连同词汇表包含了常见问题的答案。作者比较了贝叶斯规划和可能性理论,讨论了贝叶斯推理的计算复杂性,讨论了不完全性的不可约性,讨论了概率的主观主义和客观主义认识论。

贝叶斯计算机的第一步

创建一个完整的贝叶斯计算框架需要新的建模方法、新的推理算法、新的编程语言和新的硬件。本书着重于方法论和算法,描述了实现这一目标的第一步。它鼓励读者探索新兴领域,例如仿生计算,并开发新的编程语言和硬件架构。

成为VIP会员查看完整内容
0
131

《算法精解:C语言描述》,机械工业出版社出版,外文书名:Mastering Algorithms with C。作者:(美)Kyle Loudon (作者),‎ 肖翔 (译者),‎ 陈舸 (译者) 。《算法精解:C语言描述》是数据结构和算法领域的经典之作,十余年来,畅销不衰!全书共分为三部分:部分首先介绍了数据结构和算法的概念,以及使用它们的原因和意义,然后讲解了数据结构和算法中最常用的技术——指针和递归,最后还介绍了算法的分析方法,旨在为读者学习这本书打下坚实的基础;第二部分对链表、栈、队列、集合、哈希表、堆、图等常用数据结构进行了深入阐述;第三部分对排序、搜索数值计算、数据压缩、数据加密、图算法、几何算法等经典算法进行了精辟的分析和讲解。

本书的众多特色使得它在同类书中独树一帜:具体实现都采用正式的C语言代码而不是伪代码,在很多数据结构和算法的实现过程中,有大量细节问题是伪代码不能解决的;每一章都有精心组织的主题和应用;全部示例来自真实的应用,不只是一般的练习;对每种数据结构、算法和示例都进行了详细分析;每一章的末尾都会有一系列问题和对应的回答,旨在强调这一章的重要思想……

本书中的代码尤为值得强调:所有实现都采用C语言编写,所有代码都优先用于教学目的,所有代码都在4种平台上经过完整测试,头文件记录了所有公共的接口,命名规则适用于全书所有的代码,所有的代码都包含大量注释……

《O’Reilly精品图书系列·算法精解:C语言描述》内容包括: · 数据结构和算法的概念,以及使用它们的原因和意义 · 指针和递归 · 算法分析 · 常用数据结构:链表、栈、队列、集合、哈希表、树、堆、优先级队列以及图 · 排序和搜索 · 数值计算 · 数据压缩 · 数据加密 · 图算法 · 几何算法

成为VIP会员查看完整内容
Mastering Algorithms with C.pdf
0
57

改进您的编程技术和方法,成为一个更有生产力和创造性的Python程序员。本书探索了一些概念和特性,这些概念和特性不仅将改进您的代码,而且还将帮助您理解Python社区,并对Python哲学有深入的了解和详细的介绍。

专业的Python 3,第三版给你的工具写干净,创新的代码。它首先回顾了一些核心的Python原则,这些原则将在本书后面的各种概念和示例中进行说明。本书的前半部分探讨了函数、类、协议和字符串的各个方面,描述了一些技术,这些技术可能不是常见的知识,但它们共同构成了坚实的基础。后面的章节涉及文档、测试和应用程序分发。在此过程中,您将开发一个复杂的Python框架,该框架将整合在本书中所学到的思想。

这个版本的更新包括Python 3中迭代器的角色、用Scrapy和BeautifulSoup进行web抓取、使用请求调用没有字符串的web页面、用于分发和安装的新工具等等。在本书的最后,您将准备好部署不常见的特性,这些特性可以将您的Python技能提升到下一个级别。

你将学习

  • 用各种类型的Python函数实现程序
  • 使用类和面向对象编程
  • 使用标准库和第三方库中的字符串
  • 使用Python获取web站点数据
  • 通过编写测试套件来自动化单元测试
  • 回顾成像、随机数生成和NumPy科学扩展
  • 理解Python文档的精髓,以帮助您决定分发代码的最佳方式

这本书是给谁看的 熟悉Python的中级程序员,希望提升到高级水平。您应该至少编写了一个简单的Python应用程序,并且熟悉基本的面向对象方法、使用交互式解释器和编写控制结构。

成为VIP会员查看完整内容
0
125

Python算法,第二版解释了Python方法的算法分析和设计。本书由《初级Python》的作者Magnus Lie Hetland撰写,主要关注经典算法,但也对基本的算法解决问题技术有了深入的理解。

这本书涉及一些最重要和最具挑战性的领域的编程和计算机科学在一个高度可读的方式。它涵盖了算法理论和编程实践,演示了理论是如何反映在真实的Python程序中的。介绍了Python语言中内置的著名算法和数据结构,并向用户展示了如何实现和评估其他算法和数据结构

成为VIP会员查看完整内容
0
109

数据结构和算法的更新、创新方法

这个权威的指南由其领域的专家组成的作者团队编写,它甚至解释了最困难的数学概念,这样您就可以清楚地理解c++中的数据结构和算法。

权威的作者团队采用面向对象的设计范式,使用c++作为实现语言,同时还提供基本算法的直觉和分析。

  • 提供一种独特的多媒体格式,学习基本的数据结构和算法
  • 允许您可视化关键的分析概念,了解该领域的最新见解,并进行数据结构设计
  • 为开发程序提供清晰的方法
  • 具有清晰,易于理解的写作风格,打破了即使是最困难的数学概念

成为VIP会员查看完整内容
0
90

在Python中获得操作、处理、清理和处理数据集的完整说明。本实用指南的第二版针对Python 3.6进行了更新,其中包含了大量的实际案例研究,向您展示了如何有效地解决广泛的数据分析问题。在这个过程中,您将学习最新版本的panda、NumPy、IPython和Jupyter。

本书由Python panda项目的创建者Wes McKinney编写,是对Python中的数据科学工具的实用的、现代的介绍。对于刚接触Python的分析人员和刚接触数据科学和科学计算的Python程序员来说,它是理想的。数据文件和相关材料可以在GitHub上找到。

  • 使用IPython外壳和Jupyter笔记本进行探索性计算
  • 学习NumPy (Numerical Python)中的基本和高级特性
  • 开始使用pandas库的数据分析工具
  • 使用灵活的工具来加载、清理、转换、合并和重塑数据
  • 使用matplotlib创建信息可视化
  • 应用panda groupby工具对数据集进行切片、切割和汇总
  • 分析和处理有规律和不规则的时间序列数据
  • 学习如何解决现实世界的数据分析问题与彻底的,详细的例子
成为VIP会员查看完整内容
0
87

这本教科书解释的概念和技术需要编写的程序,可以有效地处理大量的数据。面向项目和课堂测试,这本书提出了一些重要的算法,由例子支持,给计算机程序员面临的问题带来意义。计算复杂性的概念也被介绍,演示什么可以和不可以被有效地计算,以便程序员可以对他们使用的算法做出明智的判断。特点:包括介绍性和高级数据结构和算法的主题,与序言顺序为那些各自的课程在前言中提供; 提供每个章节的学习目标、复习问题和编程练习,以及大量的说明性例子; 在相关网站上提供可下载的程序和补充文件,以及作者提供的讲师资料; 为那些来自不同的语言背景的人呈现Python的初级读本。

成为VIP会员查看完整内容
0
96

这本书在对算法工作原理的高层次理解和对优化模型的具体细节的了解之间找到一个平衡点。这本书将给你的信心和技能时,开发所有主要的机器学习模型。在这本Pro机器学习算法中,您将首先在Excel中开发算法,以便在用Python/R实现模型之前,实际了解可以在模型中调优的所有细节。

你将涵盖所有主要的算法:监督和非监督学习,其中包括线性/逻辑回归;k - means聚类;主成分分析;推荐系统;决策树;随机森林;“GBM”;和神经网络。您还将通过CNNs、RNNs和word2vec等文本挖掘工具了解最新的深度学习。你不仅要学习算法,还要学习特征工程的概念来最大化模型的性能。您将看到该理论与案例研究,如情绪分类,欺诈检测,推荐系统,和图像识别,以便您得到最佳的理论和实践为工业中使用的绝大多数机器学习算法。在学习算法的同时,您还将接触到在所有主要云服务提供商上运行的机器学习模型。

你会学到什么?

  • 深入了解所有主要的机器学习和深度学习算法
  • 充分理解在构建模型时要避免的陷阱
  • 在云中实现机器学习算法
  • 通过对每种算法的案例研究,采用动手实践的方法
  • 学习集成学习的技巧,建立更精确的模型
  • 了解R/Python编程的基础知识和Keras深度学习框架

这本书是给谁看的

希望转换到数据科学角色的业务分析师/ IT专业人员。想要巩固机器学习知识的数据科学家。

成为VIP会员查看完整内容
0
114

本书简介:

这本书介绍了数据类型(简单和结构化)和算法与图形和文本的解释。在下一节中,您将介绍简单和复杂的标准算法及其流程图:所有内容都与解释和表集成在一起,以提供算法的逐步发展。

主要的算法有:循环中三个或n个数字的和、十进制到二进制的转换、最大和最小搜索、线性/顺序搜索、二进制搜索、冒泡排序、选择排序、两个排序数组的合并、从文件中读取字符、堆栈管理、阶乘和斐波那契序列。

C语言算法介绍的最后一部分是C语言的介绍和代码的实现,这部分是与所研究的算法相关的。这本书充满了屏幕截图和说明代码意义的插图。

你会学到什么

  • 在C语言中实现算法
  • 处理变量、常量、基本类型和结构化类型
  • 使用数组、堆栈、队列、图、树、散列表、记录和文件
  • 探索算法的设计
  • 解决搜索问题,包括二分查找、排序和冒泡/选择排序
  • 用阶乘函数和斐波那契数列编制递归算法

这本书是给谁看的

初级入门:对于任何第一次学习计算机科学和信息系统的人来说,它都是一个起点。

目录:

成为VIP会员查看完整内容
0
78
小贴士
相关VIP内容
专知会员服务
131+阅读 · 2020年5月18日
专知会员服务
90+阅读 · 2020年3月27日
【经典书】Python数据数据分析第二版,541页pdf
专知会员服务
87+阅读 · 2020年3月12日
专知会员服务
96+阅读 · 2020年3月4日
专知会员服务
114+阅读 · 2020年2月11日
相关论文
A Survey on Bayesian Deep Learning
Hao Wang,Dit-Yan Yeung
40+阅读 · 2020年7月2日
Optimization for deep learning: theory and algorithms
Ruoyu Sun
76+阅读 · 2019年12月19日
A Probe into Understanding GAN and VAE models
Jingzhao Zhang,Lu Mi,Macheng Shen
6+阅读 · 2018年12月13日
A Survey of Learning Causality with Data: Problems and Methods
Ruocheng Guo,Lu Cheng,Jundong Li,P. Richard Hahn,Huan Liu
7+阅读 · 2018年9月25日
Deep Learning for Generic Object Detection: A Survey
Li Liu,Wanli Ouyang,Xiaogang Wang,Paul Fieguth,Jie Chen,Xinwang Liu,Matti Pietikäinen
7+阅读 · 2018年9月6日
Kevin Scaman,Francis Bach,Sébastien Bubeck,Yin Tat Lee,Laurent Massoulié
6+阅读 · 2018年6月1日
EL-Hachemi Guerrout,Samy Ait-Aoudia,Dominique Michelucci,Ramdane Mahiou
6+阅读 · 2018年3月13日
Liwei Wu,Cho-Jui Hsieh,James Sharpnack
6+阅读 · 2018年2月28日
John E. Vargas-Muñoz,Ananda S. Chowdhury,Eduardo B. Alexandre,Felipe L. Galvão,Paulo A. Vechiatto Miranda,Alexandre X. Falcão
9+阅读 · 2018年1月30日
Joel A. Tropp,Alp Yurtsever,Madeleine Udell,Volkan Cevher
4+阅读 · 2018年1月2日
Top