← 返回蜂巢洞察

通过可视化的方式学习数据结构与算法

学习数据结构与算法往往会让人感到面对着一堵由复杂术语、语法以及深奥的数学知识构成的障碍墙。不过别担心,因为我们刚刚在 freeCodeCamp.org 的YouTube频道上发布了一门课程,该课程由Sumit Saha主讲,它运用人们熟悉的现实世界类比来讲解计算机科学的基础概念。 通过这门课程,你将建立起关于数据在后台是如何被存储、检索以及优化的直观理解。由于这些抽象的技术概念与我们在日常生活中遇到的现象有着密切的联系,因此这门课程会让你意识到:其实你在日常生活中已经在运用这些知识了。 这门课程涵盖以下主题: 核心的线性数据结构,包括数组、单链表、双链表和循环链表。 顺序存储结构,如栈(后进先

学习数据结构与算法往往会让人感到面对着一堵由复杂术语、语法以及深奥的数学知识构成的障碍墙。不过别担心,因为我们刚刚在freeCodeCamp.org的YouTube频道上发布了一门课程,该课程由Sumit Saha主讲,它运用人们熟悉的现实世界类比来讲解计算机科学的基础概念。

通过这门课程,你将建立起关于数据在后台是如何被存储、检索以及优化的直观理解。由于这些抽象的技术概念与我们在日常生活中遇到的现象有着密切的联系,因此这门课程会让你意识到:其实你在日常生活中已经在运用这些知识了。

这门课程涵盖以下主题:

  • 核心的线性数据结构,包括数组、单链表、双链表和循环链表。

  • 顺序存储结构,如栈(后进先出)、队列(先进先出)、循环队列、双端队列以及优先队列。

  • 利用哈希表、哈希函数以及去重集合实现的高效键值对存储方式。

  • 层次化数据结构与互连数据模型,包括堆(最小/最大堆)、二叉搜索树、平衡AVL树和红黑树、字典树,以及各种类型的图结构。

  • 常见的查找与排序算法,如线性搜索、二分搜索、冒泡排序、选择排序、插入排序、归并排序和快速排序。

  • 基础性的算法设计范式,包括递归、回溯算法、迪杰斯特拉最短路径算法、贪心算法、分治策略以及动态规划。

一旦你掌握了这门课程中讲解的逻辑与各种算法背后的权衡原理,那么用任何语言来实现这些算法都会变得容易许多。请在freeCodeCamp.org的YouTube频道观看这门长达1小时的完整课程。

相关文章

技术实践

完全用C语言从零开始构建一个强化学习框架

像PyTorch和TensorFlow这样的高级机器学习库使得训练智能代理变得非常简单,但依赖这些现代框架往往会掩盖其内部运作的复杂机制。 我们刚刚在 freeCodeCamp.org 的YouTube频道上发布了一门视频课程,该课程演示了如何完全不使用外部库或第三方引擎,仅用标准的C语言从零开始构建一个强化学习框架。 这门课程涵盖的内容包括: 实现自定义的自动微分功能,同时设计动态计算图、内存分配系统以及矩阵数据结构,以便处理前向和反向梯度传播过程。 从基础层面开始编写线性代数运算代码,包括转置矩阵乘法、ReLU激活函数以及数值稳定的Softmax算法实现。 用C语言开发一个功能完备的蛇形游

阅读全文
技术实践

利用LangGraph构建智能代理:开发AI代理并自动化工作流程

我们正在迅速超越那些基于单一提示的大型语言模型,步入自主智能体的时代。 为了帮助您掌握这一全新的技术范式,我们在freeCodeCamp.org的YouTube频道上发布了一门内容丰富、系统全面的课程,该课程将全面讲解有关自主智能体的所有知识。 这门课程旨在从基础概念入手,引导您逐步学习如何使用LangChain和LangGraph构建可用于实际生产环境的端到端智能体工作流程。 以下是您可以从这门课程中获得的几项关键收获: 标准大型语言模型与自主智能体在架构上的区别。 如何利用LangChain构建单智能体系统及多智能体系统。 LangGraph的核心组成部分,以及它为何对于那些需要处理状态变

阅读全文
技术实践

交互式学习Python

Python依然是科技领域中最通用、应用最广泛的编程语言之一。由于其语法与日常英语极为相似,因此对于初学者来说,它绝对是开始学习编程的最佳选择。 我们刚刚在freeCodeCamp.org的YouTube频道上发布了一门内容全面、注重实践的Python课程。这门课程会引导你从编写第一行代码开始,逐步构建出三个功能完备、可用于展示自己技能的终端应用程序。负责教授这门课程的是Scrimba的Treasure Porth。 你将通过完成一些能够解决实际问题的项目来学习Python: “PayUp”费用分摊工具 学习变量、用户输入处理、数据类型转换以及算术运算符等基础知识,从而制作出一个可以公平分配账

阅读全文
技术实践

Google Mantis:一种用于减少误报率的自动化漏洞扫描工具

谷歌已将Mantis这一人工智能代理框架开源。该框架旨在自动化处理软件漏洞的整个生命周期,包括识别和验证漏洞、重现这些漏洞以及修复它们。谷歌表示,开发Mantis的目的是为了解决传统基于人工智能的代码扫描工具所导致的误报率过高以及虚假漏洞频发的问题。 作者:塞尔吉奥·德·西蒙内

阅读全文