关闭
当前搜索:

算法:查找链表中倒数第k个节点

题目:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。 分析:为了得到倒数第k个结点,很自然的想法是先走到链表的尾端,再从尾端回溯k步。可是输入的是单向链表,只有从前往后的指针而没有从后往前的指针。因此我们需要打开我们的思路。既然不能从尾结点开始遍历这个链表,我们还是把思路回到头结点上来。假设整个链表有n个结点,那么倒数第k个结点是从头结点开始的第n-k-1...
阅读(40) 评论(0)

java transient关键字

1. transient的作用及使用方法 我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。 然而在实际开发过程中,我们常常会遇到这样的问题,这个类的有些属性需要序列化,而其他属性不需要被序列化...
阅读(93) 评论(0)

字符串搜索算法kmp与Boyer-Moore,java实现

最近看《大话数据结构》,在串这种数据结构里面提到了kmp算法,在网上搜了一下又发现了更好的Boyer-Moore算法。这里整理一下两种算法。(此篇文章主要用于记忆) 在字符串的匹配过程中大家很容易想到从首字符一个一个的去比较, 最快的情况:test(abcdefg),pattern(abc),这里匹配了三次就找到了,时间复杂度O{1}. 最慢:test(0000001),pattern(00...
阅读(4085) 评论(0)
    个人资料
    • 访问:4250次
    • 积分:69
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:2篇
    • 译文:0篇
    • 评论:0条
    文章存档