算法

字符串匹配实例讲解

字符串匹配实例讲解本篇主要讲字符串匹配以及字符串算法中三个主要算法的一些内容,帮助大家理解。一、基本概念字符串匹配问题假设文本是一个长度为n的数组T[1…n],而模式是一个长度为m的数组P[1&helli……

C++代码浅谈迭代加深搜索

C++代码浅谈迭代加深搜索本篇简述一下迭代加深搜索,并列出了伪代码帮助大家理解。迭代加深是一种每次限制搜索深度的深度优先搜索。(1)本质:它的本质还是深度优先搜索,只不过在搜索的同时带上了一个深度d,当d达到设定的深度时就返回……

数据结构与算法

数据结构与算法请牢记:程序=数据结构+算法1.数据结构发展史1)起源:1968年美国唐•欧•克努特教授开创了数据结构的最初体系,他所著的《计算机程序设计技巧》第一卷《基本算法》是第一本较系统地阐……

什么是弦图?

什么是弦图?什么是弦图?下面的图我们看到后,第一感觉应该虽然看着很酷炫,但是会感觉很复杂,感觉无所适从,不知怎么来看这个图表。今天我们就来介绍下这个图表是怎么用的?这个图表叫做弦图,弦图主要用于展示多个对象之间的……

有向无环图图文讲解

有向无环图图文讲解一、定义边有向,无环。英文名叫DirectedAcyclicGraph,缩写是DAG。一个无环的有向图称做有向无环图。在图论中,如果一个有向图无法从某个顶点出发经过若干条边回到该点,则这个图是一个有向……

插头DP图文实例讲解

插头DP图文实例讲解本篇通过图文解析讲述插头DP的内容,结合前面的状态压缩DP知识,以及前置知识:哈希,方便大家能快速理解。在阐述什么是插头DP之前,我们先了解插头DP有什么用?插头DP是用来解决一类网格图上的连通性问题……

什么是Manacher算法?

什么是Manacher算法?本篇讲解manacher算法,大家在学习之前,提前了解一下两个字符串相算法——kmp和拓展kmp,这些算法都是字符串算法。相对于前面介绍的两个算法,Manacher算法的应用范……

插入排序算法C/C++代码图文讲解

插入排序算法C/C++代码图文讲解插入排序的代码实现虽然没有冒泡排序和选择排序那么简单粗暴,但它的原理应该是最容易理解的了,因为只要打过扑克牌的人都应该能够秒懂。插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于……

贪心算法的基本思想与实例讲解

贪心算法的基本思想与实例讲解贪心算法是什么?并不是字面上贪心的意思,而且选出目前最好的结果,这块有个误区,并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。虽然贪心算法不能对所有问题都能得到最优的结果,但对许多问……