算法

状态压缩DP图文实例讲解(一)

状态压缩DP图文实例讲解(一)动态规划算法的过程是随着阶段的增长,在每个状态维度上的分界点组成了DP拓展的轮廓。对于某些问题,我们需要在动态规划的状态中记录一个集合,保存这个轮廓的详细信息,以便于进行状态转移。若集合大小不超过N,……

后缀自动机(单词的有向无环图)简介

后缀自动机(单词的有向无环图)简介在我们学习后缀自动机之前,一定要先了解什么是自动机?自动机(确定有限状态自动机)是由一个非空有限状态的集合Q、一个输入字母表Σ(非空有限字符的集合)、一个转移函数(单值映射)、一个开始状态……

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

桶排序算法C/C++代码图文讲解桶排序是计数排序的升级版。它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定,这篇文章就带大家认识一下桶排序。一、桶排序桶排序(Bucketsort)或所谓的箱排序,是一个排序算法,工作的……

最小生成树,普利姆(Prim)算法及C/C++代码实现

最小生成树,普利姆(Prim)算法及C/C++代码实现1.最小生成树(又名:最小权重生成树)概念:将给出的所有点连接起来(即从一个点可到任意一个点),且连接路径之和最小的图叫最小生成树。最小生成树属于一种树形结构(树形结构是一种特殊的图),或者说是直链型……

C++STL之multiset与multimap容器

C++STL之multiset与multimap容器1.MultisetMultiset是set集合容器的一种,其拥有set的全部内容,在此基础之上,multiset还具备了可以重复保存元素的功能,因此会有略微和set的差别。Multise容器在执行i……

高精度计算的应用

高精度计算的应用什么是高精度算法?它是处理大数字的数学计算方法。在一般的科学计算中,会经常算到小数点后几百位或者更多,当然也可能是几千亿几百亿的大数字。一般这类数字我们统称为高精度数。但近几年的CSPJ/S复赛貌似从……

树形选择排序(锦标赛排序)C/C++代码图文讲解

树形选择排序(锦标赛排序)C/C++代码图文讲解树形选择排序(treeselectionsort)是堆排序的一个过渡,并不是核心算法,大家可以结合介绍和C++代码的范例进行理解。(1)算法介绍树形选择排序(TreeSelectionSort),又称……

结合实例浅析构造题型

结合实例浅析构造题型什么是构造?大家在日常做题中应该遇到过,构造题这一种题型,而且还是比赛中常见的一类题型。本篇将简要介绍构造题这类题型以及两个实例的展示。一、什么是构造?构造题是一种题型,而且还是比赛中常见的一类题型。……

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

直接插入排序算法实例详解1.复杂度与稳定性最坏情况:O(N^2)最好情况:O(N^2)平均情况:O(N^2) 稳定性:稳定排序2.过程介绍直接插入排序是把新的数据插入以及排序好的数列中,排序的基本方法是:每……

广义表的介绍及设计(C语言实现)

广义表的介绍及设计(C语言实现)1.简介数组可以存储不允许再分割的数据元素,如字符’X’,数字11,当然他也可以存储数组,二维数组就是一个例子,你可以理解二维数组的每一行的元素是一列中的对应元素的组合。广义表……