Click here to Skip to main content
Licence 
First Posted 14 Dec 2006
Views 20,561
Downloads 356
Bookmarked 9 times

Binary Search Made Easy

How to easily implement a binary search tree in your .NET projects
6 votes, 85.7%
1

2

3

4
1 vote, 14.3%
5
1.84/5 - 7 votes
μ 1.84, σa 2.65 [?]

Introduction

Today I will show you how to search data using the binary tree algorithm.
It may not be the fastest algorithm you've ever seen but it's so easy to use and better than using .NET's simple structures.

Code

First we need to figure out how we sort items in our tree.
It doesn't matter if the data type is a string or a number as long as we decide how to sort items.
To do so, we create a class derived from IComparer. We add a 'Compare' function which returns 0 if the first item is equal to the second one, 1 if greater and -1 if smaller.

Create the binary search object which will accept the comparer class you created before.

BinaryIndex index = new BinaryIndex( new TestComparer(), true ); 


Add several items to this object, in our case it's a number:

index.Add( 10 ); 

index.Add( 2 );

index.Add( 21 ); 

To search the tree just call the Search method which will return an ArrayList object of the results:
ArrayList results = index.Search( 4 ); 

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Eran Aharonovich

Software Developer

Australia Australia

Member
Been a programmer since 1999.
Experience in:
.Net, C++, C#, VB, VB.NET, ASP, ASP.NET, DLLs, COM etc.

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
GeneralRemove seems supsect with 'byMemory' PinmemberRichard_N10:47 14 Dec '06  
Questionwhere is the article? PinmemberMCHANNER6:59 14 Dec '06  

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web01 | 2.5.120210.1 | Last Updated 14 Dec 2006
Article Copyright 2006 by Eran Aharonovich
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid