Skip to content

fix for quadratic time caused by substring() in LZW compression #114

@inflaton

Description

@inflaton

Hi Kevin,

I've made a fix for quadratic time caused by substring() in LZW compression. The key to the fix is to use a new overloaded method TST.longestPrefixOf(String query, int startIndex) in LZW.compress() method. Attached please find 3 reference files:

  1. LempelZivWelch.java: improved LZW.java

  2. TernarySearchTrie: improved TST.java

  3. lzw.sh: shell script proves the correctness and performance improvement.
    NOTE: existing LZW seems to take forever to compress dickens.txt (~29MB)

Regards,
Donghao

LZW_fix.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions