算法
文章平均质量分 90
狐尔摩斯
这个作者很懒,什么都没留下…
展开
-
数据结构与算法2:LeetCode题“有效数字”
LeetCode一道题:有效数字我的题解:有限自动机解法看到匹配数字,很快能想到写代码的时候,编译器能识别代码中的常量是如何识别的。那就一定涉及到编译原理,虽然不清楚编译器是如何实现的,但是可以从编译原理中有限自动机获得思路。根据要求画出几种状态和路径,可以构造出有限自动机。构造出有限自动机,就可以很轻松的利用“当前状态”和“可行的下一个状态”去遍历字符串去判断。这种方法有很强的的可扩展性,根据需求,只需要修改有限自动机就可以了。这道题很多坑,没有给出实际的测试用例,需要不断调试才能了解题目原创 2020-06-08 17:42:14 · 231 阅读 · 0 评论 -
数据结构:哈夫曼树、哈夫曼编码的实现
复习数据结构1:哈夫曼数和哈夫曼编码大部分代码是以前写的,所以是C语言,只完成了生成哈夫曼树。复习期间又完善了哈夫曼树生成编码的部分。如果使用C++/Java实现,利面向对象的优势应该更好。这里不再阐述哈夫曼编码为何是最短前缀编码的理论知识哈夫曼编码实现原理非常简单:1.利用贪心的思想,构造当前最优树2.进而构造出整体的最优树3.再利用哈夫曼树生成哈夫曼编码实现的难点在于数据结构的设计,操作数据结构也要仔细。尽量通过模块化的思想逐步解决。首先是结构体和函数声明主要是三个函数:H原创 2020-06-08 01:02:53 · 1095 阅读 · 0 评论