DeathWhispers

数据结构

数据结构 本篇中的逻辑结构、存储结构和操作成本已整理扩展到算法刷题系列第五十七篇:算法复杂度与数据结构;线性表的实现取舍见第五十八篇。 数据结构研究的是如何组织数据,以及如何在这种组织方式上高效地执行操作。选择结构时要分清两个层次:数据在逻辑上是什么关系,以及这种关系如何在内存或存储设备中实现。 1. 从数据项到数据结构 数据项是不可再分或在当前问题中作为整体处理的字段...

哈希表

哈希表 本篇早期笔记已扩展整理到算法刷题系列第二篇:哈希表——用空间换查找,包括冲突处理、频次统计、两数之和与复杂度分析。 1. 哈希表解决什么问题? 给定一组记录,如果每次查询都从头比较,查找一个键需要 O(n) 时间。哈希表通过哈希函数把键映射到数组下标,让插入、查找和删除在平均情况下接近 O(1)。 例如通讯录可以把姓名作为键、电话号码作为值: "Ada" ->...

Spring事务-@Transactional使用

事务是指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部失败 事务的基本要素 原子性: 事务是原子的,即事务开始后所有的操作,要么全部做完,要么全部不做,不能停滞在中间的某个环节.事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样.也就是说事务是一个不可分割的整体 隔离性: 同一时间,只允许一个事务请求同一数据,不同的事务之间彼此没有任何干...