数据结构与算法
rotation ㅤ
这个作者很懒,什么都没留下…
展开
-
KMP算法详解
KMP算法,是由Knuth,Morris,Pratt共同提出的模式匹配算法,其对于任何模式和目标序列,都可以在线性时间内完成匹配查找,而不会发生退化,是一个非常优秀的模式匹配算法。但是相较于其他模式匹配算法,该算法晦涩难懂,第一次接触该算法的读者往往会看得一头雾水,主要原因是KMP算法在构造跳转表next过程中进行了多个层面的优化和抽象,使得KMP算法进行模式匹配的原理显得不那么直白。本文希望能够原创 2016-10-12 20:16:36 · 1890 阅读 · 0 评论 -
根据前序遍历序列和中序遍历序列创建二叉树
一个前序遍历序列和一个中序遍历序列可以确定一颗唯一的二叉树。 根据前序遍历的特点, 知前序序列(PreSequence)的首个元素(PreSequence[0])为二叉树的根(root), 然后在中序序列(InSequence)中查找此根(root), 根据中序遍历特点, 知在查找到的根(root) 前边的序列为根的左子树的中序遍历序列, 后边的序列为根的右子树的中序遍历原创 2016-10-27 21:56:14 · 6375 阅读 · 1 评论 -
判断两个单链表是否相交及找到第一个交点
题目:给两个单链表,如何判断两个单链表是否相交?若相交,则找出第一个相交的节点。 这道题的思路和解法有很多,在这把这道题的解法做一个详细的总结。解这道题之前,我们需要首先明确一个概念: 如果两个单链表有共同的节点,那么从第一个共同节点开始,后面的节点都会重叠,直到链表结束。 因为两个链表中有一个共同节点,则这个节点里的指针域指向的下一个节点地址一样,所以下一个节点也会相交,依次类推。所以,若相原创 2017-12-24 16:45:48 · 47165 阅读 · 13 评论