啥也不会 糟透了
文章目录
- 封锁协议
- 数据库ER图
- 有效的存取时间
- CSMA/CD协议
- 二叉排序树
- 压缩存储 对称矩阵
- 二分查找
- 选择排序
- 折半查找
- 插入排序
- 字符串转换
- KMP算法
封锁协议
- 一级封锁协议需要在修改数据时进行加锁,而读数据时不会进行加锁,所以不能保证可重复读和不读脏数据。
- 二级封锁协议在读取数据前进行加锁,读完后解锁,防止了丢失修改可以保证不会脏读但不能保证可重复读。
- 三级封锁协议在读数据时进行加锁,直到事务结束才解锁,保证不会脏读和可重复读。
数据库ER图
这既然都考 我也是真不会
- ER图的实体(entity)即数据模型中的数据对象,例如人、学生、音乐都可以作为一个数据对象,用长方体来表示,每个实体都有自己的实体成员(entity member)或者说实体对象(entity instance),例如学生实体里包括张三、李四等,实体成员(entity member)/实体实例(entity instance) 不需要出现在ER图中。
- ER图的属性(attribute)即数据对象所具有的属性,例如学生具有姓名、学号、年级等属性,用椭圆形表示,属性分为唯一属性( unique attribute)和非唯一属性,唯一属性指的是唯一可用来标识该实体实例或者成员的属性,用下划线表示,一般来讲实体都至少有一个唯一属性。
- ER图的关系(relationship)用来表现数据对象与数据对象之间的联系,例如学生的实体和成绩表的实体之间有一定的联系,每个学生都有自己的成绩表,这就是一种关系,关系用菱形来表示。
有效的存取时间
CSMA/CD协议
计网没复习早忘了 哭唧唧
二叉排序树
很不喜欢这个平台 也不知道为什么 这些大厂都用这个平台笔试
压缩存储 对称矩阵
作者:pwrliang
第一题推地址是这样的,因为对阵矩阵可以只存一半,存下三角(左下角)。当时没看懂题a22是啥意思,现在才反应过来是行列号……应该把22用下角标表示啊。。。于是乎瞎懵了一个,可惜了
行列 地址
22 1
31 2
32 3
33 4
41 5
42 6
43 7
44 8
51 9
52 10
53 11
54 12
55 13
61 14
62 15
63 16
64 17
65 18
66 19
71 20
72 21
73 22
74 23
二分查找
二分查找我都忘了 我服了我自己
状态太不好了我
原始序列 1,4,6,7,15,33,39,50,64,78,75,81,89,96
1)待查序列不为空,将它的中间元素与要查找的目标元素进行匹配,看它们是否相等,low = 0 ; high = 13;( low+high)/2=6.5,向下取整为6,下标为6的元素为39
39与目标元素81不匹配,需要进行比较:
第一次比较:81 大于 39,向39以后查找
2)待查序列不为空,将它的中间元素与要查找的目标元素进行匹配,看它们是否相等,low = 7 ; high = 13;( low+high)/2=10.5,向下取整为10,下标为10的元素为75
75与目标元素81不匹配,需要进行比较:
第二次比较:81 大于 75,向75以后查找
3)待查序列不为空,将它的中间元素与要查找的目标元素进行匹配,看它们是否相等,low = 11 ; high = 13;( low+high)/2=12,下标为12的元素为89
89与目标元素81不匹配,需要进行比较:
第三次比较:81 小于 89,
4)待查序列不为空,将它的中间元素与要查找的目标元素进行匹配,看它们是否相等,low = 11 ; high = 11;( low+high)/2=11,下标为11的元素为81
81与目标元素81匹配,不需要进行比较。
结束,共需要三次比较。
二分查找算法的原理如下:
- 如果待查序列为空,那么就返回-1,并退出算法;这表示查找不到目标元素。
- 如果待查序列不为空,则将它的中间元素与要查找的目标元素进行匹配,看它们是否相等。
- 如果相等,则返回该中间元素的索引,并退出算法;此时就查找成功了。
- 如果不相等,就再比较这两个元素的大小。
- 如果该中间元素大于目标元素,那么就将当前序列的前半部分作为新的待查序列;这是因为后半部分的所有元素都大于目标元素,它们全都被排除了。
- 如果该中间元素小于目标元素,那么就将当前序列的后半部分作为新的待查序列;这是因为前半部分的所有元素都小于目标元素,它们全都被排除了。
- 在新的待查序列上重新开始第1步的工作。
选择排序
这个 是没想到 用中间变量
一次交换,三次移动,因为交换需要借助辅助变量
T=A;
A=B;
B=T;
折半查找
插入排序
开始只有前面 排序
字符串转换
没想到他竟然是这样的 string
public class MyClass {
public static void main(String[] args)
{
int i, a = 9, b = 6;
for (i = 1; i <= a * b; i++)
{
if (i % a == 0 && i % b == 0)
break;
}
System.out.println(a + b + "," + i);
}
}
KMP算法
next数组:0 0 0 1 0
第一次 :
a b a b c a b c a c b a b
a b c a c
匹配个数2-字符’b’(匹配的最后一个字符的)的next值0=2 即后移两位
第二次:
a b a b c a b c a c b a b
a b c a c
匹配个数4-字符’a’的next值1=3 即后移三位
第三次:
a b a b c a b c a c b a b
a b c a c
匹配成功!