分类 算法与数据结构 下的文章

算法与数据结构

Transient 及持久化

引言本文是系列文章的最后一部分,主要介绍如何实现持久化 List 的最后一步:实现 Transient(临时可变)及持久化功能。如果您尚未浏览过本系列的前序文章,建议先参考以下内容以建立背景知识:持久化数据结构简介Vector Trie 的实现Trans...

HAMT 简介

简介在此前的系列文章中,我们从基本原理出发,一步步实现了基于 Vector Trie 的持久化 List 数据结构。接下来,我们将研究如何使用 HAMT(Hash Array Mapped Trie)这一数据结构来实现持久化 Hash Table。在 持...

分治法详解

分治法详解分治法(Divide and Conquer)是一种核心的算法设计策略。其核心逻辑是将一个复杂的问题分解为多个规模较小、相互独立且结构与原问题相似的子问题,递归地解决这些子问题,最后将子问题的解合并,从而得到原问题的解。基本思想分治法的核心思想...

Java算法题类型及解法

本文详细介绍算法题常见的解法类型及其核心思想,并提供相应的 Java 代码示例,帮助读者理解不同算法策略的应用场景与实现方式。1. 暴力解法 (Brute Force)核心思想 暴力解法是一种直接求解问题的方法。它通常通过枚举所有可能的解,然后逐一检查...

Java 动态规划算法分析

动态规划(Dynamic Programming,简称 DP)是解决多阶段决策过程最优化问题的常用算法思想。本文将结合经典的最长递增子序列(Longest Increasing Subsequence, LIS)问题,详细拆解动态规划解题的四个核心步骤。...