Data Structures and Algorithms (DSA)

Welcome to the Data Structures and Algorithms (DSA) project. DSA attempts to address the omission of certain key data structures and algorithms in the .NET 3.5 framework. In some cases we also provide alternative implementations to that which is offered in the BCL.

DSA is licensed under the Microsoft Public License (Ms-PL).

Installation:

Release history:

Requirements

Runtime binaries

Each release of DSA contains a single binary:

Note: Dsa.dll is strongy named so it can be installed in the global assembly cache (GAC).

Compiling the source code

Note: the steps outlined here refer not only to building the source code of a release, but also the source code of any change set.

The source code for the DSA project contains a single Visual Studio 2008 solution, which in turn contains two C# projects:

Now follow the steps below:

  1. Build the entire solution (Please select the correct target platform for your machine, by default x86 is the target - this is to support NCover)
  2. Run all the unit tests

Note: if you encounter problems with either of the steps please inform us via the projects homepage.

Release history

All change sets are moderatley stable, however if you want to download the most stable bits please download the latest available release.

DSA 0.6

Release Date: 12/09/08
Release URL: http://www.codeplex.com/dsa/Release/ProjectReleases.aspx?ReleaseId=13900 

Added Features

Work item no. Component Work item title
2875 Data Structures AVL Tree
5160 Algorithms Radix sort (strings)
5171 Data Structures Copy constructors
5921 Data Structures Deque

 

DSA 0.5

Release Date: 30/05/08
Release URL: http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=dsa&ReleaseId=10756

Added Features

Work item no. Component Work item title
3770 Data Structures Priority Queue
3942 Algorithms IsPrime
3943 Algorithms Set permutations

DSA 0.4

Release Date: 21/02/08
Release URL: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=dsa&ReleaseId=9403

Added Features

Work item no. Component Work item title
2095 Algorithms Quick sort
2518 Algorithms Support IList for sorting algorithms
2873 Data Structures UnorderedSet<T>
2874 Data Structures Heap
2876 Algorithms Shell sort
2877 Algorithms Insertion sort
3108 Data Structures Support IList<T> for searching algorithms
3559 Algorithms Repeated word count
3573 Algorithms ToBaseN algorithms (ToBinary, ToOctal, ToHex)

Issues

Fixed:

Work item no. Component Work item title
3088 Algorithms Recursive function refactoring
3179 Data Structures Make Intersection and Union methods generic

DSA 0.3

Release Date: 24/12/07
Release URL: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=dsa&ReleaseId=7657

Added Features

Work item no. Component Work item title
1770 Algorithms Probability search
1790 Algorithms Power
1802 Algorithms Greatest common denominator
1803 Algorithms Reverse words
1862 Data Structures Set
1907 Algorithms Sequential search
2094 Data Structures IComparer - user defined implementations
2096 Algorithms Merge sort
2820 Algorithms Merge ordered

Issues

Fixed:

Work item no. Component Work item title
1827 Data Structures Perf Issue: ArrayList.Add() Title is required

DSA 0.2.3

Release Date: 18/10/07
Release URL: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=dsa&ReleaseId=7291

Added Features

Work item no. Component Work item title
1550 Data Structures BinaryTreeNode<T>
1570 Algorithms Bubblesort - sort asc or desc
1551 Data Structures BinarySearchTree<T>

Issues

Fixed:

Work item no. Component Work item title
1906 Data Structures default items are not returned when calling GetEnumerator on ArrayList
2142 Data Structures ArrayList.Clear doesn't reset the array to default capacity Title is required

 

DSA 0.2.2

Release Date: 30/09/07
Release URL:
https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=dsa&ReleaseId=7405

Added Features

Work item no. Component Work item title
1552 Algorithms Bubblesort
1553 Algorithms Fibonacci
1584 Algorithms Factorial

DSA 0.2.1

Release Date: 21/09/07
Release URL: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=dsa&ReleaseId=7078

Added Features

Work item no. Component Work item title
1334 Algorithms IsPalindrome
1337 Algorithms WordCount
1457 Algorithms Strip
1501 Data Structures ArrayListCollection(Of T) - set default capacity

Issues

Fixed:

Work item no. Component Work item title
1450 Algorithms IsPalindrome - whitespace and punctuation not ignored Title is required

DSA 0.2

Release Date: 13/09/07
Release URL: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=dsa&ReleaseId=6894

Added Features

Work item no. Component Work item title
1335 Algorithms Any
1336 Algorithms Reverse
1338 Data Structures ArrayList<T>
1339 Data Structures DoublyLinkedList<T>

Issues

Fixed:

Work item no. Component Work item title
1401 Data Structures ArrayListCollection(Of T) - Setting value of previously unset index does not increment count Title is required

DSA 0.1

Release Date: 07/09/07
Release URL: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=dsa&ReleaseId=6683

Added Features

Work item no. Component Work item title
1048 Data Structures SinglyLinkedList<T>
1075 Data Structures Queue<T>
1249 Data Structures Stack<T>
1291 DSA VS Debugging Visualizer

Issues

Fixed:

Work item no. Component Work item title
1166 Data Structures CollectionDebugView - Items not appearing in Locals window Title is required