摘要: 1. 虚函数和多态 1.1 虚函数 在类的定义中,前面有 virtual 关键字的成员函数称为虚函数; virtual 关键字只用在类定义里的函数声明中,写函数体时不用。 class Base { virtual int Fun() ; // 虚函数 }; int Base::Fun() // vi 阅读全文
posted @ 2021-05-29 22:04 白小白2020 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 1. 题目描述 你这个学期必须选修 numCourses 门课程,记为0到numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组prerequisites 给出,其中prerequisites[i] = [ai, bi] ,表示如果要学习课程ai 则 必须 先学习课程 阅读全文
posted @ 2021-04-09 17:07 白小白2020 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 1.概念 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。 回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术 阅读全文
posted @ 2020-08-19 09:31 白小白2020 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 一、基础性质 零路径长:任一节点的零路径长 npl( X ) 定义为从X到一个不具有两个儿子的节点的最短路径长。 注意:具有 0 个或 1 个儿子的节点的 npl 为 0 ,而 npl( nullptr ) = -1 。 图1 两棵树的零路径长;只有左边的树是左式堆 左式堆性质:对于堆中的每个节点X 阅读全文
posted @ 2020-04-08 20:57 白小白2020 阅读(247) 评论(0) 推荐(0) 编辑
摘要: // 更新入度 void updataIndegree( ) { for (auto node : vexs) for (auto x : node.medges) ++x.mit->mindegree; } // 拓扑排序 void topsort() { int counter = 0; upd 阅读全文
posted @ 2020-03-09 18:07 白小白2020 阅读(136) 评论(0) 推荐(0) 编辑
摘要: // 任意合并两个不相交集合 void unionSets( int root1, int root2 ) { s[ root2 ] = root1; } // 寻找 x 所在集合 int find( int x ) const { if( s[ x ] < 0 ) return x; else r 阅读全文
posted @ 2020-03-04 16:32 白小白2020 阅读(283) 评论(0) 推荐(0) 编辑