算法

二维计算几何基础

什么是“二维计算几何”?当我们将需要解决的几何问题的范围限制在二维平面内,这样就用到了二维计算几何。要用电脑解平面几何题?这就是陷入误区了,我们并不是用计算机算数学卷子上的几何题去了,而是解决一些更加复杂的几何相关问题。为了解决复杂且抽象的问题,我们一定要选择合适的研究方法。

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

1.什么是图图论(graphtheory)是数学的一个分支,它以图为研究的对象。图论本身是应用数学的一部分,历史上图论曾经被很多数学家各自独立建立过。关于图论的最早文字记载最早出现在欧拉1736年的论著中,也就是著名的柯尼斯堡(Konigsberg)问题(七桥问题)。

什么是线性DP?

一、什么是线性?越是基础的概念,越应该有一个透彻的理解,才能对上层问题有直接了当的理解。比如对线性分割器,你对线性有透彻的理解,一看这个名字就大概知道它是怎么回事了。1.几何理解:线性关系就是直线关系现在你可以想象一条曲线S,它可以是直的也可以是弯的,

什么是AC自动机?

AC自动机,我知道很多人看到这个会十分好奇,不过这个自动机它又叫做Automaton。我相信大家在初学自动机相关内容时,许多人难以建立对自动机的初步印象,尤其是在自学的时侯。让我们切入正题,通过这段时间对自动机的研究,然后制作若干的gif,已经可以呈现出一个相对直观的自动机形态,

数据结构与算法入门

1.序欢迎阅读本教程。本套教程由UDP广播协议叫吃饭编写,面向对计算机编程有一定基础的同学,如果你对计算机完全属于一种小白的状态,建议前往(C语言教程)以及(C++教程)进行基础的学习。本教程IDE采用来自https://sourceforge.net/projects/orwelldevcpp/下载

快速排序算法C/C++代码图文讲解

快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要Ο(nlogn)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(nlogn)算法更快,因为它的内部循环(innerloop)可以在大部分的架构上很有效率地被实现出来。

在线算法和离线算法的区别

本章浅谈一下在线算法,当然,说到在线算法会想到离线算法,这两个概念都会提到,帮助大家理解。(一)在线算法在计算机科学中,一个在线算法是指它可以以序列化的方式一个个的处理输入,也就是说在开始时并不需要已经知道所有的输入。相对的,对于一个离线算法,

直接插入排序算法实例详解

1.复杂度与稳定性最坏情况:O(N^2)最好情况:O(N^2)平均情况:O(N^2)稳定性:稳定排序2.过程介绍直接插入排序是把新的数据插入以及排序好的数列中,排序的基本方法是:每一步将一个待排序的元素,按其排序码的大小,插入到前面已经排好序的一组元素的适当位置上去,直到元素全部插入为止。

什么是启发式搜索?

本篇将会结合实例解析启发式搜索,帮助大家更好理解。启发式搜索(英文:heuristicsearch)是一种改进的搜索算法。它在普通搜索算法的基础上引入了启发式函数,该函数的作用是基于已有的信息对搜索的每一个分支选择都做估价,进而选择分支。简单来说,

最大流是什么?

一、流网络G=(V,E)是一个有向图,其中每条边(u,v)有一个非负的容量值c(u,v),而且如果E中包含一条边(u,v),那么图中就不存在它的反向边。在流网络中有两个特殊的结点,源结点s和汇点t。下面给出流网络的形式化定义。令G=(V,E)为一个流网络,其容量函数为c,设s我为网络的源点,t为汇点。