《算法竞赛入门经典(2版)》是一本算法竞赛的入门与提高教材,把C/C 语言、算法和解题有机地结合在一起,淡化理论,注重学习方法和实践技巧。全书内容分为12章,包括程序设计入门、循环结构程序设计、数组和字符串、函数和递归、C 与STL入门、数据结构基础、暴力求解法、高效算法设计、动态规划初步、数学概念与方法、图论模型与算法、高级专题等内容,覆盖了算法竞赛入门和提高所需的主要知识点,并含有大量例题和习题。书中的代码规范、简洁、易懂,不仅能帮助读者理解算法原理,还能教会读者很多实用的编程技巧;书中包含的各种开发、测试和调试技巧也是传统的语言、算法类书籍中难以见到的。 《算法竞赛入门经典(2版)》可作为全国青少年信息学奥林匹克联赛(NOIP)复赛教材、全国青少年信息学奥林匹克竞赛(NOI)和ACM国际大学生程序
本书是备受广大读者推崇的数据结构与算法入门教程,已在GitHub获得超60k的 Star,并多次登顶GitHub Trending。书中系统介绍了数据结构与算法基础、复杂度分析、数组与链表、栈与队列、哈希表、树、堆、图、搜索、排序、分治、回溯、动态规划和贪心算法等核心知识,通过清晰易懂的解释和丰富的代码示例,以及生动形象的全彩插图和在线动画图解,揭示算法工作原理和数据结构底层实现,教授读者如何选择和设计算法来解决不同类型的问题,切实提升编程技能,构建完整的数据结构与算法知识体系。
本书采用大量图片,通过详细的分步讲解,以直观、易懂的方式展现了各种数据结构和算法的基本原理。第1章介绍了链表、数组、栈等数据结构;从第2章到第8章,分别介绍了和排序、查找、图、安全、聚类、数据压缩等相关算法,较为全面地介绍常见算法与数据结构知识。 本书没有枯燥的理论和复杂的公式,而是通过大量的步骤图帮助读者加深对数据结构原理和算法执行过程的理解,易于理解,便于学习和记忆。将本书作为算法入门的第一步,是非常不错的选择。
本书示例丰富,图文并茂,以简明易懂的方式阐释了算法,旨在帮助程序员在日常项目中更好地利用算法为软件开发助力。前三章介绍算法基础,包括二分查找、大O表示法、两种基本的数据结构以及递归等。余下的篇幅主要介绍应用广泛的算法,具体内容包括:面对具体问题时的解决技巧,比如何时采用分而治之、贪婪算法或动态规划,哈希表的应用,图和树算法,K最近邻算法等。这一版将示例代码更新到了Python 3,并新增了两章专门讨论树,加之诸多修订,使得内容更加完善。
软件质量,不但依赖架构及项目管理,而且与代码质量紧密相关。这一点,无论是敏捷开发流派还是传统开发流派,都不得不承认。 本书提出一种观点:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,本书作者给出了一系列行之有效的整洁代码操作实践。这些实践在本书中体现为一条条规则(或称 启示 ),并辅以来自实际项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。 本书阅读对象为一切有志于改善代码质量的程序员及技术经理。书中介绍的规则均来自作者多年的实践经验,涵盖从命名到重构的多个编程方面,虽为一 家 之言,然诚有可资借鉴的价值。
《深入浅出算法竞赛(图解版)》是为帮助读者理解基本的算法思想和编写高效的解决问题的程序而编写的。全书共6章,第1章概述了算法与算法竞赛的知识;第2章介绍了计算机程序解决问题的基本方法 穷举算法与贪心算法;第3章讲解了随机算法,如何利用概率与期望优化算法的效率;第4章讲解了AI的思维模式 搜索算法,如何用更灵活的方式遍历每一种可行解;第5章讲解了动态规划,如何通过状态间的转移,巧妙地规划解;第6章讲解了将大事化小、小事化了的分治算法,如何将问题拆分为易于解决的小问题。 本书配备了大量的算法竞赛试题,使用算法竞赛常用的C 语言编写。同时,本书不拘泥于算法竞赛,在第2 ~ 6章的后每一节给出一段阅读材料,介绍算法有趣的应用,帮助读者拓宽思维。 本书的讲解避开了繁琐枯燥的理论,采用浅显易懂的语言和大量生动
本书理论结合实践,通过综合运用图、表、文字、代码、解析等多种形式深入浅出地讲解了算法思想、算法结构设计与实践应用,并为大部分章节的算法提供了有趣的竞赛真题及解析,帮助读者学习算法的核心思想,提高实践动手能力。 全书共9章,内容包括算法概述、递归算法与分治法、动态规划算法、贪心算法、搜索算法、网络流算法、随机化算法、群体智能优化算法及算法竞赛真题自测与解析。 本书配有丰富的在线资源,包括在线课堂、在线真题自测、在线考试、在线自动判题、在线解题视频等线上资源,并提供教学课件、课堂手册、课后习题参考笞案、实例源代码等教学资源,方便教师投课和开展教学活动。 本书适合作为计算机科学与技术、软件工程、人工智能、数据科学与大数据分析等专业大学生、研究生的教材。也可以作为数学建模和程序设计竞赛
本书主要介绍机器视觉系统的概念、原理、视觉系统组成、数字图像处理算法及视觉应用,共分为三部分:第一部分快速入门,介绍了机器视觉系统的组成、图像采集系统;第二部分图像处理算法,介绍了视觉图像处理相关算法及应用;第三部分机器视觉应用,介绍了机器视觉的典型应用案例。全书理论联系实际,从图像采集部分开始到数字图像处理部分,除了介绍相关的理论知识外,结合具体的实际案例以及HALCON 编程,提供了明确的使用方法。对每一种数字图像处理算法在机器视觉系统中的应用,都通过实例说明了具体的应用方法和注意事项,并通过具体案例的学习加深对内容的理解。本书可作为图像处理、机器视觉或计算机视觉相关科研人员和工程技术人员的参考用书,也可作为高等教育学校相关专业的教材使用,也适用于对图像处理、机器视觉或计算机视
为了帮助有一定编程基础的人群进一步提升自己的Python编程水平及应对编程工作的压力,《算法实例精讲 Python语言实现》全面讲解了9种经典算法理论、65个典型实例的算法设计与分析以及Python语言的代码实现过程。首先从Python数据结构基础入手,然后讲解了各种算法,包括排序算法、动态规划算法、双指针算法、深度优先搜索算法、广度优先搜索算法、贪心算法、递归算法、分治算法、回溯算法等,*后归纳了数据结构中的一些经典问题。这既能帮助初学者理清算法的基本结构,融会贯通地掌握好算法基础知识;又能帮助有一定工作经验的读者巩固基础,进一步提升编程水平;也能帮助求职者为未来面试与工作做好必要的知识储备。 《算法实例精讲 Python语言实现》理论基础与实例应用相结合,实例分析与图解相结合,每个实例均设有详细的思路解析和代码实现,
算法是个有趣的东西 针对某个问题设计算法的时候,不会的人感觉像 大海捞针 ,而会的人则感觉像 一苇渡江 。高手的头脑里都有一张 算法地图 ,算法之间不是孤立的,而是彼此连通的。算法之间的内在联系有很多,但挖掘到根源上,就是递推与递归两种思想。本书从深度解析递推和递归这两个基本算法思想开始,用它们贯穿起了《算法导论》中的几十个经典算法,包括排序、查找、回溯、贪心、分治、动态规划、图算法等。 本书成稿自作者的教案,秉承了作者一贯的风趣幽默又不失严谨的写作风格,同时融入了学习心理学和认知科学的实践原理。作者的诸多学生在参加完以本书内容为蓝本的集训后进入了微软、脸书、亚马逊、领英、甲骨文等公司,所以本书是经过千锤百炼的一线教学成果。本书适合于所有想通过学习算法来精进自己编程能力的读者。为了倾
深度学习和传统机器视觉技术相融合,可以大大提高AI 技术的效率和精度。本书分上、下两篇,共19 章内容,详细讲解了机器视觉及深度学习的理论和编程实践。上篇介绍理论算法。包括机器视觉的经典图像处理算法、深度学习的理论基础和目前常用的深度学习框架。下篇介绍编程环境及系统搭建。讲解了机器视觉图像处理算法及深度学习的编程工具 VC 、Python 和 OpenCV;利用 VC 和 Python 工具,搭建图像处理的工程界面;介绍了常用的9 种深度学习框架的获得方法、安装设置、工程创建,以及深度学习工程的编译、训练、评估与部署方法。每一个搭建的工程,都提供一套可下载的源代码程序,方便读者下载学习。本书理论与实践兼顾,可为从事机器视觉技术及人工智能研究和应用的工程技术人员提供帮助,也可供高等院校相关专业师生学习参考。
本书示例丰富,图文并茂,以让人容易理解的方式阐释了算法,旨在帮助程序员在日常项目中更好地发挥算法的能量。书中的前三章将帮助你打下基础,带你学习二分查找、大O表示法、两种基本的数据结构以及递归等。余下的篇幅将主要介绍应用广泛的算法,具体内容包括:面对具体问题时的解决技巧,比如,何时采用贪婪算法或动态规划;散列表的应用;图算法;Kzui近邻算法。
机器学习是人工智能研究领域中一个极其重要的研究方向,在现今的大数据时代背景下,捕获数据并从中萃取有价值的信息或模式,成为各行业求生存、谋发展的决定性手段,这使得这一过去为分析师和数学家所专属的研究领域越来越为人们所瞩目。 《机器学习实战》第一部分主要介绍机器学习基础,以及如何利用算法进行分类,并逐步介绍了多种经典的监督学习算法,如k近邻算法、朴素贝叶斯算法、Logistic回归算法、支持向量机、AdaBoost集成方法、基于树的回归算法和分类回归树(CART)算法等。第三部分则重点介绍无监督学习及其一些主要算法:k均值聚类算法、Apriori算法、FP-Growth算法。第四部分介绍了机器学习算法的一些附属工具。 《机器学习实战》通过精心编排的实例,切入日常工作任务,摒弃学术化语言,利用高效的可复用Python代码来阐释如何处理统计
本书通过主人公小灰的心路历程,用漫画的形式讲述了算法和数据结构的基础知识,复杂多变的算法面试题目及算法的实际应用场景。首先介绍了算法和数据结构的总体概念,告诉大家算法是什么,数据结构又是什么,都有哪些用途,如何分析时间复杂度,如何分析空间复杂度。第二章 介绍了最基本的数据结构,包括数组、链表、栈、队列、哈希表的概念和读写操作。第三章 介绍了树和二叉树的概念、二叉树的各种遍历方式、二叉树的特殊形式二叉堆和优先队列的应用。第四章 介绍了几种典型的排序算法,包括冒泡排序、快速排序、堆排序、计数排序、桶排序。第五章 介绍了十余种职场上流行的算法面试题目及详细的解题思路。例如怎样判断链表有环、怎样计算大整数加法等。第六章 介绍了算法在职场上的一些应用,例如使用LRU算法来淘汰冷数据,使用Bitmap算
2011 年,C++标准委员会发布了ISO C++ 标准的一个重要修订版,即C++11 ,揭开了C++发展的新篇章。目前,许多程序设计竞赛和相关考试都已经提供了支持C++11 程序运行的编译器。本书的代码完全采用C++11 的语法进行编写,并力求帮助读者养成一种良好的C++11 代码编写风格,在程序设计竞赛和相关考试中能够快速而准确地编写代码。 除了介绍C++11 新特性之外,本书还会详细介绍各类基础的数据结构和算法。本书的具体内容包括5 个部分:C++11 基础、C++11 标准库简介、算法基础、数据结构基础、C++标准库进阶。本书主要面向计算机专业零基础的学习者,特别适合作为学习C++语言、数据结构与算法的入门书籍,也可作为计算机专业研究生入学考试复试上机考试、各类算法考试和算法竞赛的辅导书籍。 (责任编辑邮箱:jinacmp@163.com)
软件质量,不但依赖架构及项目管理,而且与代码质量紧密相关。这一点,无论是敏捷开发流派还是传统开发流派,都不得不承认。本书提出一种观点:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,本书作者给出了一系列行之有效的整洁代码操作实践。这些实践在本书中体现为一条条规则(或称“启示”),并辅以来自实际项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。本书阅读对象为一切有志于改善代码质量的程序员及技术经理。书中介绍的规则均来自作者多年的实践经验,涵盖从命名到重构的多个编程方面,虽为一“家”之言,然诚有可资借鉴的价值。
本书分为 算法篇 和 实现篇 两大部分。算法篇介绍了标记-清除算法、引用计数法、复制算法、标记-压缩算法、保守式GC、分代垃圾回收、增量式垃圾回收、RC Immix算法等几种重要的算法;实现篇介绍了垃圾回收在Python、DalvikVM、Rubinius、V8等几种语言处理程序中的具体实现。