![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++算法
以C/C++代码为基础实现各种算法
Lapulas2022
勇敢的追逐梦想,做一个有思想有主见的人。
展开
-
深度优先搜索经典实例——马踏棋盘算法
深度优先搜索应用比较广泛,最近学习了一下,并结合经典实例——马踏棋盘算法进一步的理解。马踏棋盘算法是算法设计的经典问题之一;题目要求简介:国际象棋的棋盘为8*8的方格棋盘,现在将“马”放在任意指定的方格中,按照“马”走棋的规则将“马”进行移动。要求每一个方格只能进入一次,最终使得“马”走遍棋盘64个方格。其实说到底深度优先搜索和递归思想十分相似;相关的知识点:1.回溯法:指导思想比较简单...原创 2020-02-23 17:53:00 · 1093 阅读 · 0 评论 -
递归法解决古老的八皇后问题
人使用迭代,神使用递归。最近再一次学习了递归算法,愈发的体会到其精简与奇妙之处,尽管它层层调用自身函数,容易占用大量内存资源并且可能会造成栈溢出,但这并不妨碍其独特的魅力,可以说它让人们只需提供一个思路,就可以让机器自动的帮你跑下去,不用人去层层深入做一些无意义的思考,这是何等的伟大。请看下面递归算法解决古老而著名的八皇后问题(回溯经典算法题)#include "stdafx.h"#inclu...原创 2020-02-17 22:24:49 · 436 阅读 · 0 评论 -
迪杰斯特拉算法之生活中的最短路径问题求解原理
最短路径算法在生活中有极其重要的意义与运用,如高铁、地铁的路线规划问题,最近学习了迪杰斯特拉算法,颇有感慨,遂成一篇笔记以记之。以邻接矩阵为存储结构,如下图所示:拓扑结构图如下:求v0到v8的最短路径,其实思想比较简单,蕴含着贪心法的思想,它并不是一下子求出v0到v8的最短路径,而是先求出v0到v1的最短路径,再求出v2到v3的最短路径,过程就是基于已经求出的最短路径的基础上,求出更远拓扑...原创 2020-02-15 14:58:55 · 1818 阅读 · 0 评论 -
大名鼎鼎的KMP算法之NEXT数组原理及获取讲解
最近在研究算法,不得不说,算法是一个巧夺天工的东西;前几天就研究了一个关于字符串匹配的算法——KMP算法。俗话所说的好,掌握一个东西就要从其最本质的最核心的原理入手;工作上广为传颂的二八原理——掌握了20%的精华,余下80%就是细枝末节,就很容易搞定了。MP算法是基于BF算法改进,减少了字符串的重复遍历次数,其原理最主要是依靠一个非常著名的NEXT数组,理解了该数组就理解了KMP算法的核心。...原创 2020-02-13 18:40:05 · 924 阅读 · 0 评论