数据结构及算法学习
数据逻辑结构及经典算法的学习实践
代码小司机
这个作者很懒,什么都没留下…
展开
-
数据结构之树的逻辑结构简介及存储结构的简单Java实现
树结构:由N个结点组成的有限集,在各个结点间具备树状的逻辑结构关系; 当N=0时,该树是空树; 当N>0时,该树是非空树,而树中有且只有一个根节点,其余结点组成M个有限集亦是树结构,称为根的子树;树结构名词解释:(参考如下的示例树状逻辑结构图)根结点:树状逻辑结构中唯一的,没有双亲结点的结点;内部结点:树状逻...原创 2019-12-18 13:17:16 · 2414 阅读 · 0 评论 -
字符串匹配算法 —— KMP 优化匹配算法的实现
预读博客:字符串匹配算法 —— 朴素(暴力)匹配算法的实现前言:预读博客中展示了朴素的字符串匹配算法,也是最容易实现的匹配算法,但是上述的算法中存在着性能问题,比如存在原始字符串 SSSSSSSSSSSX 和匹配字符串 SSSX,则在使用上述朴素算法时,就会发现每次都是到最后一个才发现匹配失败,而每次只移动一位原始字符串位置再重新遍历匹配,算法在这种情况下效率较低,实际的计算次数是可以...原创 2019-12-11 14:07:03 · 404 阅读 · 0 评论 -
字符串匹配算法 —— 朴素(暴力)匹配算法的实现
字符串匹配问题:假设存在原始的字符串 abcabdfhfd之后使用 R 表示,现提供另一个匹配字符串 abdf之后使用 M 表示,请计算得出 M 字符串在 R 字符串中的位置;问题分析: 按照常规的思维,要计算两个字符串的匹配关系,需要使用较短的匹配字符串逐项对比原始字符串,如果发现有字符串不匹配则回到初始位置的后一位进行再次出现匹配,直到找到为止,如下所示。使用这种方式得出的算法...原创 2019-12-03 14:47:57 · 934 阅读 · 0 评论 -
经典斐波那契数列学习 -- 兔子繁衍问题的代码实现
经典兔子问题: 假设一对大兔子每个月可以生产一对小兔子,每对新生的小兔子经过两个月既可以长成一对大兔子, 且具备繁殖能力,如果不考虑发生死亡的情况,且每次均生下一雌一雄,请问 N 年后共有多少对兔子?问题分析:通过图示的方式寻找兔子数量的变化规律,获得斐波那契数列:1, 1, 2, 3, 5, 8 .... 实际规律:根据如上获取的数列可以表...原创 2019-12-02 16:07:25 · 2408 阅读 · 0 评论