小红书-2020测开(三)
- 对一棵先序遍历节点编号为12435678,中序遍历为42165738的二叉树,进行左子节点优先的广度优先遍历,搜索到编号为6的节点需要几次查询()
答案
7
题解
首先,根据先序遍历可以确定第一个1为根节点,然后找到1在中序遍历的位置,通过观察可以确定,2和4为1的左子孙,进而确定4是2的孩子,1的左子树确定。
然后6,5,7,3,8是1的右子孙,再观察先序遍历,排除已经确定的1,2,4,接下来是3,然后就可以确定3是1的右孩子,再根据中序遍历找到3的位置,可以知道,8是3的右孩子,6,5,7是3的左子孙,按照上面同理,可以得出,5是3的左孩子,6是5的左孩子,7是5的右孩子,这个时候这个二叉树就可以画出来了。
再然后根据题目的意思,左节点优先,所以广度优先遍历,是从上到下对每一层依次访问,在每一层,从左到右访问节点,所以顺序是,1,2,3,4,5,8,6,7,所以编号6在第7次
2. 盒子里面装有外观一样但是笔迹颜色不同的笔共8支,其中黑色5支,蓝色3支,请问从盒子里面随机拿出3支笔,至少拿到2个蓝色的笔概率是 ()
答案 2/7
题解
3. 下面关于数据库索引的描述正确的有()
答案
唯一索引列允许空值;
MySQL的索引能使用B+树或hash实现;
查询条件的顺序不会影响联合索引的生效;
使用in查询,联合索引不生效;(错误)
索引是否生效主要取决于字段类型:
题解
- 如果字段类型为字符串,需要给in查询中的数值与字符串值都需要添加引号,索引才能起作用。
- 如果字段类型为int,则in查询中的值不需要添加引号,索引也会起叙用。
IN的字段,在联合索引中,按以上方法,也会起作用。 - mysql查询优化器认为全表扫描时如果速度大于使用索引,就会不用索引,你可以使用FORCE INDEX强制mysql使用索引
