Uncategorized
Archived Posts from this Category
Archived Posts from this Category
Skip lists are a fascinating data structure: very simple, and yet have the same asymptotic efficiency as much more complicated AVL trees and red-black trees. While many standard libraries for various programming languages provide a sorted set data structure, there are numerous problems that require more control over the internal data structure than a sorted set exposes. In this article, I will discuss the asymptotic efficiency of operations on skip lists, the ideas that make them work, and their interesting use cases. And, of course, I will give you the source code for a skip list in C#.
16 comments Monday 21 Jul 2008 | Igor Ostrovsky | Uncategorized
There is a lot of information on the concurrent primitives and concepts exposed by the .NET Framework 3.5 available on MSDN, blogs, and other websites. The goal of this post is to distill the information into an easy-to-digest high-level summary: what are the different pieces, where they differ and how they relate. If you want to know the difference between a Thread and a BackgroundWorker, or what is the point of interlocked operations, you are reading the right article.
12 comments Monday 16 Jun 2008 | Igor Ostrovsky | Uncategorized
I realized that there is a very clean way to express a multi-clause if statement by composing ternary conditional operators like this:
var result =
condition1 ? result1
: condition2 ? result2
: condition3 ? result4
…
: conditionN ? resultN
: default;
13 comments Monday 02 Jun 2008 | Igor Ostrovsky | Uncategorized