为了方便 JavaRush 学生,我们决定收集有关编程中最重要主题的讲座和文章。第三个选择是关于算法的。在迷你指南中,我们简要概述了文章的精髓,如果您点击链接,您可以了解有关感兴趣主题的更多信息。将集合添加到书签并在需要时返回。
有关算法的材料
文章和讲座
哈佛课程
《CS50. 编程基础》涵盖了开发人员必须具备的基础知识。本讲座讨论一种称为合并排序的算法。该算法是递归的;它将一个大型排序问题分解为子任务,子任务的执行使其更接近于解决原始大问题。本讲座有文本和视频两种形式。
哈佛课程“CS50. 编程基础”的下一讲将讨论选择排序。讲座中以对数字数组进行排序的示例来讨论这种排序算法。与上一讲座一样,您可以阅读它或观看视频,具体取决于您认为如何更容易吸收信息。
哈佛大学课程的另一场讲座由 JavaRush 翻译成俄语。该算法(插入排序)的主要思想是将数组分为两部分,已排序和未排序。在算法的每一步,数字都会从未排序的部分移动到已排序的部分。
讲师用简单的例子来解释冒泡排序算法的工作原理。这个算法非常清晰,也最容易实现。这就是为什么初学者非常喜欢它。阅读讲座并观看视频来学习冒泡排序。
对元素进行排序是开发人员必须习惯的算法类别之一。在本文中,作者研究了排序算法:简单排序、选择排序、插入排序、穿梭排序、希尔排序等。由于这是一篇评论文章,文章所附的材料将使您了解更多信息。其目的是进行简短的介绍。
这是一篇关于编写代码的算法的文章的翻译。翻译的作者假设这篇文章将由已经了解该语言基础知识并希望稍微扩展其算法知识的人阅读。解决下面提出的问题的常见方法包括:排序、二分搜索、哈希表、
堆、树、
深度优先搜索、
动态编程。
关于算法的介绍性文章。文本使用需要解决的问题的示例逐步解释算法以及如何使用它们。讲座结束时有一个有用的资源列表,其中包含有关算法的信息。
《面试题及答案》中的算法
项目中使用各种类型的算法的频率比您想象的要高。例如,我们需要根据某些参数(列)对一些数据进行排序,以便我们可以轻松地浏览它们。因此,在工作面试期间,他们可能会被问及特定的基本算法,并且可能会被赋予使用代码实现它的任务。在本文中,您可以熟悉一些基本算法及其在 Java 中实现的具体示例。
作者在之前的一篇文章中讲了数组排序的各种算法以及所谓的贪心算法,本文讲的是与之相关的图和算法。
奖金
对 Aditya Bhargava 所著的《Grocking Algorithms》一书进行了非常详细的评论。作者一步一步地审查了本书的每个部分:主题是否以易于理解的方式呈现,是否提供了足够的信息。阅读评论并决定是否购买一本关于算法的书。
本书致力于数据结构和算法在编程中的学习和使用。她将讨论数据结构如何决定数据在内存中的组织方式,以及算法如何对这些结构执行各种操作。
GO TO FULL VERSION