DFS图遍历经典例题C++实现
深度优先遍历图的方法是,从图中某顶点v出发: (1)访问顶点v; (2)依次从v的未被访问的邻接点出发,对…
深度优先遍历图的方法是,从图中某顶点v出发: (1)访问顶点v; (2)依次从v的未被访问的邻接点出发,对…
回溯法简介 回溯法按深度优先策略搜索问题的解空间树。首先从根节点出发搜索解空间树,当算法搜索至解空间…
简介 图论中,拓扑排序(Topological Sorting)是一个有向无环图(DAG, Directed Acyclic Graph)的所有顶…
二叉树 二叉树是一种每个结点至多只有两个子树(即二叉树的每个结点的度不大于2),并且二叉树的子树有左…
简介 Dijkstra算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起…
简介 红黑树(Red Black Tree) 是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用…
简介 Levenshtein Distance是1965年由苏联数学家Vladimir Levenshtein发明的。Levenshtein Distance也被称…
简介 动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学…
简介 动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学…
简介 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整…
二分查找又称折半查找,它是一种效率较高的查找方法。 原理:将数组分为三部分,依次是中值(所谓的中值就…
来自LeetCode 368 描述 给出一个由无重复的正整数组成的集合,找出其中最大的整除子集,子集中任意一对 (S…
三路快排是快速排序算法的升级版,用来处理有大量重复数据的数组。 主要思想是选取一个key,小于key的丢到…
函数原型 int sscanf( string str, string fmt, mixed var1, mixed var2 … ); int scanf( const char *f…
并查集适用问题举例 1、已知,有n个人和m对好友关系 2、如果两个人是直接的或者间接的好友(好友的好友的…
堆的定义 堆其实就是一棵完全二叉树(若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达…