本书示例丰富,图文并茂,以简明易懂的方式阐释了算法,旨在帮助程序员在日常项目中更好地利用算法为软件开发助力。前三章介绍算法基础,包括二分查找、大O表示法、两种基本的数据结构以及递归等。余下的篇幅主要介绍应用广泛的算法,具体内容包括:面对具体问题时的解决技巧,比如何时采用分而治之、贪婪算法或动态规划,哈希表的应用,图和树算法,K最近邻算法等。这一版将示例代码更新到了Python 3,并新增了两章专门讨论树,加之诸多修订,使得内容更加完善。
《算法竞赛入门经典(2版)》是一本算法竞赛的入门与提高教材,把C/C 语言、算法和解题有机地结合在一起,淡化理论,注重学习方法和实践技巧。全书内容分为12章,包括程序设计入门、循环结构程序设计、数组和字符串、函数和递归、C 与STL入门、数据结构基础、暴力求解法、高效算法设计、动态规划初步、数学概念与方法、图论模型与算法、高级专题等内容,覆盖了算法竞赛入门和提高所需的主要知识点,并含有大量例题和习题。书中的代码规范、简洁、易懂,不仅能帮助读者理解算法原理,还能教会读者很多实用的编程技巧;书中包含的各种开发、测试和调试技巧也是传统的语言、算法类书籍中难以见到的。 《算法竞赛入门经典(2版)》可作为全国青少年信息学奥林匹克联赛(NOIP)复赛教材、全国青少年信息学奥林匹克竞赛(NOI)和ACM国际大学生程序
本书采用大量图片,通过详细的分步讲解,以直观、易懂的方式展现了各种数据结构和算法的基本原理。第1章介绍了链表、数组、栈等数据结构;从第2章到第8章,分别介绍了和排序、查找、图、安全、聚类、数据压缩等相关算法,较为全面地介绍常见算法与数据结构知识。 本书没有枯燥的理论和复杂的公式,而是通过大量的步骤图帮助读者加深对数据结构原理和算法执行过程的理解,易于理解,便于学习和记忆。将本书作为算法入门的第一步,是非常不错的选择。
本书通过趣味游戏编程项目讲解算法,提升读者学习算法的兴趣,降低读者学习算法的难度,增强读者将算法应用于编程实践的能力。 本书共 14 章,通过猜数字、飞翔的小鸟、得分排行榜、汉诺塔、八皇后、消灭星星、贪吃蛇、走迷宫、连连看、吃豆人、滑动拼图、井字棋、垒积木、十步万度等游戏,讲解顺序查找算法、二分查找算法,图形库 EasyX,插入排序算法、冒泡排序算法、选择排序算法、快速排序算法,递归算法,暴力搜索算法、回溯算法,FloodFill 算法,常见的数据结构(数组、链表、队列、栈、图、树)、标准模板库(STL),十字分割算法、图的广度优先搜索算法和深度优先搜索算法,加权图上的迪杰斯特拉算法、贪婪优先搜索算法、A*算法,状态空间上的搜索算法,博弈树的极大极小值搜索算法、 - 剪枝搜索算法,动态规划算法,遗传算法。 本书
软件质量,不但依赖架构及项目管理,而且与代码质量紧密相关。这一点,无论是敏捷开发流派还是传统开发流派,都不得不承认。 本书提出一种观点:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,本书作者给出了一系列行之有效的整洁代码操作实践。这些实践在本书中体现为一条条规则(或称 启示 ),并辅以来自实际项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。 本书阅读对象为一切有志于改善代码质量的程序员及技术经理。书中介绍的规则均来自作者多年的实践经验,涵盖从命名到重构的多个编程方面,虽为一 家 之言,然诚有可资借鉴的价值。
《深入浅出算法竞赛(图解版)》是为帮助读者理解基本的算法思想和编写高效的解决问题的程序而编写的。全书共6章,第1章概述了算法与算法竞赛的知识;第2章介绍了计算机程序解决问题的基本方法 穷举算法与贪心算法;第3章讲解了随机算法,如何利用概率与期望优化算法的效率;第4章讲解了AI的思维模式 搜索算法,如何用更灵活的方式遍历每一种可行解;第5章讲解了动态规划,如何通过状态间的转移,巧妙地规划解;第6章讲解了将大事化小、小事化了的分治算法,如何将问题拆分为易于解决的小问题。 本书配备了大量的算法竞赛试题,使用算法竞赛常用的C 语言编写。同时,本书不拘泥于算法竞赛,在第2 ~ 6章的后每一节给出一段阅读材料,介绍算法有趣的应用,帮助读者拓宽思维。 本书的讲解避开了繁琐枯燥的理论,采用浅显易懂的语言和大量生动
《智能优化算法与MATLAB编程实践》介绍了国内外新研发的10种智能优化算法,对每种算法的灵感来源、实现过程、函数编程、案例应用都进行了细致描述并给出详细的MATLAB代码,使读者快速掌握智能优化算法的学习和应用方法。 全书共分为12章,前10章分别介绍10种智能优化算法的原理、MATLAB实现、具体函数寻优求解过程和应用案例;第11章列举了23种衡量智能优化算法性能的常见测试函数,并给出MATLAB代码;第12章重点介绍智能优化算法的评价指标体系,选取部分测试函数和文中算法进行测试与分析,并给出完整MATLAB代码,供读者参考。 本书的主要特点为算法新颖,要素齐全,案例丰富,可移植性和实战性强。理论研究和工程技术人员可通过本书快速理解、掌握书中算法,节省大量时间,感兴趣的读者可以在此基础上进行深入研究。 本书可作为本科生、研究生和教
算法是个有趣的东西 针对某个问题设计算法的时候,不会的人感觉像 大海捞针 ,而会的人则感觉像 一苇渡江 。高手的头脑里都有一张 算法地图 ,算法之间不是孤立的,而是彼此连通的。算法之间的内在联系有很多,但挖掘到根源上,就是递推与递归两种思想。本书从深度解析递推和递归这两个基本算法思想开始,用它们贯穿起了《算法导论》中的几十个经典算法,包括排序、查找、回溯、贪心、分治、动态规划、图算法等。 本书成稿自作者的教案,秉承了作者一贯的风趣幽默又不失严谨的写作风格,同时融入了学习心理学和认知科学的实践原理。作者的诸多学生在参加完以本书内容为蓝本的集训后进入了微软、脸书、亚马逊、领英、甲骨文等公司,所以本书是经过千锤百炼的一线教学成果。本书适合于所有想通过学习算法来精进自己编程能力的读者。为了倾
《算法竞赛入门经典 算法实现》精选《算法竞赛入门经典(第2版)》和《算法竞赛入门经典 训练指南(升级版)》中的经典题目,按算法要点和竞赛考点重新进行分拆和归类,提供了240余套简洁、高效、规范的完整代码模板。此外,也加入了一些虽然未在两本书中出现,但实际上对初学者入门非常重要的题目代码。借助于这些模板,读者在练习环节和比赛时,可大大减轻因来回琢磨代码实现细节而导致调试时间大幅增加的压力。 《算法竞赛入门经典 算法实现》共分7章,第1章介绍C 编程基础与STL,第2章介绍算法设计与优化,第3章介绍数学相关算法,第4章介绍数据结构,第5章介绍字符串,第6章介绍计算几何,第7章介绍图论。 《算法竞赛入门经典 算法实现》题目覆盖了ACM/ICPC/NOI/NOIP等算法竞赛的大多数经典题型和细分算法要点,内容全面,信息量
自动驾驶汽车、自然语言识别、内容推荐引擎的实现都离不开人工智能和机器学习算法。机器学习算法只有在解决具体问题时才能体现价值。本书以解决各种趣味问题为目标,教读者用Python、JavaScript、C 编写机器学习算法,内容深入浅出,兼具实用性与大局观。读者将学习编写遗传算法、启发式算法、爬山算法、模拟退火算法,运用蒙特 卡洛模拟、点格自动机、适应函数解决问题。本书尤其适合对人工智能和机器学习感兴趣的程序员进阶学习。
《算法零基础一本通(Python版)》使用 Python 指导读者从零开始学习算法 :由基础数据结构开始,逐步解说信息安全算法,*后也讲解了人工智能入门领域的 KNN 和 K-means 算法。《算法零基础一本通(Python版)》包含约 120 个程序实例,使用约 600 张完整图例,深入讲解了 7 种数据结构和数十种算法,此外也针对国内外著名公司招聘程序员的算法考题做了讲解。《算法零基础一本通(Python版)》实用性强、案例丰富,适合有一定 Python 基础的读者使用,也可作为大中专院校及培训机构的参考教材。
《强化学习精要:核心算法与TensorFlow实现》用通俗幽默的语言深入浅出地介绍了强化学习的基本算法与代码实现,为读者构建了一个完整的强化学习知识体系,同时介绍了这些算法的具体实现方式。从基本的马尔可夫决策过程,到各种复杂的强化学习算法,读者都可以从本书中学习到。本书除了介绍这些算法的原理,还深入分析了算法之间的内在联系,可以帮助读者举一反三,掌握算法精髓。书中介绍的代码可以帮助读者快速将算法应用到实践中。
本书从群智能优化算法和高维多目标优化两方面入手,一方面系统地介绍了差分进化算法的基本原理及外研究现状,通过分析算法的模型、关键步骤及参数设置,设计和构建了高性能的改进算法,并将其应用于医学图像处理、电子商务等实际工程领域;另一方面,深入分析了高维多目标优化算法的基本原理、外研究现状及关键技术难点,详细描述了基于差分进化算法的高维多目标优化算法设计、构建与实验分析,以及其在智能交通系统中的实际应用。本书取材新颖、内容翔实、覆盖面广,案例分析具有较强的可重复性和可执行性,不仅适合于初学者,也适合自动化、计算机、信息科学等相关专业的高年级本科生和研究生、进化计算及高维多目标优化研究爱好者以及工程优化人员等。
本书通过主人公小灰的心路历程,用漫画的形式讲述了算法和数据结构的基础知识,复杂多变的算法面试题目及算法的实际应用场景。 第1章介绍了算法和数据结构的总体概念,告诉大家算法是什么,数据结构又是什么,都有哪些用途,如何分析时间复杂度,如何分析空间复杂度。 第2章介绍了 基本的数据结构,包括数组、链表、栈、队列、哈希表的概念和读写操作。 第3章介绍了树和二叉树的概念、二叉树的各种遍历方式、二叉树的特殊形式二叉堆和优先队列的应用。 第4章介绍了几种典型的排序算法,包括冒泡排序、快速排序、堆排序、计数排序、桶排序。 第5章介绍了十余种职场上流行的算法面试题目及详细的解题思路。例如怎样判断链表有环、怎样计算大整数加法等。 第6章介绍了算法在职场上的一些应用,例如使用LRU算法