漫画算法:小灰的算法之旅

漫画算法:小灰的算法之旅

  • 大小:115.22 MB
  • 类型:算法
  • 格式:PDF
  • 出版:电子工业出版社
  • 作者:魏梦舒
  • 更新:2019-10-19 15:53:42
vip 免费获取(已有158人参与)
关注公众号免费送书
版权投诉 / 资源反馈(本资源由用户 韶德厚 投稿)

本资源为完整 全格式完整版 (非试看版) 小灰的算法经典故事给算法这颗子弹包上了糖衣,让算法的杀伤力潜藏于内,表面已不可怕,萌萌达Q弹讨人喜欢。 从基本数据结构,到各种排序算法,再到招聘面试算法,再到初入职场运用,书中的主人公小灰和大黄领着大伙儿逐一破译。 和一大群开心的小仓鼠相互理解算法观念、了解算法对存储空间和特性的危害,并打破常规去寻找解决困难的尚佳计划方案。 这书根据主人翁小灰的成长经历,用动漫漫画的方式叙述了算法和数据结构的基本知识,纷繁复杂的算法面试题目及算法的具体应用领域。最先详细介绍了算法和数据结构的整体定义,告诉他大伙儿算法是啥,数据结构又是啥,常有什么主要用途,怎样剖析时间复杂度,怎样剖析室内空间复杂性。第二章详细介绍了*基本的数据结构,包含数组、链表、栈、序列、哈希表的定义和读写操作。第三章详细介绍了树和二叉树的定义、二叉树的各种各样遍历方法、二叉树的独特方式二叉堆和优先队列的运用。4详细介绍了几类典型性的排序算法,包含冒泡排序、快速排序、堆排序、记数排列、桶排序。第五章详细介绍了十余种职场中时兴的算法面试题目及详尽的答题构思。比如如何分辨链表有环、如何测算大整数金额加法等。第六关详细介绍了算法在职人员场中的某些运用,比如应用LRU算法来击败冷统计数据,应用Bitmap算法来统计分析客户特点等。 微信公众平台程序猿小灰的创作者,很多年的互联网行业从事工作经验,依次在京东金融和摩拜单车高新科技从业算法和产品研发有关工作中,对算法拥有深层次的科学研究。 目录 第1章 算法概述 / 1 1.1 算法和数据结构 / 1 1.1.1 小灰和大黄 / 1 1.1.2 什么是算法 / 3 1.1.3 什么是数据结构 / 7 1.2 时间复杂度 / 8 1.2.1 算法的好与坏 / 8 1.2.2 基本操作执行次数 / 10 1.2.3 渐进时间复杂度 / 12 1.2.4 时间复杂度的巨大差异 / 15 1.3 空间复杂度 / 16 1.3.1 什么是空间复杂度 / 16 1.3.2 空间复杂度的计算 / 19 1.3.3 时间与空间的取舍 / 21 1.4 小结 / 22 第2章 数据结构基础 / 23 2.1 什么是数组 / 23 2.1.1 初识数组 / 23 2.1.2 数组的基本操作 / 26 2.1.3 数组的优势和劣势 / 32 2.2 什么是链表 / 33 2.2.1 正规军和地下党 / 33 2.2.2 链表的基本操作 / 35 2.3 栈和队列 / 42 2.3.1 物理结构和逻辑结构 / 42 2.3.2 什么是栈 / 43 2.3.3 栈的基本操作 / 44 2.3.4 什么是队列 / 45 2.3.5 队列的基本操作 / 46 2.3.6 栈和队列的应用 / 50 2.4 神奇的散列表 / 51 2.4.1 为什么需要散列表 / 51 2.4.2 哈希函数 / 54 2.4.3 散列表的读写操作 / 55 2.5 小结 / 59 第3章 树 / 61 3.1 树和二叉树 / 61 3.1.1 什么是树 / 61 3.1.2 什么是二叉树 / 64 3.1.3 二叉树的应用 / 67 3.2 二叉树的遍历 / 71 3.2.1 为什么要研究遍历 / 71 3.2.2 深度优先遍历 / 73 3.2.3 广度优先遍历 / 84 3.3 什么是二叉堆 / 88 3.3.1 初识二叉堆 / 88 3.3.2 二叉堆的自我调整 / 90 3.3.3 二叉堆的代码实现 / 95 3.4 什么是优先队列 / 98 3.4.1 优先队列的特点 / 98 3.4.2 优先队列的实现 / 99 3.5 小结 / 103 第4章 排序算法 / 105 4.1 引言 / 105 4.2 什么是冒泡排序 / 107 4.2.1 初识冒泡排序 / 107 4.2.2 冒泡排序的优化 / 110 4.2.3 鸡尾酒排序 / 114 4.3 什么是快速排序 / 118 4.3.1 初识快速排序 / 118 4.3.2 基准元素的选择 / 120 4.3.3 元素的交换 / 122 4.3.4 单边循环法 / 125 4.3.5 非递归实现 / 128 4.4 什么是堆排序 / 131 4.4.1 传说中的堆排序 / 131 4.4.2 堆排序的代码实现 / 134 4.5 计数排序和桶排序 / 137 4.5.1 线性时间的排序 / 137 4.5.2 初识计数排序 / 138 4.5.3 计数排序的优化 / 140 4.5.4 什么是桶排序 / 145 4.6 小结 / 149 第5章 面试中的算法 / 150 5.1 踌躇满志的小灰 / 150 5.2 如何判断链表有环 / 151 5.2.1 一场与链表相关的面试 / 151 5.2.2 解题思路 / 155 5.2.3 问题扩展 / 158 5.3 最小栈的实现 / 161 5.3.1 一场关于栈的面试 / 161 5.3.2 解题思路 / 163 5.4 如何求出最大公约数 / 166 5.4.1 一场求最大公约数的面试 / 166 5.4.2 解题思路 / 168 5.5 如何判断一个数是否为2的整数次幂 / 173 5.5.1 一场很2的面试 / 173 5.5.2 解题思路 / 175 5.6 无序数组排序后的最大相邻差 / 178 5.6.1 一道奇葩的面试题 / 178 5.6.2 解题思路 / 179 5.7 如何用栈实现队列 / 184 5.7.1 又是一道关于栈的面试题 / 184 5.7.2 解题思路 / 186 5.8 寻找全排列的下一个数 / 191 5.8.1 一道关于数字的题目 / 191 5.8.2 解题思路 / 193 5.9 删去k个数字后的最小值 / 196 5.9.1 又是一道关于数字的题目 / 196 5.9.2 解题思

