算法经典
Xechos
博观而约取,厚积而薄发
展开
-
超详细!KMP算法
串的模式匹配模式匹配是数据结构中字符串的一种基本运算,给定一个子串,要求在某个字符串中找出与该子串相同的所有子串,这就是模式匹配。假设P是给定的子串,T是待查找的字符串,要求从T中找出与P相同的所有子串,这个问题成为模式匹配问题。P称为模式,T称为目标。如果T中存在一个或多个模式为P的子串,就给出该子串在T中的位置,称为匹配成功;否则匹配失败。...转载 2020-10-24 10:45:54 · 406 阅读 · 0 评论 -
括号匹配——栈的应用
括号匹配问题括号匹配,是栈的一个重要的应用,在表达式求值中也应用十分广泛。就是检查左右括号是否匹配。来看看一道LeetCode问题,你就明白是怎么回事了。题目简述给定一个只包含 ‘(’,’)’,’{’,’}’,’[‘和’]'的字符串,判断字符串是否有效。有效的条件为:括号必须有相同的括号对应, 且括号必须以正确的顺序对应。示例1:输入:"()"输出:true示例2:输入:"()[]{}"输出: true示例3:输入:"([)]"输出:true...原创 2020-10-24 10:07:44 · 1090 阅读 · 0 评论 -
排序算法
排序:将一个数据元素(或记录)的任意序列,重新排列成一个按关键字有序的序列。原创 2020-09-22 10:44:47 · 541 阅读 · 0 评论 -
哈夫曼树(Python实现)
哈夫曼树"""【问题描述】使用贪心算法求解Huffman编码问题,具体来说就是,根据每个字符的出现频率, 构造出字符的最优二进制表示,即前缀码。 在程序开始说明部分,简要描述使用贪心算法求解Huffman编码问题的算法过程。【输入形式】在屏幕上输入字符个数和每个字符的频率。【输出形式】每个字符的Huffman编码。"""import nu...原创 2019-11-29 10:15:53 · 3533 阅读 · 0 评论