lizhirui 2021-03-24 证明树的任何一个最深结点必然为树的一条最长简单路径的端点 源自该题:力扣证明树的任何一个最深结点必然为树的一条最长简单路径的端点这一命题(情况1)首先假设某条最长简单路径经过树的根结点,那么此时该路径的长度为根结点左子树部分路径长度+右子树部分路径长度,显然,无论指定的最深结点… 2021-03-24 2.38k次阅读 0条评论 3人点赞
lizhirui 2021-03-03 红黑树 红黑树是一颗二叉搜索树,每个结点包含如下五个属性:color、key、left、right、p,其中color的取值为BLACK或RED,表示该结点的颜色,key表示该结点的值,left、right、p则分别表示该结点的… 2021-03-03 2.38k次阅读 0条评论 5人点赞
lizhirui 2020-03-17 关于二分搜索顺带找到最左匹配点或插入位置的方法及其正确性证明 先上代码:intsearchInsert(vector<int>&nums,inttarget){intn=nums.size();intl=0,r=n;while(l<r){intmid=(l… 2020-03-17 2.26k次阅读 0条评论 1人点赞
lizhirui 2020-03-15 关于i&(-i)的含义讨论分析 在树状数组之类的应用场合,时常出现i&(-i)这样的表达式,那么这个表达式到底是什么意思呢?显然,i可以表示为以下三种形式:[latex]x...10...0[/latex](即0个或多个任意0或1以及一个1,紧… 2020-03-15 2.54k次阅读 0条评论 7人点赞
lizhirui 2020-03-14 欧几里得辗转相除法的正确性证明 注意:阅读该文章需要一点点的群论基础。这里先放一些前置定义和定理及其证明:合成法则:集合[latex]S[/latex]上的合成法则就是将[latex]S[/latex]中的元素a,b结合成另外一个元素,比如说p,规范地… 2020-03-14 2.49k次阅读 0条评论 3人点赞
lizhirui 2020-02-25 KMP算法详解 KMP算法作为一个效率比较高的模式匹配算法被广泛使用,但是KMP算法的效率究竟高在哪呢?首先我们观察朴素的模式匹配算法:我们使用text代指源字符串,pattern代指模式串若text=aaaacdeaaabpatter… 2020-02-25 2.42k次阅读 0条评论 1人点赞
lizhirui 2020-01-28 关于充分必要的一点想法 对于一个命题A<->B,我们称A为充分条件,B为必要条件,A->B为必要性证明,B->A为充分性证明不过这是为什么呢?我们设A为命题:我有一个苹果,B为命题:我有一个水果。那么A->B显然是… 2020-01-28 2.4k次阅读 0条评论 8人点赞