
数据结构与算法
文章平均质量分 65
flightfish
这个作者很懒,什么都没留下…
展开
-
mysql 锁
解决并发事务带来问题的两种基本方式一致性读(Consistent Reads)读操作利用多版本并发控制(MVCC),写操作进行加锁。锁定读(Locking Reads)读、写操作都采用加锁的方式。共享锁和独占锁共享锁,英文名:Shared Locks,简称S锁。在事务要读取一条记录时,需要先获取该记录的S锁。独占锁,也常称排他锁,英文名:Exclusive Locks,简称X锁。在事务要改动一条记录时,需要先获取该记录的X锁。锁定读的语句// 对读取的记录加S锁SELEC.原创 2021-03-28 18:55:18 · 208 阅读 · 0 评论 -
数据结构与算法之美知识点总结
复杂度数组数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。数组支持随机访问,根据下标随机访问的时间复杂度为 O(1)。(插入删除)最好情况时间复杂度为 O(1);如果删除开头的数据,则最坏情况时间复杂度为 O(n);平均情况时间复杂度也为 O(n)每次的删除操作并不是真正地搬移数据,只是记录数据已经被删除。当数组没有更多空间存储数据时,我们再触发执行一次真正的删除操作,这样就大大减少了删除操作导致的数据搬移。对于业务开发,直接使用容器就足够了,省原创 2021-03-13 17:25:13 · 251 阅读 · 0 评论 -
算法题
八皇后问题原创 2021-03-05 11:19:21 · 130 阅读 · 0 评论 -
数据结构
数组Array数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。线性表(Linear List)。顾名思义,线性表就是数据排成像一条线一样的结构。每个线性表上的数据最多只有前和后两个方向。其实除了数组,链表、队列、栈等也是线性表结构。是连续的内存空间和相同类型的数据,它才有了一个堪称“杀手锏”的特性:“随机访问”。但有利就有弊,这两个限制也让数组的很多操作变得非常低效,比如要想在数组中删除、插入一个数据,为了保证连续性,就需要做大量的数据搬移工作原创 2021-01-23 15:42:43 · 132 阅读 · 0 评论 -
排序算法
排序平均时间复杂度最佳时间复杂度最差时间复杂度空间复杂度排序方式稳定性冒泡排序O(N^2)O(N)O(N^2)O(1)In-place稳定插入排序O(N^2)O(N)O(N^2)O(1)In-place稳定选择排序O(N^2)O(N)O(N^2)O(1)In-place不稳定希尔排序O(NlogN)O(N)O(N^2)O(1)In-place不稳定 /* 发现无论什么排序。都需要对满足条件的元素进...原创 2021-01-23 15:41:17 · 98 阅读 · 0 评论 -
排序
冒泡 public static int[] bubbleSort(int[] arr) { if(arr == null || arr.length <= 1){ return arr; } int len = arr.length; int temp; for (int i = 0; i < len-1; i++) { for (int j = 0; j &原创 2020-12-23 16:30:39 · 103 阅读 · 0 评论