舞蹈链算法(Dancing Links)运用及执行过程 舞蹈链算法(Dancing Links)运用及执行过程舞蹈链(Dancinglinks)实际上是一种数据结构,可以用来实现X算法,以解决精确覆盖问题。什么是精确覆盖(ExactCover)问题呢?维基百科上对精确覆盖的定义如下:在一个全集X中若干子集的集…… 搜索算法 2022年03月01日 119 点赞 0 评论 82470 浏览
C++代码浅谈IDA*算法 C++代码浅谈IDA*算法本篇简述一下IDA*算法,并列出代码帮助大家理解。(1)算法简介IDA*(IDA*)算法是一种启发式搜索算法,他是采取了迭代加深的A*算法,使用了深度优先搜索的方式。相对于A*算法,IDA*算法主要解…… 搜索算法 2022年05月15日 144 点赞 0 评论 67555 浏览
结合实例解析深度优先搜索(DFS)搜索 结合实例解析深度优先搜索(DFS)搜索当你从一个顶点开始,沿着某条路往下走,一直走到底,如果走完后发现不能达到目标解,就回溯,返回到上一个节点,换条路,然后继续走到底,如此往复,直至所有可能的结果都被搜索完。通俗理解就是不撞南墙不回头这种…… 搜索算法 2022年02月01日 211 点赞 0 评论 114032 浏览
舞蹈链算法(Dancing links)实例讲解 舞蹈链算法(Dancing links)实例讲解前面的文字介绍了舞蹈链,这里就不详细描述什么是舞蹈链了,舞蹈链(Dancinglinks)是一种数据结构,可以用来实现X算法,以解决精确覆盖问题。本篇的内容主要把舞蹈链Dancinglinks应用于实…… 搜索算法 2022年05月09日 228 点赞 0 评论 108556 浏览
C++ STL二分查找std::equal_range()函数入门 前面一节我们学习了upper_bound()函数,该哈数的功能是在指定有序区间内查找第一个高于目标元素的元素。本节我们开始学习新的二分查找函数——equal_range()函数。“equal”意为“对等的”,“range”意为“范围”,equal_range()函数的功能是在指定有序范围内查找等于目标元素的元素范围,作用区间和lower_bound()函数一样都必须为有序区间,比如我们有一个有序序 C++常用算法(一) 2025年10月25日 0 点赞 0 评论 156 浏览
C++ STL按条件查找算法std::find_if()函数入门 前面我们学过查找函数find(beg,end,val),本节我们将继续学习与其功能类似的函数——find_if()函数。find_if(beg , end ,pred),它的功能是在区间[beg , end)找到第一个满足pred条件的第一个元素,并返回指向该元素的迭代器;如果没有找到这个元素,则会返回end()。find_if(beg , end ,pred)中的"pred" C++常用算法(一) 2025年10月23日 0 点赞 0 评论 159 浏览
结合实例解析宽度优先搜索(BFS)搜索 结合实例解析宽度优先搜索(BFS)搜索本篇将会结合实例解析宽度优先搜索(BFS)。一、BFS概念宽度优先搜索算法(又称广度优先搜索)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。Dijkstra单源最短路径算法和Pri…… 搜索算法 2022年03月16日 162 点赞 0 评论 107875 浏览
最优化算法实例讲解 最优化算法实例讲解DFS(深度优先搜索)是一种常见的算法,我们平时遇到的大部分题目都可以用DFS解决,但是一般情况下,这都是骗分算法,很少会有爆搜为正解的题目。因为DFS的时间复杂度特别高。一、定义DFS(深度优先搜索…… 搜索算法 2022年01月22日 173 点赞 0 评论 81361 浏览
C++ STL二分查找std::binary_search()函数入门 前面一节我们学习了equal_range()函数,该函数的功能是在指定有序区间内查找第一个高于目标元素的元素。本节我们开始学习新的二分查找函数——binary_search()函数。“binary”意为“二分的”,“search”意为“查找”,binary_search()函数的功能是在指定有序范围内判断是否存在目标元素。binary_search()函数的语法格式为:/*查找[fir C++常用算法(一) 2025年10月25日 0 点赞 0 评论 193 浏览