桶排序算法C/C++代码图文讲解 桶排序是计数排序的升级版。它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定,这篇文章就带大家认识一下桶排序。一、桶排序桶排序(Bucketsort)或所谓的箱排序,是一个排序算法,工作的原理是将数组分到有限数量的桶里。每个桶再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序 排序算法 2022年01月10日 176 点赞 0 评论 100876 浏览
树哈希常用的方式 树哈希,顾名思义,对树进行哈希,经常判断两个树是否同构。一下均为对有根树的算法,而无根树只需要找重心。我们有时需要判断一些树是否同构。这时,选择恰当的哈希方式来将树映射成一个便于储存的哈希值(一般是32位或64位整数)是一个优秀的方案。树哈希有很多种哈希方式,下面将选出几种较为常用的方式来加以介绍。 图论 2022年03月28日 143 点赞 0 评论 65100 浏览
概率DP实例讲解 在动态规划中,概率DP一般会用于研究有关于概率,步数,期望等问题。简单总结为以下四个点:(1)数学期望P=Σ每一种状态*对应的概率。(2)因为不可能枚举完所有的状态,有时也不可能枚举完,比如抛硬币,有可能一直是正面,etc。但是现在发现大多数题就是手动找公式或者DP推出即可, 动态规划 2022年02月16日 105 点赞 0 评论 66011 浏览
高精度计算的应用 什么是高精度算法?它是处理大数字的数学计算方法。在一般的科学计算中,会经常算到小数点后几百位或者更多,当然也可能是几千亿几百亿的大数字。一般这类数字我们统称为高精度数。但近几年的CSPJ/S复赛貌似从未单独考过高精度算法,但有时会和其他算法一起考。 数学相关 2022年04月20日 106 点赞 0 评论 98673 浏览
二分答案算法实例讲解 本篇内容讲解二分答案,并通过实例分析和解决问题,在一些解题中,二分答案往往在一个单调闭区间上进行,也就是说,二分答案最后得到的答案应该是一个确定值,而不是像搜索那样出现多解的情况。那么什么时候适用二分答案呢?下面我们详细为大家说说,并且通过练习题讲解,帮助大家学习和应用。 算法基础 2022年04月21日 145 点赞 0 评论 110387 浏览
树形选择排序(锦标赛排序)C/C++代码图文讲解 树形选择排序(treeselectionsort)是堆排序的一个过渡,并不是核心算法,大家可以结合介绍和C++代码的范例进行理解。(1)算法介绍树形选择排序(TreeSelectionSort),又称锦标赛排序(TournamentSort),是一种按锦标赛的思想进行选择排序的方法。 排序算法 2022年05月25日 140 点赞 0 评论 97672 浏览
C/C++如何设计函数多返回值? 有那么一种情况,函数本身需要返回多个值,如在地图参数中需要返回二维坐标(x,y),或者是系统设计中需要返回一个学生多门课程的成绩。这里提供了一些做法和思路。1.全局变量,为什么不用它?如,这样的方法,当我们需要通过函数对多个值进行返回和传递的时候, C++STL库教程(附带题库) 2022年05月29日 136 点赞 0 评论 81124 浏览
Python递归算法 我们在前面学习过递归函数,递归函数采用的就是递归算法,前面我们通过最常见的菲波那切数列去学习了递归函数,这一节我们再来详细了解一下递归算法。1.递归算法递归算法(英语:recursionalgorithm)在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。 Python算法 2022年03月26日 94 点赞 0 评论 92242 浏览
竞赛学习路线推荐(算法数据结构) 阅读这一节之前,请确认你熟悉的语言,无论C、C++、java都已经很熟练运用,不存在语法问题了,否则参考本节的学习路线会让你变得着急和打退堂鼓对于已经掌握一种语言可以参赛之后,算法和数据结构的学习,笔者认为大体分三个步骤:那些顺带的、不用专门学的常规算法和数据结构;这些如递归算法、遍历枚举、模拟、素数 从入门到进阶 2022年05月04日 234 点赞 0 评论 119209 浏览
C++STL之stack栈容器 1.再谈栈回顾一下之前所学的栈,栈是一种先进后出的数据结构,而实现方式需要创建多个结构体,通过链式的方式进行实现,这是标准的栈的思路,而在STL中栈可以以更为简单的方式实现。2.头文件头文件#include<stack>3.初始化格式为:explicitstack(constcontainer_typ C++STL库教程(附带题库) 2022年04月30日 192 点赞 0 评论 88385 浏览