本书采用大量图片,通过详细的分步讲解,以直观、易懂的方式展现了各种数据结构和算法的基本原理。第1章介绍了链表、数组、栈等数据结构;从第2章到第8章,分别介绍了和排序、查找、图、安全、聚类、数据压缩等相关算法,较为全面地介绍常见算法与数据结构知识。 本书没有枯燥的理论和复杂的公式,而是通过大量的步骤图帮助读者加深对数据结构原理和算法执行过程的理解,易于理解,便于学习和记忆。将本书作为算法入门的第一步,是非常不错的选择。
本书示例丰富,图文并茂,以简明易懂的方式阐释了算法,旨在帮助程序员在日常项目中更好地利用算法为软件开发助力。前三章介绍算法基础,包括二分查找、大O表示法、两种基本的数据结构以及递归等。余下的篇幅主要介绍应用广泛的算法,具体内容包括:面对具体问题时的解决技巧,比如何时采用分而治之、贪婪算法或动态规划,哈希表的应用,图和树算法,K最近邻算法等。这一版将示例代码更新到了Python 3,并新增了两章专门讨论树,加之诸多修订,使得内容更加完善。
《深入浅出算法竞赛(图解版)》是为帮助读者理解基本的算法思想和编写高效的解决问题的程序而编写的。全书共6章,第1章概述了算法与算法竞赛的知识;第2章介绍了计算机程序解决问题的基本方法 穷举算法与贪心算法;第3章讲解了随机算法,如何利用概率与期望优化算法的效率;第4章讲解了AI的思维模式 搜索算法,如何用更灵活的方式遍历每一种可行解;第5章讲解了动态规划,如何通过状态间的转移,巧妙地规划解;第6章讲解了将大事化小、小事化了的分治算法,如何将问题拆分为易于解决的小问题。 本书配备了大量的算法竞赛试题,使用算法竞赛常用的C 语言编写。同时,本书不拘泥于算法竞赛,在第2 ~ 6章的后每一节给出一段阅读材料,介绍算法有趣的应用,帮助读者拓宽思维。 本书的讲解避开了繁琐枯燥的理论,采用浅显易懂的语言和大量生动
为了帮助有一定编程基础的人群进一步提升自己的Python编程水平及应对编程工作的压力,《算法实例精讲 Python语言实现》全面讲解了9种经典算法理论、65个典型实例的算法设计与分析以及Python语言的代码实现过程。首先从Python数据结构基础入手,然后讲解了各种算法,包括排序算法、动态规划算法、双指针算法、深度优先搜索算法、广度优先搜索算法、贪心算法、递归算法、分治算法、回溯算法等,*后归纳了数据结构中的一些经典问题。这既能帮助初学者理清算法的基本结构,融会贯通地掌握好算法基础知识;又能帮助有一定工作经验的读者巩固基础,进一步提升编程水平;也能帮助求职者为未来面试与工作做好必要的知识储备。 《算法实例精讲 Python语言实现》理论基础与实例应用相结合,实例分析与图解相结合,每个实例均设有详细的思路解析和代码实现,
本书既清晰、简洁地介绍了标准数值分析教材所涵盖的内容,也介绍了非传统的内容,比如数学建模、蒙特卡罗方法、马尔可夫链和分形。书中选取的例子颇具趣味性和启发性,涉及现代应用领域(如信息检索和动画)以及来自物理和工程的传统主题。习题用MATLAB求解,使计算结果更容易理解。各章都简短介绍了数值方法的历史。而且还有网上资料。
自动驾驶汽车、自然语言识别、内容推荐引擎的实现都离不开人工智能和机器学习算法。机器学习算法只有在解决具体问题时才能体现价值。本书以解决各种趣味问题为目标,教读者用Python、JavaScript、C 编写机器学习算法,内容深入浅出,兼具实用性与大局观。读者将学习编写遗传算法、启发式算法、爬山算法、模拟退火算法,运用蒙特 卡洛模拟、点格自动机、适应函数解决问题。本书尤其适合对人工智能和机器学习感兴趣的程序员进阶学习。
本书内容包括经典的算法设计技术,主要介绍数据结构和标准模板库、递归与分治策略、动态规划、贪心算法、回溯算法、分支限界算法、图的搜索算法、图论、数论和组合数学问题。本书包括大量的问题实例,并在北京大学、浙江大学和杭州电子科技大学在线题库中精选原题,详细地分析解题的方法,深入浅出地讲解用到的算法,章后的上机练习题也选自在线题库中的典型题目,供读者练习,以巩固所学算法。本书内容基本上涵盖了目前大学生程序设计竞赛所要掌握的算法。 本书结构清晰、内容丰富,适合作为计算机科学与技术、软件工程以及相关学科算法课程的教材或参考书,特别适合有志于参加信息学竞赛和ACM大学生程序设计竞赛的读者学习和训练。
本书是一本面向问题求解的计算机算法普及读物。笔者挑选了24个问题,有些属于计算机科学中的经典,有些则来自游戏等其他领域的场景,旨在提供一个不同于普通算法教科书的视野。在相关求解算法的介绍上大体遵循问题导入、算法思路、算法描述和算法分析的思路,从而使得对每一个问题和算法的讨论相对独立。全书可以任意顺序选读。 本书适合受过高中及其以上教育的读者,适合作为中学信息技术课程改革和大学计算机基础课的教学参考书,也有助于曾经学过计算机相关课程的读者加深关于算法的认识。
本书较为系统地介绍最优化领域中比较成熟的基本理论与方法。基本理论包括最优化问题解的必要条件和充分条件以及各种算法的收敛性理论。介绍的算法有:无约束问题的最速下降法、Newton法、拟Newton法、共辄梯度法、信赖域算法和直接法;非线性方程组和最小二乘问题的Newton法和拟Newton法;约束问题的罚函数法、乘子法、可行方向法、序列二次规划算法和信赖域算法等。还介绍了线性规划的基本理论与单纯形算法以及求解二次规划的有效集法。并简单介绍了求解全局最优化问题的几种常用算法。 作为基本工具,本书在附录中简要介绍了求解线性方程组的常用直接法和选代法以及MATLAB初步知识。
本书通过主人公小灰的心路历程,用漫画的形式讲述了算法和数据结构的基础知识,复杂多变的算法面试题目及算法的实际应用场景。首先介绍了算法和数据结构的总体概念,告诉大家算法是什么,数据结构又是什么,都有哪些用途,如何分析时间复杂度,如何分析空间复杂度。第二章 介绍了最基本的数据结构,包括数组、链表、栈、队列、哈希表的概念和读写操作。第三章 介绍了树和二叉树的概念、二叉树的各种遍历方式、二叉树的特殊形式二叉堆和优先队列的应用。第四章 介绍了几种典型的排序算法,包括冒泡排序、快速排序、堆排序、计数排序、桶排序。第五章 介绍了十余种职场上流行的算法面试题目及详细的解题思路。例如怎样判断链表有环、怎样计算大整数加法等。第六章 介绍了算法在职场上的一些应用,例如使用LRU算法来淘汰冷数据,使用Bitmap算
物联网、人工智能、大数据解析和机器人工学等,日新月异的科学技术每天都在给人类的生活带来重要的变化。身处这样的一个时代,我们面临一个选择,即怎样面对日新月异的科学技术的发展。在这样的变化中,是作为被动的一方,还是成为主动的一方,抑或是站在时代的前端成为创造的一方?这将取决于我们的选择。只要我们不想成为被动的一方,掌握编程的基本技能就是必不可少的。 本书从讲解学习编程的益处出发,向读者介绍了*好的学习编程的方法。紧接着,介绍了主要编程工具的概要和特点,包括 编程一小时 点灯机器人 Scratch 编码猴 等编程工具。了解这些编程工具后,书中又教读者使用 Scratch 从头到尾制作了一个游戏,从而提高他们的编程技能。*后,作者分析了各编程语言的特点,并为读者学习编程提供了真正有益的指导。本书讲解由浅入深,
本书基于Python语言介绍了数据结构与算法的基本知识,主要内容包括抽象数据类型和Python面向对象程序设计、线性表、字符串、栈和队列、二叉树和树、集合、排序以及算法的基本知识。本书延续问题求解的思路,从解决问题的目标来组织教学内容,注重理论与实践的并用。
蝙蝠优化算法是一种新颖的模拟蝙蝠行为的群智能优化算法,因该算法有模型简单、参数少、通用性强等优点,故被广泛应用于解决实际问题。本书分为8章,第1~2章介绍蝙蝠优化算法的基本框架、研究进展,并讨论了蝙蝠算法的全局收敛性问题;第3~6章从蝙蝠算法的全局搜索方式、局部搜索方式、全局/局部搜索的平衡策略、全局/局部搜索的集成策略等方面介绍作者的工作;第7~8章围绕软件缺陷预测问题,分别构造多目标软件缺陷预测模型和高维多目标软件缺陷预测模型,并有针对性地设计相应的多目标蝙蝠优化算法和高维多目标蝙蝠优化算法来对模型进行求解,从而为解决相关问题提供参考。本书适合从事智能计算研究与应用的科技工作者和工程技术人员阅读使用,也可以作为高等院校计算机科学与技术、控制科学与工程等学科高年级本科生及研究生的教学
在线广告是一个多学科交融的领域,本书力求系统地讲解在线广告的架构和算法,让读者对在线广告有一个整体的认识。全书共15章,第1~3章介绍在线广告的发展简史、样式与创意以及广告系统的架构流程等基础知识;第4~7章从品牌广告、搜索类广告、社交类广告和视频类广告4种典型的广告出发,详细讲解广告系统的更多设计细节; 第8~14章分类讲述在线广告中的重要研究领域,包括用户数据和定向算法、点击率预估与推荐算法、在线匹配、机制设计、低质量和敏感控制、实验架构和调参,以及数据监控和效果衡量; 第15章简要介绍在线广告的发展趋势。本书可作为对在线广告感兴趣的初学者的入门书籍,也可供在线广告相关领域的从业者阅读参考。
本书主要介绍并行计算相关的算法的设计和并行计算的性能优化技巧,涵盖现代处理器的特性、衡量程序性能的方法、串行代码性能优化、并行编程模型及其环境、并行算法设计、遗留代码的并行处理、并行编程模型、混合并行等核心技法与实践技巧。
这是一本讲解程序员面试算法的书。在写法上,除了讲解如何解答算法问题外,还引入了例子辅以说明,让读者能更容易理解。 本书将程序员面试笔试过程中各类算法类真题一网打尽。在题目的广度上,通过各种渠道,搜集了近3年来多家IT企业面试算法高频题目;在题目的深度上,本书由浅入深、庖丁解牛式地分析每一个题目,并提炼归纳,同时,引入例子与源代码、时间复杂度与空间复杂度的分析。本书根据真题所属知识点分门别类,结构合理,条理清晰,对于读者进行学习与查阅意义重大。 本书是针对计算机相关专业毕业生面试笔试的求职用书,也可以作为本科生、研究生学习数据结构与算法的辅导书,同时也适合期望在计算机行业大显身手的计算机爱好者阅读。
本书是一本讲解前端程序员面试笔试真题的书籍,在写法上,除了讲解如何解答算法问题以外,还引入了示例辅以说明,让读者能够更容易理解。 本书将程序员面试笔试过程中各类算法类真题一网打尽,在题目的广度上,通过各种渠道,搜集了近3年来典型IT企业面试笔试算法高频题目,所选择题目均为企业招聘使用题目。在题目的深度上,本书由浅入深,详细分析每一个题目,并提炼归纳。同时,引入例子与源代码、时间复杂度与空间复杂度的分析,而这些内容是其他同类书籍所没有的。本书根据真题所属知识点进行分门别类,结构合理、条理清晰,对于读者进行学习与检索意义重大。 本书是一本计算机相关专业毕业生面试笔试的求职用书,也可以作为本科生、研究生学习数据结构与算法的辅导书籍,同时也适合期望在计算机软硬件行业大显身手的计算机爱好者
本书首先系统介绍了视觉检测算法的发展及其研究现状,总结了视觉检测软件系统的体系结构与识别算法流程,然后以图像预处理、图像分割、图像变换、特征提取、图像匹配、图像分析与分类这一视觉检测流程为主线,通过粘扣带、网孔织物、坯布、导爆管、电子元器件、电子接插件、FPC 补强片、汽车锁扣、列车车辆等多类产品的视觉检测应用实例以及各种算法的实验对比分析,揭示各视觉检测算法的适用场合与优缺点,为视觉检测系统的开发以及新算法的设计提供相关指导。
本书旨在系统介绍基于Moreau?Yosida正则化的非光滑优化理论与方法,主要内容包括凸集和凸函数的概念、次梯度和Moreau?Yosida正则化有关性质;求解非光滑优化问题的束方法,以及牛顿束方法和有限记忆束方法;提出非光滑优化的共轭梯度算法,包括改进的PRP算法和改进的HS算法以及Barzilai和Borwein(BB)算法,并给出了求解大规模非光滑问题的数值案例,供读者参考;提出非光滑优化的信赖域算法,包括调和信赖域算法和投影梯度信赖域算法在非光滑问题中的应用。
《算法笔记》内容包括:C/C++快速入门、入门模拟、算法初步、数学问题、C++标准模板库(STL)、数据结构专题(二章)、搜索专题、图算法专题、动态规划专题、字符串专题、专题扩展。《算法笔记》印有二维码,用来实时更新、补充内容及发布勘误的。《算法笔记》可作为计算机专业研究生入学考试复试上机、各类算法等级考试(如PAT、CSP等)的辅导书,也可作为“数据结构”科目的考研教材及辅导书内容的补充。《算法笔记》还是学习C语言、数据结构与算法的入门辅导书,非常适合零基础的学习者对经典算法进行学习。