相关资源

  • 《C语言编程初学者指南》配套资源

    《C语言编程初学者指南》配套资源

    编辑推荐 大多数人都承认C不是一门很容易学习的语言。C语言编程初学者指南 中清晰的讲解、完备的示例和图片,使得学习C语言变得容易而有趣。编程是需要通过实践才能够掌握的技能。C语言编程初学者指南 中的每一章都包含了本章小结和编程挑战,而且给出了一个完整的程序,从而使得读者应用一章中所学的基本概念构建一个容易编写的应用。C语言编程初学者指南 是专门为初学者编写的。C语言编程初学者指南 适合想要通过C开始学习编程的读者以

    大小:9.82 KBC语言配套资源

  • 《Python机器学习》配套资源

    《Python机器学习》配套资源

    内容介绍 《Python机器学习》通过解释数学原理和展示编程示例对机器学习进行了系统、全面的解析。《Python机器学习》共分为12章,内容涵盖了机器学习以及Python语言的基础知识、特征工程的概念与操作技术、数据可视化技术的实现、监督学习及无监督学习算法、文本分析、神经网络和深度学习、推荐系统的构建方法以及预测处理时间序列的方法等。阅读《Python机器学习》能够加深读者对机器学习的认识和理解,从而达到理论与实践相结合、学以致用的

    大小:30.28 MBPython配套资源

  • Egg.js v2.26 开发使用指南

    Egg.js v2.26 开发使用指南

    Egg.js 为企业级框架和应用而生,帮助开发团队和开发人员降低开发和维护成本。 专注于提供 Web 开发的核心功能和一套灵活可扩展的插件机制,不会做出技术选型,因为固定的技术选型会使框架的扩展性变差,无法满足各种定制需求。 Egg 的插件机制有很高的可扩展性,一个插件只做一件事,Egg 通过框架聚合这些插件,并根据自己的业务场景定制配置,这样应用的开发成本就变得很低。 Egg 奉行『约定优于配置』,按照一套统一的约定进行应用开发,E

    大小:3.52 MBEgg.js

  • 计算机组成原理

    计算机组成原理 课后答案

    操作系统是计算机系统中最重要的系统软件,也是计算机专业的核心课程。本书用通俗的语言、生动的图片、丰富的例题介绍了操作系统经典的设计原理和最新的发展成果,还结合主流操作系统平台,组织了多个丰富而有趣的实验内容,安排了大量各种难度的练习题,并附有参考答案,以便于自学、选讲或考研复习。 本书通俗易懂,前后贯通,概念清晰,内容丰富,实践性与实用性都很强,是集经典理论、最新发展、习题集与实验指导于一身的一本新教

    大小:15.9 MB计算机组成原理课后答案

  • Visual Basic程序设计(第二版)

    Visual Basic程序设计(第二版) 课后答案

    本书以Visual Basic 6.0(简称VB 6.0)为背景,由浅入深、循序渐进地介绍高级语言程序设计、面向对象方法和可视化编程技术,主要内容包括VB概述,数据与表达式,简单VB程序设计,选择结构,循环结构,常用控件与多窗体,数组,过程,文件操作,高级界面设计,图形操作,VB数据库开发,多媒体应用以及ActiveX控件。 本书逻辑清晰,讲解简明透彻,编程示例丰富。每章后面有大量的习题,最后附有13个单元的实训项目。 本书适合作为高职高专计算机及相

    大小:6.46 MBVisual Basic课后答案

  • UML面向对象建模基础

    UML面向对象建模基础 课后答案

    本书是一部UML的初级读本,涵盖了UML2.0。本书共16章,详细讲解了 UML背景、UML规范中的13种图,以及UML在各个开发阶段的应用。本书*的特色在于,对于每种图的介绍都从相关知识介绍开始,然后是图的阅读方法、绘制方法,最后说明其应用方法,符合中国人的学习曲线。 本书适合作为高等院校计算机及相关专业本科生或研究生教材,也可作为中国计算机软件技术专业资格水平考试的专项辅导教材。 目录 导读 第1章 UML概述 1.1 什么是UML 1.1.I UML的发展历程

    大小:1 MBUML课后答案

  • Istio v1.10 中文版官方文档

    Istio 是一个由谷歌、IBM 与 Lyft 共同开发的开源项目,旨在提供一种统一化的微服务连接、安全保障、管理与监控方式。Istio 项目能够为微服务架构提供流量管理机制,同时亦为其它增值功能(包括安全性、监控、路由、连接管理与策略等)创造了基础。这款软件利用久经考验的 Lyft Envoy 代理进行构建,可在无需对应用程序代码作出任何发动的前提下实现可视性与控制能力。Istio 项目是一款强大的工具,可帮助 CTO/CIO 们立足企业内部实施整体性安全、政策

    大小:17 MBIstio

  • C语言程序设计

    C语言程序设计 课后答案

    大小:3.35 MBC语言课后答案

参与送书

相关声明:

学习笔记