算法

分块查找算法介绍与实现

分块查找算法介绍与实现1.算法简介分块查找是折半查找和顺序查找的一种改进方法,分块查找由于只要求索引表是有序的,对块内节点没有排序要求,因此特别适合于节点动态变化的情况,其核心有二索引表,二是分块处理。分块查找要求把一个大……

字符串的KMP算法详解及C/C++代码实现

字符串的KMP算法详解及C/C++代码实现1.原由紧接上文,我们知道了暴力匹配的算法在时间运行上的缺陷,假设字符串T的长度为n,字符串P的长度为m,则整个算法的时间复杂度为O(n*m),而对于一个复杂的现实情况而言n>&……

最小生成树图文解析

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

什么是链表?

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

如何证明升幂定理?

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

C语言标准库中的字符串

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

动态规划DP算法详解

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

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

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

C++的区别

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

图的基础概念

图的基础概念图(Graph)是由顶点和连接顶点的边构成的离散结构。在计算机科学中,图是最灵活的数据结构之一,很多问题都可以使用图模型进行建模求解。图(Graph)通常会放在树(Tree)后面介绍,树可以说是图的特……