zhangergaici / bigword

An application to find words in a dictionary from a multiset of letters

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BigWord

An application to efficiently find words in a dictionary from a multiset of letters.

Build Status

Building

$ mkdir bld 
$ cd bld
$ cmake ..
$ make

Running

$ ./bigword linkedlists
> instilled
> kindliest
> niellists
> slinkiest

$ ./bigword abcdefghij
> bighead
> jibhead

$ ./bigword aeioubsdlinux
> unoxidisable

Design

Data is serialized after processing in order to speed up subsequent runs.

Serialization

Human-readable formats are preferred.

Most of the data is plain text, storing it as binary does not improve performance significantly.

When a string may have spaces, it is dumped after a 32-bit unsigned integer value which represents the string size. When it is safe to assume that the string does not have spaces, it is dumped in a new line all by itself.

About

An application to find words in a dictionary from a multiset of letters

License:ISC License


Languages

Language:C++ 75.2%Language:Python 19.3%Language:CMake 4.9%Language:Shell 0.5%