Pistachio's Blog

Later equals never.

B树

B-Tree(B树)B树属于多叉树又名平衡多路查找树(查找路径不只两个),数据库索引技术里大量使用者B树和B+树的数据结构 如果数据库索引用红黑树的话,会导致读取磁盘次数过多,并且读取出来的数据也会浪费很多。例如一个结点能存一页,一页有16K数据 由于 B+ 树分支比二叉树更多,所以相同数量的内容,B+ 树的深度更浅,深度代表什么?代表磁盘 io 次数 m阶B树有如下特点(阶表示一个节点......

哈希表

一、简介哈希表在待查关键字和它的存储位置之间,通过哈希函数,建立一个确定的对应关系。从而不必在关键字值之间的比较。 由图可以得出存储地址和关键字值的对应关系是:存储地址 = 关键字值 - 32001,这个就是哈希函数。 但是,并不能保证每次都能构造出理想的哈希函数,因此要构建哈希表。哈希表中的存储地址就是哈希地址。 根据设定的哈希函数和处理冲突的方法,将查找表中各元素存储在一段......

Linux权限

Linux权限 Linux下权限的粒度有:拥有者、群组、其他组。每个文件都可以针对三个粒度,设置不同的rwx(读写执行)权限 文件权限chmod数字权限的使用用于改变文件权限 u-g-o 用户(所有者)-组内-其他用户(组外) 4 2 1分别表示读,写,执行,文件权限的组合由它们组合表示 文件拥有者权限chown将文件拥有者改为指定的用户或组 https://blog.csdn.net/......

MySQL锁

隔离性的底层实现其中事务的隔离性底层实现的原理是锁 锁的分类按照数据操作的类型划分 读锁(共享锁):同一份数据,多个读操作可以同时进行,互不影响 写锁(排它锁):当前写操作还没完成,会阻断其他写锁和读锁 session1 加了读锁,当前session1不能读其他未加锁的表,而且不能插入或更新锁定的表。session2可以读或操作未加锁的表,但如果对加读锁的表进行操作,会一直等待获得锁(阻......

MySQL索引

一、定义索引是帮助MySQL获取数据的数据结构,也可理解为“排好序的快速查找的数据结构” 索引本身很大,不可能全部存储在内存,因此索引往往会以索引文件的形式存储在磁盘中。 二、索引分类 普通索引:最基本的索引,没任何约束 唯一索引:索引列的值必须唯一,但可以为空 主键索引:特殊的唯一索引,不允许为空 全文索引:MySQL自带的全文索引只用于Innodb、MyISAM,并且只能对英文进行全文......

MySQL存储引擎

常见类型InnoDB/MyISAM/Memory /Achive/Blackhole/CSV MySQL5.5之后默认的引擎是InnoDB,有自动提交功能。若想关闭可使用set autocommit = 0;则需要手动commit事务。 InnoDB与MyISAM的比较 对比项 MyISAM InnoDB 主外键 不支持 支持 ......

MySQL事务

事务事务是由一组SQL语句组成的一个执行单元,该执行单元要么全部执行或全部不执行 事务四大特质(ACID) 原子性(Atomicity):指事务包含的所有操作(sql)要么全部成功,要么全部失败回滚。事务是最小单位,不可再分。 回滚通过undo log实现,回滚行记录到某个特定版本 undo log 记录的是逻辑操作日志(如对某行数据进行insert操作,那么undo log会记录一条与之......

斐波那契数列

斐波那契一个重要性质:斐波那契数列的相邻每个数的最大公约数gcd(n-2,n-1)是相同的。 ...

Trie树

Trie树Trie树,又称字典树、前缀树,是一种树形结构,它是一种专门处理字符串匹配的数据结构,用来解决在一组字符串集合中快速查找某个字符串的问题。 Trie树的特点 根节点不包含字符,根节点外的每一个结点表示一个字母 从根节点到某一个结点连起来的路径,成为有一个字符串 每个节点的子节点所包含的字符不相同 插入&查找12345678910111213141516171819202......

树状数组

对于长度为n的数组进行修改和查询 如果对1~m个数进行求前缀和,复杂度为O(n)。如果n很大效率会非常低。而树状数组只用O(logn) A是原数组,C是新开辟的数组,C[i]的意思是求前**lowbit(i)**个元素的前缀和,同时也是下标i管辖的元素个数2^k,k是i二进制末尾0的个数 例如C[8] lowbit(8) = 1000 & 1000 = 1 ......