计数DP实例讲解 本篇主要从计数DP上结合实例分析。一、计数类DP——整数划分整数划分大体上可以分为3类(1)考虑顺序的拆分方案(即1,1,2;和2,1,1是两种不同的方案),这种问题一般转化为完全背包即可解决。(2)不考虑顺序的拆分方案,可以划分出空集(也就是可以有对拆分完全没贡献的东西存在(0))(3)不考虑顺序的 动态规划 2022年04月04日 98 点赞 0 评论 61681 浏览
动态查找-平衡二叉树 1.简介平衡二叉树(BalancedBinaryTree)具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。平衡二叉树的常用实现方法有红黑树、AVL、替罪羊树、Treap、伸展树等。其中最为经典当属AVL树, 查找算法 2022年03月05日 204 点赞 0 评论 107854 浏览
Alpha-Beta剪枝搜索图文讲解 本篇将简要介绍α-β剪枝,这是一种基于剪枝(α-βcut-off)的深度优先搜索(depth-firstsearch)。一、什么是α剪枝?(1)将走棋方定为MAX方,因为它选择着法时总是对其子节点的评估值取极大值,即选择对自己最为有利的着法;(2)将应对方定为MIN方, 搜索算法 2022年01月25日 118 点赞 0 评论 100381 浏览
什么是格雷码? 一、什么是格雷码?格雷码,又叫循环二进制码或反射二进制码,格雷码是我们在工程中常会遇到的一种编码方式,它的基本的特点就是任意两个相邻的代码只有一位二进制数不同,格雷码的基本特点就是任意两个相邻的代码只有一位二进制数不同,这点很重要。典型的二进制格雷码(BinaryGrayCode)简称格雷码, 其他算法 2022年05月30日 122 点赞 0 评论 108212 浏览
广义表的介绍及设计(C语言实现) 1.简介数组可以存储不允许再分割的数据元素,如字符’X’,数字11,当然他也可以存储数组,二维数组就是一个例子,你可以理解二维数组的每一行的元素是一列中的对应元素的组合。广义表是一种线性表,或者说,广义表是一种线性表的推广,它属于多层次的线性表, 串、数组、矩阵和广义表 2022年01月06日 91 点赞 0 评论 106065 浏览
基数排序算法C/C++代码图文讲解 基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。(1)什么是基数排序?1.通过键值得各个位的值, 排序算法 2022年05月05日 148 点赞 0 评论 104830 浏览
傅里叶-莫茨金消元法的应用 傅里叶-莫茨金消元法的英文名:Fourier-MotzkinElimination,简称FME算法,它是一种用于从线性不等式中消除变量的数学方法。它的命名源自于在1827年和1936年独立发现该算法的JosephFourier和TheodoreMotzkin的姓氏。 数学相关 2022年02月22日 55 点赞 0 评论 75353 浏览
C++STL之Set容器 1.简介Set(集合)属于关联式容器,也是STL中最实用的容器,关联式容器依据特定的排序准则,自动为其元素排序。Set集合的底层使用一颗红黑树(可能读者对此不太了解,等但学到树论与图论的章节的时候就会明白原因),其属于一种非线性的数据结构,每一次插入数据都会自动进行排序, C++STL库教程(附带题库) 2022年04月13日 151 点赞 0 评论 118260 浏览
哈夫曼树的介绍及C语言代码实现 1.简介哈夫曼树(HuffmanTree),又名:最优二叉树,赫夫曼树其标准含义是:给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。 树 2022年03月19日 266 点赞 0 评论 157041 浏览
二分查找(折半查找)实例讲解 二分查找(英语:binarysearch),也称折半查找(英语:half-intervalsearch)、对数搜索(英语:logarithmicsearch),是用来在一个有序数组中查找某一元素的算法。二分查找算法仅适用于有序序列,它只能用在升序序列或者降序序列中查找目标元素。 算法基础 2022年02月10日 215 点赞 0 评论 116948 浏览