什么是拓扑排序? 拓扑排序主要解决的问题是给一个图的所有节点排序。一、什么是拓扑排序在图论中,拓扑排序(TopologicalSorting)是一个有向无环图(DAG,DirectedAcyclicGraph)的所有顶点的线性序列。且该序列必须满足下面两个条件:(1)每个顶点出现且只出现一次。 图论 2022年02月17日 101 点赞 0 评论 107053 浏览
C++STL之Pair类模板 1.简介Pair表示“一对”的意思,pair将两个数据合成一组数据,在如下两种变成情况中,我们更加常见与使用pair,第一是使用STL中的map(在上一节讲过),对于map而言,key和value需要分开来进行使用和声明,使用pair可以合二为一(但是数据输出时依旧要分离), C++STL库教程(附带题库) 2022年05月31日 203 点赞 0 评论 85686 浏览
字符串基础知识 一、什么是字符串?字符串就是多个只读字符组成的数组。为什么说是只读?只读是因为字符串的所有方法都不会改变原字符串,包括通过下标修改,字符串依旧是保持原样。varstr="abcd"console.log(str)//"abcd"str[0]="c"console.log(str)//"abcd"为什么 字符串相关 2022年01月23日 164 点赞 0 评论 109584 浏览
三维计算几何基础 本篇内容是围绕着三维计算几何展开,三维几何的很多概念和知识与二维几何是想通的,所以在我们做三维几何问题的时候,可以采用解决二维几何问题相同的方法来解决。其中点,向量,直线等概念和二维几何相似,就不再重复介绍了。平面我们可以用平面上的一点和该平面的法向量(即垂直于该平面的向量)n来表示一个平面。 计算几何 2022年01月10日 74 点赞 0 评论 65402 浏览
C++STL之List容器 1.再谈链表List链表的概念再度出现了,作为线性表的一员,C++的STL提供了快速进行构建的方法,为此,在前文的基础上通过STL进行直接使用,这对于程序设计中快速构建原型是相当有必要的,这里的STL链表是单链表的形式。2.头文件头文件:#include<list>3.初始化格式为:explicitl C++STL库教程(附带题库) 2022年01月24日 137 点赞 0 评论 112709 浏览
前缀和理解与应用 本篇内容主要学习前缀和与其应用。一、前缀和概念前缀和是指某序列的前n项和,可以把它理解为数学上的数列的前n项和,而差分可以看成前缀和的逆运算。合理的使用前缀和与差分,可以将某些复杂的问题简单化。简单来说:我们有一个数组x和它的前缀和数组y,他们满足以下公式。 算法基础 2022年04月23日 153 点赞 0 评论 85446 浏览
什么是单调栈? 什么是单调栈?有什么好处?就是栈中元素,按递增顺序或者递减顺序排列的时候,单调栈的最大好处就是时间复杂度是线性的,每个元素遍历一次!单调栈是一种数据结构,它里边存放的数据具有单调性,每个元素都只进栈一次,进栈时会把破坏栈的单调性的元素弹出。为了描述方便,以下举例及伪代码以维护一个整数的单调递增栈为例。 数据结构 2022年05月09日 54 点赞 0 评论 97207 浏览
什么是AC自动机? AC自动机,我知道很多人看到这个会十分好奇,不过这个自动机它又叫做Automaton。我相信大家在初学自动机相关内容时,许多人难以建立对自动机的初步印象,尤其是在自学的时侯。让我们切入正题,通过这段时间对自动机的研究,然后制作若干的gif,已经可以呈现出一个相对直观的自动机形态, 字符串相关 2022年03月09日 175 点赞 0 评论 95558 浏览
C++代码浅谈迭代加深搜索 本篇简述一下迭代加深搜索,并列出了伪代码帮助大家理解。迭代加深是一种每次限制搜索深度的深度优先搜索。(1)本质:它的本质还是深度优先搜索,只不过在搜索的同时带上了一个深度d,当d达到设定的深度时就返回,一般用于找最优解。如果一次搜索没有找到合法的解,就让设定的深度+1,重新从根开始。 搜索算法 2022年02月03日 145 点赞 0 评论 123175 浏览
傅里叶-莫茨金消元法的应用 傅里叶-莫茨金消元法的英文名:Fourier-MotzkinElimination,简称FME算法,它是一种用于从线性不等式中消除变量的数学方法。它的命名源自于在1827年和1936年独立发现该算法的JosephFourier和TheodoreMotzkin的姓氏。 数学相关 2022年02月22日 55 点赞 0 评论 75354 浏览