数据结构与算法

【算法】【优选算法】位运算(上)

目录 一、位运算简介及常用操作 二、191.位1的个数 三、338.比特位计数 四、461.汉明距离 五、136.只出现一次的数字 六、260.只出现一次的数字 III 一、位运算简介及常用操作基础位运算: 右移:>> 左移:<< 按位取反:~ 按位与:& :有0就是0 按位或:| :有1就是1 按位异或 :^ :相同

Room数据库快速实战

Room数据库是Google的JitPack组件中的一个,推出已经有一段时间了,现在的使用者也越来越多,Room是一个轻量级的ORM(Object Relational Mapping:对象关系映射)数据库。 添加依赖 implementation "androidx.room:room-runtime:2.4.0-alpha03" annotationProcessor "and

【数据结构】队列

文章目录 1.队列的概念 2.队列的设计 3.队列的实现 3.1初始化 3.2销毁 3.3入队列 3.4出队列 3.5获取队头元素 3.6获取队尾元素 3.7队中元素个数 3.8检测队是否为空 4.相关题目 4.1用队列实现栈 4.2用栈实现队列 1.队列的概念队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊

MySql事务

一、概念: 什么是事务?指的是一组不可分割的SQL操作。 使用Innodb存储引擎的表才支持事务。 事务用来管理对数据的 insert,update,delete 操作 二、事务特性: Atomic 原子性 一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成。 Consistency 一致性 在事务开始之前和事务结束以后,数据库的完整性不会被破坏。 执行sql命

全网都在说一个错误的结论

大家在背 MySQL 八股文的时候,是不是经常看到这句话。 联合索引的最左匹配原则会一直向右匹配直到遇到范围查询(>、<、between、like) 就会停止匹配。 我随手在网上搜了下, 基本全部都是这个结论,似乎这个结论大家都耳濡目染了,应该大多数人都觉得这个结论是正确的吧。 我在昨晚折腾了几个实验,发现这个结论并不全对!去掉 「between 和 like 」这个

InnoDB索引底层原理

之前写过几篇关于mysql相关的文章,今天探讨一下索引底层原理。 慢sql优化思路及使用规范 Mysql引擎 MySQL优化策略 mysql多线程update死锁问题 Mysql表空间碎片释放 1 InnoDB 存储数据原理 MySQL 把数据存储和查询操作抽象成了存储引擎,不同的存储引擎,对数据的存储和读取方式各不相同。MySQL 支持多种存储引擎,并且可以以表为粒度设置存储引擎。因为支持事务,

BUSCO 做基因组评价

Benchmarking Universal Single-Copy Orthologs (BUSCO)是用于评估基因组组装和注释的完整性的工具。在相近的物种之间总有一些保守的序列,而BUSCO就是使用这些保守序列与组装的结果进行比对,鉴定组装的结果是否包含这些序列,包含单条、多条还是部分或者不包含等等情况来给出结果。通过与已有单拷贝直系同源数据库的比较,得到有多少比例的数据库能够有比对,比例越高

数据库索引

索引的重要性应该不需要我讲,做后端服务的同学都知道。但是索引是以什么结构存储的?每种数据库引擎都一样吗?为什么索引的查询这么快?让我们一起来解下这些问题。 复杂度选择 索引存在的意义就是为了提高我们查询的速度,而查询的速度一般与所做查询的次数成正比。 算法时间复杂度 上图列出了各种复杂度在数据量变化下的操作次数变化曲线。可以看出: O(1) 是最好的,但是这种时间复杂度比较难以达到。

SpringBoot整合SpringSecurity

先说一下SpringSecurity是干什么的,SpringSecurity主要作用有2方面:认证、授权。 认证:Authentication, 用户认证就是判断一个用户的身份是否合法的过程,用户去访问系统资源时系统要求验证用户的身份信息,身份合法方可继续访问,不合法则拒绝访问。常见的用户身份认证方式有:用户名密码登录,二维码登录,手机短信登录,指纹认证等方式。 授权: Authorize,授权