跳转至

技术博客

深度优先搜索算法详解

深度优先搜索(Depth-First Search,DFS)是一种用于遍历或搜索树/图的算法。其核心思想是:对每一个可能的分支路径深入到底,直到不能再深入为止,然后回溯到上一个节点继续探索其他分支。

因发明深度优先搜索算法,约翰·霍普克洛夫特与罗伯特·塔扬于 1986 年共同获得计算机领域的最高奖——图灵奖。

递归与回溯算法详解

递归是计算机科学中的核心概念,是许多算法和数据结构的基础。其核心思想是:将问题分解为更小的子问题,直到子问题足够简单可以直接求解。

每个递归函数都需要包含:

  1. 基本情况(Base Case):不使用递归就能直接求解的终止条件
  2. 递推关系(Recurrence Relation):将问题拆分到基本情况的规则

广度优先搜索算法详解

广度优先搜索(Breadth-First Search,BFS)是一种图形搜索算法。它从根节点开始,沿着树/图的宽度进行遍历——先访问当前层的所有节点,再访问下一层。

双指针算法详解

双指针是一种用两个变量在线性结构上遍历来解决问题的技巧。根据指针移动方向,分为 相向双指针(两指针从两端向中间移动)和 快慢指针(两指针同向移动,速度不同)。

二分查找算法详解

二分查找(Binary Search)是一种在 有序数组 中查找目标值的高效算法,时间复杂度为 O(log n)。其核心思想是「减而治之」——通过比较中间元素,每次将搜索范围缩小一半。

滑动窗口算法详解

滑动窗口是一种通过双指针同向移动来解决数组/字符串问题的技巧。本质上是暴力解法的优化——通过维护一个「窗口」避免重复计算。掌握滑动窗口的关键在于:理解什么时候扩大窗口,什么时候缩小窗口

工控系统网络安全:纵深防御策略

工控系统(ICS)作为关键基础设施不可分割的一部分,广泛应用于电力、石油天然气、供水、交通及化工等重要行业。随着工控系统与企业网络的深度融合,网络安全问题日益凸显。

Java 日期格式化详解

日期格式化是将日期/时间对象转换为指定格式字符串的过程。例如将 Fri May 18 15:46:24 CST 2016 转换为 2016-05-18 15:46:24 星期五

Java 提供了 DateFormatSimpleDateFormat 两个类来处理日期格式化,本文详细介绍它们的使用方法。

ICMP 协议详解

原文:BurningZhang - ICMP协议详解

ICMP(Internet Control Message Protocol,互联网控制消息协议)是互联网协议族的核心协议之一。它用于在 TCP/IP 网络中发送控制消息,提供通信环境中各种问题的反馈,帮助网络管理者诊断和解决问题。

UDP 协议详解

原文:微光倾城 - UDP协议详解

UDP(User Datagram Protocol,用户数据报协议)是一个简单的面向消息的传输层协议。它提供数据完整性校验,但不保证消息传递的可靠性。因此 UDP 有时被称为"不可靠的数据报协议"——如果需要传输可靠性,必须在应用层实现。