今天学了数据库中的mysql中的ddl和dml以及数据库的图形化操作
1.ddl主要是对表的结构进行操作,操作字段增删改
2.dml主要是对表中的数据直接操作,增删改,这里有一点值得注意的是,删delete是只能删一行的,如果你想删掉其中某个字段的值就直接用改的update来使得某个字段的值为空就好了(update是针对字段的)
今天学习算法的第一天,学了二分法,这里是一点感悟:
理解上:
1.while(left《=right)还是.while(left《right)的这个退出循环的条件问题:
2.关于left和right变化的时候是直接=mid还是=mid+1或者-1
我一开始看代码随想录上面的解释,是说如果循环条件用.while(left《=right)的话后面变化就要用=mid+1或者-1,用while(left《right)就对应=mid,我一开始不知道为什么,虽然知道这个定义但是却不知道为什么这样子做,于是我拿着例题,自己按两个方案从头到尾在脑中走了一遍寻找的过程,体会出了差异,在这里说下我的感受,建议可以走完整个过程再看这些话体会更深:
有一种最极限并且是可以出现的能在数组中找到target的情况,那就是只剩两个数字,左边为left,右边为right,target从肉眼上看就是等于left的数字,此时如果你后面选用=mid+1或者-1的话(我先从操作出发,而不是从条件出发),这个时候right就会向左移动一位,(因为target小于right)指向left,此时两个指针都是同一个数字,mid也指向这个数字,(right+left ) /2,然后经过了变换是要重新进入循环的就要检验循环条件,此时如果是只《,那么无法进入循环,那么上一次循环白费功夫,同样的也可以采用第二种方案,体会一下。如果非要从一种感觉上体会的话,那么我觉得应该是mid+1或者-1将right过早的逼近left使得right=left了,那么,而=mid逼迫的程度没那么紧,使得在left和right紧挨着的时候,mid变换到left或者right的时候就可以把整个这个区间的左右两边界都检查过了,都检查过就可以结束循环了。
这段感受本领有限,写的很模糊,还是建议自己在脑中结合动笔过一遍例题的检索过程,然后在看一下这段话的那个点,说不定能启发到自己。