向一棵平衡二叉树中插入一个结点后,一定会改变其平衡性。 (× )
- 平衡二叉树又被称为AVL树且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。
假如一个满二叉树(特殊的平衡二叉树)加入一个节点,左右高度差刚好为1,依然属于平衡二叉树。所以题目中的一定会改变其平衡性是错误的
数据库使用读写分离最主要的目的是(B)
A应对读多写少的场景
B减少X锁与S锁的竞争
C及时备份数据
D水平或垂直拆分数据库
知识点:
共享锁(Shared)
又称为读锁。即读取操作时创建的锁。其他用户可以并发的读取数据。
排它锁 ExclusiveLock
若事务T对数据对象A加上排它锁,则只允许T读取和修改数据A,其他任何事务都不能再对A加任何类型的锁,直到事务T释放X锁。
共享锁和排它锁的区别
如果事务T对数据A加上共享锁,则其他事务只能对A再加共享锁,不能加排它锁。只有事务T可以对A进行读取和修改,其他事务只能读取数据而不能修改数据。
如果事务T对数据A加上排它锁,只有事务T可以对A进行读取和修改,其他任何事务都不能对A进行读取和修改
![](https://img2020.cnblogs.com/blog/1847330/202008/1847330-20200812161343805-2033752540.png)
int *p=(int *)(&intArra+1);
intArray:数组的首地址;
&intArray:存放数组首地址的地址,若定义int (*s)[5]=&intarray,得到一个指向数组的指针s
&intArray+1: s+1后,即p最初指向& intarray[0]+sizeof(int)*5;
本题强制将指针p转换成一个int* ,那么 p -1 其实就是 & intarray[0]+sizeof(int)*5 - sizeof(int) 。所以,p -1 指向intarray[4],也就是 5
答案为:2,5
在数据库的表定义中,限制成绩属性列的取值在0到100的范围内,属于数据的________约束。
用户自定义
关系的完整性主要包括域完整性、实体完整性和参照完整性三种。
1.域(列)完整性
域完整性是对数据表中字段属性的约束,通常指数据的有效性,它包括字段的值域、字段的类型及字段的有效规则等约束,它是由确定关系结构时所定义的字段的属性决定的。
1.域(列)完整性
域完整性是对数据表中字段属性的约束,通常指数据的有效性,它包括字段的值域、字段的类型及字段的有效规则等约束,它是由确定关系结构时所定义的字段的属性决定的。
2.实体(行)完整性
实体完整性是对关系中的记录唯一性,也就是主键的约束。准确地说,实体完整性是指关系中的主属性值不能为Null且不能有相同值。定义表中的所有行能唯一的标识,一般用主键,唯一索引 unique关键字,及identity属性比如说我们的身份证号码,可以唯一标识一个人.
3.参照完整性
参照完整性是对关系数据库中建立关联关系的数据表间数据参照引用的约束,也就是对外键的约束。准确地说,参照完整性是指关系中的外键必须是另一个关系的主键有效值,或者是NULL。参考完整性维护表间数据的有效性,完整性,通常通过建立外部键联系另一表的主键实现,还可以用触发器来维护参考完整性
实体完整性是对关系中的记录唯一性,也就是主键的约束。准确地说,实体完整性是指关系中的主属性值不能为Null且不能有相同值。定义表中的所有行能唯一的标识,一般用主键,唯一索引 unique关键字,及identity属性比如说我们的身份证号码,可以唯一标识一个人.
3.参照完整性
参照完整性是对关系数据库中建立关联关系的数据表间数据参照引用的约束,也就是对外键的约束。准确地说,参照完整性是指关系中的外键必须是另一个关系的主键有效值,或者是NULL。参考完整性维护表间数据的有效性,完整性,通常通过建立外部键联系另一表的主键实现,还可以用触发器来维护参考完整性
对数据库物理存储方式的描述称为( )?
内模式
外模式 外模式又称子模式或用户模式,对应于用户级。它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。
概念模式 模式又称概念模式或逻辑模式,对应于概念级。它是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图(全局视图)。
内模式 内模式又称存储模式,对应于物理级,它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上的存储方式和物理结构,对应着实际存储在外存储介质上的数据库。
一组记录排序码为(5 11 7 2 3 17),则利用堆排序方法建立的初始堆为
17 11 5 2 3 7
![](https://img2020.cnblogs.com/blog/1847330/202008/1847330-20200812170023266-329530764.png)
![](https://img2020.cnblogs.com/blog/1847330/202008/1847330-20200812171036918-1573862578.png)
编译器在编译时会将宏定义展开,i*sum(i, (i+j), j)被展开为 i*i+(i+j)+j。因此,若想宏定义sum(a, b, c)为a,b,c的和,应该定义为 # define sum(a, b, c) (a+b+c) 结果为16而不是30
![](https://img2020.cnblogs.com/blog/1847330/202008/1847330-20200812172410924-1711236725.png)
待解。