计数排序算法C/C++代码图文讲解 计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。(1)算法的步骤:1.找出待排序的数组中最大和最小的元素2.统计数组中每个值为i的元素出现的次数, 排序算法 2022年01月13日 71 点赞 0 评论 100261 浏览
C++STL之List容器 1.再谈链表List链表的概念再度出现了,作为线性表的一员,C++的STL提供了快速进行构建的方法,为此,在前文的基础上通过STL进行直接使用,这对于程序设计中快速构建原型是相当有必要的,这里的STL链表是单链表的形式。2.头文件头文件:#include<list>3.初始化格式为:explicitl C++STL库教程(附带题库) 2022年01月24日 137 点赞 0 评论 112708 浏览
差分的理解与应用 说到差分,差分是一种和前缀和相对的策略,可以当做是求和的逆运算。差分,一般在大数据里用在以时间为统计维度的分析中,其实就是下一个数值,减去上一个数值。当间距相等时,用下一个数值,减去上一个数值,就叫“一阶差分”,做两次相同的动作,即再在一阶差分的基础上用后一个数值再减上一个数值一次,就叫“二阶差分"。 算法基础 2022年02月25日 238 点赞 0 评论 110482 浏览
斯坦纳树的应用 斯坦纳树问题是组合优化问题,与最小生成树相似,是最短网络的一种。最小生成树是在给定的点集和边中寻求最短网络使所有点连通。而最小斯坦纳树允许在给定点外增加额外的点,使生成的最短网络开销最小。1.什么是斯坦纳树?斯坦纳树问题是组合优化学科中的一个问题。 图论 2022年02月01日 209 点赞 0 评论 88249 浏览
二分图的最大匹配、完美匹配和匈牙利算法 二分图:简单来说,如果图中点可以被分为两组,并且使得所有边都跨越组的边界,则这就是一个二分图。准确地说:把一个图的顶点划分为两个不相交集U和V,使得每一条边都分别连接U、V中的顶点。如果存在这样的划分,则此图为一个二分图。二分图的一个等价定义是:不含有「含奇数条边的环」的图。 图论 2022年01月30日 121 点赞 0 评论 103448 浏览
最优化算法实例讲解 DFS(深度优先搜索)是一种常见的算法,我们平时遇到的大部分题目都可以用DFS解决,但是一般情况下,这都是骗分算法,很少会有爆搜为正解的题目。因为DFS的时间复杂度特别高。一、定义DFS(深度优先搜索)定义上的深度优先搜索的思路与树的先序遍历非常相似, 搜索算法 2022年01月22日 173 点赞 0 评论 82420 浏览
树的遍历之中序遍历二叉树 1.简介依旧是下面的这三句话:先序遍历:根左右中序遍历:左根右后序遍历:左右根在上文我们接触到了先序遍历,本文我们开始学习中序遍历,中序遍历采用左根右的遍历方式,如图,就一个最简单的二叉树遍历而言,中序遍历的遍历访问过程是先B再A再C。实际上的二叉树并没有这么简单, 树 2022年01月08日 252 点赞 0 评论 116383 浏览
栈的定义和特点 数据结构的重要部分,栈,栈是OI中常用的一种线性数据结构,请注意,本文主要讲的是栈这种数据结构,而非程序运行时的系统栈/栈空间,大家一定要弄清晰,别混淆了。栈的定义和特点栈(stack)是一个特殊的线性表,是限定仅在一端(通常是表尾)进行插入和删除操作的线性表。 数据结构 2022年02月28日 144 点赞 0 评论 117959 浏览
动态规划DP算法详解 1.简介动态规划(dynamicprogramming)是运筹学的一个分支,是求解决策过程(decisionprocess)最优化的数学方法。20世纪50年代初美国数学家R.E.Bellman等人在研究多阶段决策过程(multistepdecisionprocess)的优化问题时, 算法和竞赛 2022年02月15日 67 点赞 0 评论 101894 浏览
矩阵的介绍及乘法运算(附C语言实现代码) 1.矩阵概念在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合,最早来自于方程组的系数及常数所构成的方阵。这一概念由19世纪英国数学家凯利首先提出。矩阵是高等代数学中的常见工具,也常见于统计分析等应用数学学科中。在物理学中, 串、数组、矩阵和广义表 2022年04月06日 171 点赞 0 评论 168324 浏览