动态查找-平衡二叉树 1.简介平衡二叉树(BalancedBinaryTree)具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。平衡二叉树的常用实现方法有红黑树、AVL、替罪羊树、Treap、伸展树等。其中最为经典当属AVL树, 查找算法 2022年03月05日 204 点赞 0 评论 107854 浏览
基数排序算法C/C++代码图文讲解 基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。(1)什么是基数排序?1.通过键值得各个位的值, 排序算法 2022年05月05日 148 点赞 0 评论 104830 浏览
简述最小树形图 一、什么是最小树形图?就是指有向图上的最小生成树,英文是DirectedMinimumSpanningTree。常用的算法是朱刘算法(也称Edmonds算法),可以在O(nm)时间内解决最小树形图问题。(1)过程对于每个点,选择它入度最小的那条边如果没有环, 图论 2022年03月27日 222 点赞 0 评论 96712 浏览
C++STL之Queue容器 1.再谈队列回顾一下之前所学的队列,队列和栈不同,队列是一种先进先出的数据结构,STL的队列内容极其重要,虽然内容较少但是请务必掌握,STL的队列是快速构建搜索算法以及相关的数论图论的状态存储的基础。2.相关头文件头文件:#include<queue>3.初始化格式为:explicitqueue(co C++STL库教程(附带题库) 2022年03月14日 139 点赞 0 评论 116477 浏览
什么是动态规划? 谈到动态规划,很多人会疑惑动态规划难吗?说实话很难,特别是对于初学者来说,入门动态规划的时候,举个例子,看0-1背包问题,很容易就被题目弄懵了。就算看的懂答案,但就是自己不会做,不知道怎么下手。就像做递归的题,看的懂答案,但下不了手。对于动态规划, 动态规划 2022年04月03日 222 点赞 0 评论 88223 浏览
什么是Lyndon分解? 我们定义一个串是Lyndon串,当且仅当这个串的最小后缀就是这个串本身。该命题等价于这个串是它的所有循环表示中字典序最小的。引理1:如果u和v都是Lyndon串并且u<v,则uv也是Lyndon串。证明:1、若len(u)≥len(v)这时, 字符串相关 2022年02月28日 69 点赞 0 评论 85293 浏览
什么是格雷码? 一、什么是格雷码?格雷码,又叫循环二进制码或反射二进制码,格雷码是我们在工程中常会遇到的一种编码方式,它的基本的特点就是任意两个相邻的代码只有一位二进制数不同,格雷码的基本特点就是任意两个相邻的代码只有一位二进制数不同,这点很重要。典型的二进制格雷码(BinaryGrayCode)简称格雷码, 其他算法 2022年05月30日 122 点赞 0 评论 108212 浏览
搜索算法简介 说到搜索算法,它是利用计算机的高性能来有目的的穷举一个问题的部分或所有的可能情况,从而求出问题的解的一种方法。搜索过程实际上是根据初始条件和扩展规则构造一棵解答树并寻找符合目标状态的节点的过程。搜索算法在路径规划、行为决策、语句识别、语义分析等多个领域都发挥着非常重要的作用, 搜索算法 2022年01月06日 67 点赞 0 评论 83441 浏览
竞赛学习路线推荐(算法数据结构) 阅读这一节之前,请确认你熟悉的语言,无论C、C++、java都已经很熟练运用,不存在语法问题了,否则参考本节的学习路线会让你变得着急和打退堂鼓对于已经掌握一种语言可以参赛之后,算法和数据结构的学习,笔者认为大体分三个步骤:那些顺带的、不用专门学的常规算法和数据结构;这些如递归算法、遍历枚举、模拟、素数 从入门到进阶 2022年05月04日 234 点赞 0 评论 119208 浏览
概率DP实例讲解 在动态规划中,概率DP一般会用于研究有关于概率,步数,期望等问题。简单总结为以下四个点:(1)数学期望P=Σ每一种状态*对应的概率。(2)因为不可能枚举完所有的状态,有时也不可能枚举完,比如抛硬币,有可能一直是正面,etc。但是现在发现大多数题就是手动找公式或者DP推出即可, 动态规划 2022年02月16日 105 点赞 0 评论 66011 浏览