Algorithms

NGenerics overview - the Priority Queue

Previous instalments General Data Structures HashList ObjectMatrix Trees GeneralTree and the Visitor Pattern Binary Trees and Binary Search Trees The Priority Queue data structure has the same basic behaviour and operations as the classic queue found in .NET . A queue applies a first-in, first-out (FIFO ) approach to a list of objects. This data …

Tarjan's Algorithm

Thanks to a contribution from Andre van der Merwe (blog , twitter ), NGenerics now features Tarjan’s strongly connected components algorithm on it’s Graph implementation. By using Tarjan’s algorithm, we’re able to find the strongly connected components (read : cycles) in a directed graph. You can invoke it via the FindCycles …

NGenerics Overview - Binary Trees and Binary Search Trees

Previous instalments General Data Structures HashList Trees GeneralTree and the Visitor Pattern If you haven’t read my previous post on General Trees, it might be a good idea to do so before reading further. A Binary Tree is a refined version of the General Tree that limits the number of children each node can have - two to be exact. Child …

NGenerics 1.2 released

Yeah, NGenerics 1.2 has been released! If you haven’t checked it out yet, do so now - no decent programmer should go without a toolbox of data structures and algorithms.

Generic Data Structures and Algorithms in .NET 2.0

I’ve posted an article on generic data structures on CodeProject. At the moment, it provides the following data structures : Deque GeneralTree BinaryTree SorterList Heap Bag Set Graph Association Matrix I’ve also implemented a couple of sorting algorithms. If you get a change, go check it out , and give me some feedback.

A very interesting hobby

I’ve grown interested in Chess programming this year, and started building my own chess engine that will understand the WinBoard protocol. Chess programming is fascinating. Initial development is difficult but I’m starting off with the basics : A simple bitboard representation. A simple implementation of the Alpha-Beta algorithm. …