算法

最短路径,迪杰斯特拉(Dijkstra)算法及C/C++代码实现

最短路径,迪杰斯特拉(Dijkstra)算法及C/C++代码实现1.何为最短路径最短路径问题是图论研究中的一个经典算法问题,旨在寻找图(由结点和路径组成的)中两结点之间的最短路径,大致可以分为如下几种问题,可无论如何分类问题,其本质思想还是不变的,即,求两点间的最……

网络流的基本概念

网络流的基本概念什么是网络流?首先大家要知道网络流在图论中是尤为重要的。在这里,给大家介绍网络流中的一些基本知识。一、网络流的概念和定义整理在图论中,网络流(英语:Networkflow)是指在一个每条边都有容量(C……

图文解析图论DFS(深度优先搜索)

图文解析图论DFS(深度优先搜索)DFS全称是DepthFirstSearch,中文名是深度优先搜索,是一种用于遍历或搜索树或图的算法。所谓深度优先,就是说每次都尝试向更深的节点走。一、图搜索GraphSearch的分类(1)BFS广……

数位DP概念和实例讲解

数位DP概念和实例讲解说到数位DP,它主要是用于处理一些与数位有关的问题,主要是计数问题。并且数位DP一直以来是DP家族里比较冷门的一种,但一旦遇上了,如果不会数位DP单纯靠暴力方法很难骗分。一、什么是数位DP?数位DP是……

什么是后缀树?

什么是后缀树?说到后缀树,我相信很多人通过名字看出来树是一种结构形态,后缀树就是带后缀的结构,后缀,顾名思义,甚至通俗点来说,就是所谓后缀就是后面尾巴的意思。比如说给定一长度为n的字符串S=S1S2..Si..Sn……

数据结构与算法

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

归并排序算法实例详解

归并排序算法实例详解1.复杂度与稳定性算法时间复杂度最坏情况O(NlogN)最好情况O(NlogN)平均情况O(NlogN) 空间复杂度O(N) 注:归并排序需要创建一个与原数组相同长……

图的存储-邻接矩阵及C/++代码实现

图的存储-邻接矩阵及C/++代码实现1.什么是图图论(graphtheory)是数学的一个分支,它以图为研究的对象。图论本身是应用数学的一部分,历史上图论曾经被很多数学家各自独立建立过。关于图论的最早文字记载最早出现在欧拉1736年的论……

树链剖分解决什么问题?

树链剖分解决什么问题?一、什么是树链剖分什么是树链剖分?它可以把树分成若干条链,从而维护树上的路径信息。本质思想是把树剖成可以用线性结构存储的结构,然后可以数据结构维护。分为三种:重链剖分、长链剖分、实链剖分。以下以重链剖……

DP优化(一)单调队列/单调栈优化实例讲解

DP优化(一)单调队列/单调栈优化实例讲解一、什么是单调栈和单调队列?(1)单调栈从名字上就听的出来,单调栈中存放的数据应该是严格单调有序的,具有以下两个性质。1.满足从栈顶到栈底的元素具有严格的单调递增或单调递减性;2.满足栈的后进先出特性……