ConcurrentHashMap源码分析
这篇文章介绍了ConcurrentHashMap在JDK1.7和JDK1.8中的源码分析,包括Segment和HashEntry的概念,以及两个版本之间的区别。JDK7的ConcurrentHashMap采用分段锁机制,将数据分为多个Segment,每个Segment包含多个HashEntry,Se
堆排序算法总结
一、堆排序算法 1. 算法步骤 堆的基本概念 堆(Heap)是一种特殊的完全二叉树数据结构,它满足以下性质: 完全二叉树:除了最后一层外,其他层的节点数都是最大的,最后一层的节点都靠左排列 堆序性质:每个节点的值都大于等于(或小于等于)其子节点的值 根据堆序性质的不同,堆可以分为两种
贪心算法总结
贪心算法的核心思想 贪心算法通过在每一步都做出当前看起来最优的选择,从而希望导致全局最优解。 关键特征: 局部最优选择:每步都选择当前最好的 无后效性:当前选择不依赖未来的选择 不可撤销:一旦做出选择就不再改变 贪心算法的适用条件 1. 贪心选择性质 问题的全局最优解可以通过一系列局部
动态规划算法总结
核心思想 动态规划是通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。其核心是: 最优子结构:问题的最优解包含子问题的最优解 重叠子问题:递归过程中会重复计算相同的子问题 状态转移:通过已知状态推导未知状态 DP状态方程设计的五步法 第一步:明确问题类型 最值问题