算法

KMP和Z函数

KMP和Z函数KMP和Z函数,首先要先了解什么是KMP,把KMP了解了,使用Z函数就能更加顺手。很多人初次接触KMP的时候,思路很容易混乱,导致写出来的程序也很混乱。Knuth-Morris-Pratt字符串查找算……

最优化算法实例讲解

最优化算法实例讲解DFS(深度优先搜索)是一种常见的算法,我们平时遇到的大部分题目都可以用DFS解决,但是一般情况下,这都是骗分算法,很少会有爆搜为正解的题目。因为DFS的时间复杂度特别高。一、定义DFS(深度优先搜索……

Python枚举算法

Python枚举算法        本章我们进入算法的学习,我们会通过比较经……

哈夫曼树的介绍及C语言代码实现

哈夫曼树的介绍及C语言代码实现1.简介哈夫曼树(HuffmanTree),又名:最优二叉树,赫夫曼树其标准含义是:给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼……

C++字符串常用操作(二)

C++字符串常用操作(二)1.字符串连接操作顾名思义,即将一个字符串链接到另一个字符串的尾部,我们可以创建一个函数,同时利用指针,分别先后全部遍历两个字符串,将其中一个字符串的结束符’\0’去除并链接另……

浅谈约瑟夫问题

浅谈约瑟夫问题本篇内容都将会围绕“约瑟夫问题”谈起,约瑟夫问题,或称“约瑟夫环”,又名“丢手绢问题”。约瑟夫问题是一个出现在计算机科学和数学中……

欧拉图的判定

欧拉图的判定本篇将简要介绍欧拉图的概念、实现和应用,帮助大家在答题中更好的判定。一、定义圈:任选图中一个顶点为起点,沿着不重复的边,经过不重复的顶点为途径,之后又回到起点的闭合途径称为圈。欧拉路径:通过图中所有边……

简述霍夫曼树

简述霍夫曼树1.树的带权路径长度设二叉树具有n个带权叶结点,从根结点到各叶结点的路径长度与相应叶节点权值的乘积之和称为树的带权路径长度(WeightedPathLengthofTree,WPL)。设为二叉树第i个……

前缀和理解与应用

前缀和理解与应用本篇内容主要学习前缀和与其应用。一、前缀和概念前缀和是指某序列的前n项和,可以把它理解为数学上的数列的前n项和,而差分可以看成前缀和的逆运算。合理的使用前缀和与差分,可以将某些复杂的问题简单化。简单来……

分块查找算法介绍与实现

分块查找算法介绍与实现1.算法简介分块查找是折半查找和顺序查找的一种改进方法,分块查找由于只要求索引表是有序的,对块内节点没有排序要求,因此特别适合于节点动态变化的情况,其核心有二索引表,二是分块处理。分块查找要求把一个大……