Giter VIP home page Giter VIP logo

penjing's Introduction

Penjing

build

Penjing (pinyin for ็›†ๆ™ฏ) is the Chinese name describing the garderning art that lead to the Japanese Bonsai.

Suffix Trees are like Bonsais, they come in many shapes but they always aim to be compact. This library however aims to be broader than just providing the trees. It tries to expose all the landscaping that comes with them: useful algorithms.

As this little introduction implies, this headers only library implements suffix tree construction and related algorithms using C++20.

penjing's People

Contributors

rerito avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

penjing's Issues

Improve buildsystem

The goal is two-fold:

  1. Migrate to Conan for dependency handling
  2. Improve CMake integration

Leaf functionality missing

Hello Rerito! Thank you for writing this elegant library.

I'm working on finding largest common substrings of relatively big data, and I'm suspecting the leaf functionality needs to be in place for this to work. Would it entail a lot of work? I'm a bit clueless, but if you point me in the right direction I'd be happy to do it myself and share.

Segfault on mississippixsissy$

The following code crashes reproducibly with a segmentation fault on my machine:

st::suffix_tree<> t1('$');
t1.emplace("mississippixsissy$");

This happens on the master branch. Since the crash doesn't occur when changing the string slightly, e.g. by removing the 'x', I'm tempted to think it's a bug in the algorithm.

Ukkonen's algorithm is a royal pain to implement, so thanks heaps for making this; I just wanted to let you know.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.