算法

什么是后缀数组?

什么是后缀数组?对于后缀数组的概念,很多人都存在疑惑,为什么要学习后缀数组?那么我们就来说说原因,后缀数组是一个比较强大的处理字符串的算法,是有关字符串的基础算法,所以必须掌握。 学会后缀自动机(S……

动态规划DP算法详解

动态规划DP算法详解1.简介动态规划(dynamicprogramming)是运筹学的一个分支,是求解决策过程(decisionprocess)最优化的数学方法。20世纪50年代初美国数学家R.E.Bellman等人在研……

树的遍历之中序遍历二叉树

树的遍历之中序遍历二叉树1.简介依旧是下面的这三句话:先序遍历:根左右中序遍历:左根右后序遍历:左右根      &……

C++的区别

C++的区别1.从C语言到C++1980年,BjarneStroustrup博士着手创建一种新的语言,能够具有面向对象的程序设计特色。在当时,面向对象编程是一个新颖的概念,Stroustrup博士并不是从头开始设……

最小生成树图文解析

最小生成树图文解析最小生成树英文是MinimumSpanningTree,对于最小生成树大家应该都不陌生,当然还有最大生成树,首先就简单总结一下算法里的生成树。一、什么是生成树?Spanning有跨越的意思,生成树一般……

什么是链表?

什么是链表?通过研究证明,怎么学好数据结构?怎么入门?需要学些什么东西?链表是数据结构的重要部分,学好用好链表,在解题的过程中,思路将更加清晰,链表作为数据结果的基础之一,本篇将会通过图文和代码展示的形式系统的介……

如何证明升幂定理?

如何证明升幂定理?一、定义升幂定理(LifttheExponent,常简记为LTE)根据相应乘法群的结构不同,升幂定理分为两部分,模为奇素数与模为2,简记为LTEp和LTE2。定理需要记为素数p在整数n中的个数,即恰好……

C语言标准库中的字符串

C语言标准库中的字符串一、字符串操作<string.h>size_tstrlen(charconst*s);注意:返回值类型size_t是无符号类型,和int进行运算或比较时需要注意;char*……

最小生成树,克鲁斯卡尔(Kruskal)算法及C/C++代码实现

最小生成树,克鲁斯卡尔(Kruskal)算法及C/C++代码实现1.克鲁斯卡尔算法简介克鲁斯卡尔(Kruskal)算法是一种用来寻找最小生成树的算法(用来求加权连通图的最小生成树的算法)。在剩下的所有未选取的边中,找最小边,如果和已选取的边构成回路,则放弃,选取次……

C/C++如何设计函数多返回值?

C/C++如何设计函数多返回值?有那么一种情况,函数本身需要返回多个值,如在地图参数中需要返回二维坐标(x,y),或者是系统设计中需要返回一个学生多门课程的成绩。这里提供了一些做法和思路。1.全局变量,为什么不用它?如,这样的方法,……