Skip to content

Releases: Mnjongen/Unscramble

1.0.3

15 Feb 22:06
52cfe42
Compare
Choose a tag to compare

Fixed a bug where packages wouldn't be published

1.0.2

15 Feb 21:55
Compare
Choose a tag to compare

Renamed from Unscrambler to Unscramble. I believe that this name is better as it sounds more professional. This should allow more people to find the project.

Full Changelog: 1.0.1...1.0.2

1.0.1

01 Feb 20:25
Compare
Choose a tag to compare

In this update the following has changed:

  • Updated the readme
  • Updated files to use file scoped namespaces
  • Updated BasicWordLoader
    • Moved file path parameter to the constructor
    • Renamed LoadFromFileAsync to LoadWordsAsync as it now allows implementations outside of reading words from a file
  • Removed Word.cs

Full Changelog: 1.0.0...1.0.1

Unscrambler v1.0.0

01 Feb 18:33
Compare
Choose a tag to compare

Introducing Unscrambler 🎉

Hello, everyone!

I'm excited to announce the first release of Unscrambler, a new library that can find all words that can be made using a given set of letters. It has been optimized to make sure that it finds these words as fast as possible.

The idea of Unscrambler started when I download a new game on my phone.It was one of those games where you have to find specific words using a set of letters.The game started of easy but after a couple of days, it got harder and harder.At some point it took me to long to find the words and I got bored.I was tempted to search for a site that could help me.But as I was typing my search into the search box, I got an idea. Why not make something myself, I am a programmer after all.

And so I did. I started by making a simple console application that would take a set of letters and find all the words that could be made using those letters.It was a simple brute force algorithm that would check every word in a dictionary to see if it could be made using the letters.It worked, but it was slow.It took about 50 milliseconds to find all the words that could be made using the letters "computer". This was not slow enough to be a problem, but I knew that I could make it faster.

Then I started to think about how I could make it faster. That is when I started to work on a new algorithm. The new algorithm works very well and was about 15 times faster than the brute force algorithm. I then optimized it even further by using Spans, HashSets and removing unnecessary code. At the end, it was around 20 times faster then the brute force algorithm. I see this as a big success!

I decided to create a Nuget package this implementation and to make the code open source. This is so that other could help me optimize the algorithm even further, or create their own algorithms.

This is the first of (hopefully) many libraries that I will be making and publishing. I have many more ideas and I would love to share them with all of you.

Happy coding!

Full Changelog: 0.0.1-alpha.1...1.0.0

First alpha release

01 Feb 14:56
Compare
Choose a tag to compare