- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 数据库Redis
概述Redis 是速度非常快的非关系型(NoSQL)内存键值数据库,可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串,值支持五种数据类型:字符串、列表、集合、散列表、有序集合。Redis 支持很多特性,例如将内存中的数据持久化到硬盘中,使用复制来扩展读性能,使用分片来扩展写性能。数据类型STRING> set hello worldOK> get hel...
2020-03-12 19:09:27
162
原创 数据库系统原理部分
事务事务指的是满足 ACID 特性的一组操作,可以通过 Commit 提交一个事务,也可以使用 Rollback 进行回滚。ACID原子性事务被视为不可分割的最小单元,事务的所有操作要么全部提交成功,要么全部失败回滚。回滚可以用回滚日志(Undo Log)来实现,回滚日志记录着事务所执行的修改操作,在回滚时反向执行这些修改操作即可。一致性数据库在事务执行前后都保持一致性状态。在一致...
2020-03-12 16:37:40
165
原创 数据库-MySQL
索引B+ Tree原理数据结构B Tree 指的是 Balance Tree,也就是平衡树。平衡树是一颗查找树,并且所有叶子节点位于同一层。B+ Tree 是基于 B Tree 和叶子节点顺序访问指针进行实现,它具有 B Tree 的平衡性,并且通过顺序访问指针来提高区间查询的性能。在 B+ Tree 中,一个节点中的 key 从左到右非递减排列,如果某个指针的左右相邻 key 分别是 ...
2020-03-12 09:39:12
164
原创 数据库-SQL
SQL基础知识模式定义了数据库如何存储、存储什么样的数据以及数据如何进行分解等信息,数据库和表都有模式。主键的值不允许进行修改以及复用。注:不能讲已经删除的主键值赋给新数据行的主键。SQL语句不区分大小写,但数据库的表明,列名以及值是否区分依赖于具体的DBMS以及配置。支持一下注释形式:#注释 SELECT *FROM mytable;--注释 /*注释1 注释...
2020-03-11 20:41:04
165
原创 行为型设计模式
责任链使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链发送该请求,直到有一个对象处理它为止。Handler:定义处理请求的接口,并且实现后继链(successor)public abstract class Handler { protected Handler successor; public Handler...
2020-03-11 10:56:04
63
原创 设计模式知识总结
创建型(创建实例的一些使用模型)单例模式,简单工厂模式,工厂方法,抽象工厂,生成器,原型模式。行为型责任链模式,命令模式,解释器,迭代器,中介者,备忘录,观察者,状态,策略,模板方法,访问者,空对象。结构型(实例之间的一些结构)适配器,桥接,组合,装饰,外观,享元,代理。单例模式确保一个类只有一个示例,并且该实例的全局访问点。使用一个私有构造函数、一个私有静态变量以及一个公有静态函...
2020-03-09 17:12:51
132
原创 LeetCode-数据结构-位操作
基本原理逻辑取反和按位取反的区分异或操作可以进行位值翻转以及数据奇数个的判断。按位与可以进行掩码操作,保留位值为一的部分的值。按位或可以进行设值操作,一对应的部分均设定为一。n&(n-1) 去除 n 的位级表示中最低的那一位 1。n&(-n) 得到 n 的位级表示中最低的那一位 1。 -n=~n+1。n-(n&(-n)) 则可以去除 n 的位级表示中最低的那一...
2020-03-08 16:05:29
100
原创 LeetCode-数据结构-图
二分图如果可以用两种颜色对图中的节点进行着色,并且保证相邻的节点颜色不同,那么这个图就是二分图。785 判断是否为二分图
2020-03-06 22:27:56
137
原创 Leetcode-数据结构-数组与矩阵
283 把数组中的 0 移到末尾思路将非零元素进行左移,剩余的位置用零进行补齐。public void moveZeroes(int[] nums) { int idx = 0; for (int num : nums) { if (num != 0) { nums[idx++] = num; } } wh...
2020-03-05 19:23:07
157
原创 Leetcode-数据结构-字符串
字符串操作练习字符串的常见操作基本操作以及正则表达式的表达。编程之美3.1给定两个字符串 s1 和 s2,要求判定 s2 是否能够被 s1 做循环移位得到的字符串包含。s1 进行循环移位的结果是 s1s1 的子字符串,因此只要判断 s2 是否是 s1s1 的子字符串即可。s1 = AABCD, s2 = CDAAReturn : true判断是否包含:indexOf(String ...
2020-03-01 21:35:33
231
原创 Leetcode-数据结构-哈希表
哈希表使用 O(N) 空间复杂度存储数据,并且以 O(1) 时间复杂度求解问题。Java 中的 HashSet 用于存储一个集合,可以查找元素是否在集合中。如果元素有穷,并且范围不大,那么可以用一个布尔数组来存储一个元素是否存在。例如对于只有小写字符的元素,就可以用一个长度为 26 的布尔数组来存储一个字符集合,使得空间复杂度降低为 O(1)。Java 中的 HashMap 主要用于映射关系,...
2020-03-01 12:24:32
162
原创 leetcode-数据结构-栈和队列
232 用栈实现队列栈的顺序为后进先出,而队列的顺序为先进先出。使用两个栈实现队列,一个元素需要经过两个栈才能出队列,在经过第一个栈时元素顺序被反转,经过第二个栈时再次被反转,此时就是先进先出顺序。class MyQueue { private Stack<Integer> a;// 输入栈 private Stack<Integer> b;// 输出栈...
2020-02-29 21:31:18
149
原创 Leetcode数学知识题
素数素数的分解每一个数都可以分解成素数的乘积,例如 84 = 22 * 31 * 50 * 71 * 110 * 130 * 170 * …令 x = 2m0 * 3m1 * 5m2 * 7m3 * 11m4 * …令 y = 2n0 * 3n1 * 5n2 * 7n3 * 11n4 * …如果 x 整除 y(y mod x == 0),则对于所有 i,mi <= ni。x 和 ...
2020-02-29 17:19:18
404
原创 Java容器
容器主要包括 Collection 和 Map 两种,Collection 存储着对象的集合,而 Map 存储着键值对(两个对象)的映射表。collectionsetTreeSet:基于红黑树实现,支持有序性操作,例如根据一个范围查找元素的操作。但是查找效率不如 HashSet,HashSet 查找的时间复杂度为 O(1),TreeSet 则为 O(logN)。HashSet:基于哈希表实...
2020-02-29 10:36:24
84
原创 Java基础知识
数据类型Java中的基本数据类型有:byte/8char/16,short/16int/32,float/32long/64,double/64boolean/可使用1,无具体规定,JVM编译器转换为int,支持boolean数组,通过读写byte来实现。包装类型java中基本类型与对应的包装类型之间是通过装箱和拆箱操作完成Integer x = 2; // 装箱 调用了...
2020-02-28 17:26:16
95
原创 Leetcode 排序经典
215:Kth Element解决问题前,复习给数组排序的八种经典方法直接插入排序此链接讲述内容比较容易理解计数排序没有理解排序 :时间复杂度 O(NlogN),空间复杂度 O(1)public int findKthLargest(int[] nums, int k) { Arrays.sort(nums); return nums[nums.length - k];...
2020-02-12 13:33:14
124
原创 leetcode算法思想题
双指针167:两数之和public int[] twoSum(int[] numbers, int target) { if (numbers == null) return null; int i = 0, j = numbers.length - 1; while (i < j) { int sum = numbers[i] + numbers...
2020-02-11 11:31:56
222
原创 Leetcoode树结构的层次遍历
Leetcoode树结构的层次遍历671:找出二叉树中第二小的节点方法讲解由条件可知,根节点一定是最小的,其余的父节点也是小于子节点,分别找到根节点的左右子树中第一次不与根节点相等的节点,两者中较小的即是第二小的。...
2020-02-10 11:57:34
311
原创 leetcodes树操作习题
leetcode树习题104:二叉树的深度递归并借用数学函数解决public int maxDepth(TreeNode root) { if (root == null) return 0; return Math.max(maxDepth(root.left), maxDepth(root.right)) + 1;}110:平衡树private boolean re...
2020-02-09 11:19:06
115
原创 leadcode
leadcoad:链表经典习题练习160:寻找两个链表的交点public ListNode getIntersectionNode(ListNode headA, ListNode headB) { ListNode l1 = headA, l2 = headB; while (l1 != l2) { l1 = (l1 == null) ? headB : l1...
2020-02-08 15:34:13
1048
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人