1、如何随机删除二叉树节点
如果 key > root.val,说明要删除的节点在右子树,root.right = deleteNode(root.right, key)。
如果 key < root.val,说明要删除的节点在左子树,root.left = deleteNode(root.left, key)。
如果 key == root.val,则该节点就是我们要删除的节点,则:
- 如果该节点是叶子节点,则直接删除它:root = null。
- 左子树为空,返回root.right
- 右子树为空,返回root.left
- 左右子树都不为空 可以找到右子树的最左节点
返回 root。
2、linux常用命令
(1)、查看进程用的是哪个命令
ps
ps命令用于显示当前进程 (process) 的状态。
(2)、删掉进程用的是那个命令
kill
kill命令用于删除执行中的程序或工作。
(3)、查看端口号用的是哪个
netstat
netstat 命令用于显示网络状态。
(4)、查看日志,查找文件
grep 命令用于查找文件里符合条件的字符串。
ls则只能在当前目录查找
(5)、判断网络工作
ping命令用于检测主机。
检测是否与主机连通# ping www.w3cschool.cc //ping
主机,//需要手动终止Ctrl+C
3、第一范式
1NF的定义为:符合1NF的关系中的每个属性都不可再分。
第一范式的条件:元组中的每一个分量都必须是不可分割的数据项。
错误示范
正确示范
第二范式的条件:在第一范式的基础上,所有的非主属性完全依赖于主键。完全依赖意味着不能依赖于主键的一部分属性。(在1NF基础上消除非主属性对主码的部分函数依赖)
第三范式的条件:满足第二范式的基础上,非主属性都不传递依赖于主键