算法

树链剖分解决什么问题?

树链剖分解决什么问题?一、什么是树链剖分什么是树链剖分?它可以把树分成若干条链,从而维护树上的路径信息。本质思想是把树剖成可以用线性结构存储的结构,然后可以数据结构维护。分为三种:重链剖分、长链剖分、实链剖分。以下以重链剖……

哈夫曼树编码与查找算法(C语言实现)

哈夫曼树编码与查找算法(C语言实现)1.哈夫曼树的查找算法查找算法根据构建哈夫曼树算法衍生而来,我们在构建二叉树时需要查找出哪些数据最小,以符合我们哈夫曼树的最优解情况。查找权重值最小的两个结点的思想是:从待处理数据的头部位置开始,首先……

什么是哈希表?

什么是哈希表?很多人说起“哈希表”,就会直接聚焦到hash函数、“散列”、“杂凑”等方向,会使得初学者一头雾水,反而更加不理解什么,下面就会系……

什么是动态规划?

什么是动态规划?谈到动态规划,很多人会疑惑动态规划难吗?说实话很难,特别是对于初学者来说,入门动态规划的时候,举个例子,看0-1背包问题,很容易就被题目弄懵了。就算看的懂答案,但就是自己不会做,不知道怎么下手。就像做……

C++标准库中的字符串

C++标准库中的字符串一、C++字符串C++提供了以下两种类型的字符串表示形式:(1)C风格字符串(2)C++引入的string类类型二、C风格字符串C风格的字符串起源于C语言,并在C++中继续得到支持。字符串实际上是使用……

Alpha-Beta剪枝搜索图文讲解

Alpha-Beta剪枝搜索图文讲解本篇将简要介绍α-β剪枝,这是一种基于剪枝(α-βcut-off)的深度优先搜索(depth-firstsearch)。一、什么是α剪枝?(1)……

博弈算法实例详解

博弈算法实例详解1.简介博弈博弈/博弈论,又称为对策论(GameTheory)、赛局理论等,既是现代数学的一个新分支,也是运筹学的一个重要学科。博弈论主要研究公式化了的激励结构间的相互作用,是研究具有斗争或竞争性质现……

简述Pick定理

简述Pick定理什么是皮克定理?1899年,犹太数学家皮克(GeorgAlexanderPick)发现了一个被誉为“有史以来最重要的100个数学定理之一”的“皮克定理”……

动态查找-二叉排序树介绍与实现

动态查找-二叉排序树介绍与实现1.算法简介二叉排序树(BinarySortTree),又称二叉查找树(BinarySearchTree),亦称二叉搜索树。该树属于一种输入数据就默认产生一种顺序的数据结构,这不像本章前面的内容所描述……

C++STL之Map容器

C++STL之Map容器1.简介Map也是一种关联容器,它是键—值对的集合,即它的存储都是以一对键和值进行存储的,Map通常也可以理解为关联数组(associativearray),就是每一个值都有一个键与值一一……