数据结构与算法

Spring--事务管理

事务简单来说,就是将多个操作成为一个工作单元,其中任何一个操作执行失败,都会回到工作单元之前的状态 事务的特性也称为ACID,原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability) 事务的并发问题 脏读 : 一个事务A访问数据,另一个事务B进行了修改,A重新访问获得了修改后的数据。我们希望A获得原来的数据 不可重复读 : 一个

动态规划之完全背包

引言:完全背包 隶属于动态规划中的背包问题。而 01背包 又是完全背包的基石,所以不懂01背包的,有必要了解一下。什么是完全背包?01背包问题:有一个背包承重为V,有N个物品,每个物品的价值(value)为v,重量为(weight)为w,每个物品只能取1次,求

MySql存储引擎中的锁

一、概念: 什么是锁?主要是为了解决客户端并发读写造成冲突问题,将读写操作进行锁定的功能 二、表加锁的类型: 读锁:又称为共享锁,对数据做查询select 访问MySQL服务自动给 表加读锁,加了读锁的表,允许多个连接同时对同一张表做查询访问(加锁期间 允许同时读,不允许写) 写锁:又称排它锁或互斥锁,对数据做写访问(insert | delete | update )时 , MySQL

数组去重性能优化:为什么Set和Object哈希表的效率最高

目录数组去重性能优化:为什么Set和Object哈希表的效率最高一、数组去重的基本概念二、常见的数组去重方法三、Set和Object哈希表综合复杂度为O(n)的秘密1、数据结构区别2、Set去重的底层原理3、Set去重的鲁棒性4、Set去重的局限性四、总结         作者:watermelo37         CSDN万粉博主、华为云云享专家、阿里云专家

我爱学算法之—— 二分查找(下)

一、寻找峰值 题目解析 对于这道题,给定一个数组nums,在这数组中,可能存在多个峰值元素,我们只需找到一个峰值,然后返回峰值索引即可。 峰值元素:严格大于左右相邻的元素。 题目中给定:nums[0]和nums[n]可以看做负无穷。 算法思路对于这道题,首先暴力解法&

《数据结构初阶》【堆 + 堆排序 + TOP-K】

【堆 + 堆排序 + TOP-K】目录 前言: 什么是堆? 堆的实现方式有哪些?我们要选择哪种方式进行实现? ----------------堆的实现---------------- 什么是向上调整算法,要怎么实现? 什么是向下调整算法,要怎么实现&#xf

【入门算法】枚举:有序穷举,分步排查

目录前言枚举基础题目1. 两数之和2441. 与对应负数同时存在的最大正整数1512. 好数对的数目2001. 可互换矩形的组数1128. 等价多米诺骨牌对的数量121. 买卖股票的最佳时机219. 存在重复元素 II2260. 必须拿起的最小连续卡牌数2815. 数组中的最大数对和2342. 数位和相等数对的最大和1679. K 和数对的最大数目面试题 16.24. 数对和3371. 识别数组中

MySql数据库·建表三范式

一、建表时,表里建几个表头,表头叫什么名字,一般通过“ER关系模型” 来创建 (根据存储实体来创建) ER关系模型.png 二、表创建的合理性,可以使用“建表范式”来进行衡量,一般分为3个等级: 1NF:表头下的数据不能再拆分 2NF:一张表里只存储一种数据信息 ,不能用一张存储多种数据息 并且要有主键 3NF:表中表头的数据,不能依赖其他表头的数据(例如:年龄、总金额、总成绩

flask的HTTP方法

python用flask框架写了个简单的增删改查例子,途中遇到点问题,就简单记录一下。 问题一:route()装饰器,可以通过method参数来指定http方法,刚开始我明明指定了method=['POST'],可是执行后,依然会报错,查看提示信息依然是GET方式。 解决:首先我们得要有个页面,渲染时默认用get来打开模板,然后在post进行传参。 如下,可以将同一个页面合并在一起写: @app.