The Visual Basic.NET (VB.NET) programming language is not usually associated with the study of data structures and algorithms. The primary reason for this must be because most university and college computer science departments don’t consider VB.NET to be a “serious” programming language that can be used to study serious topics. This is primarily a historical bias based on Basic’s past as a “nonprogrammer’s” language often taught to junior high, senior high, and liberal arts college students, but not to computer science or computer engineering majors.
The present state of the language, however, aligns it with other, more serious programming languages, most specifically Java. VB.NET, in its current form, contains everything expected in a modern programming language, from true object-oriented features to the .NET Framework library, which rivals the Java libraries in both depth and breadth.
Included in the .NET Framework library is a set of collection classes, which range fromthe Array, ArrayList, and Collection classes, to the Stack and Queue classes, to the Hashtable and the SortedList classes. Students of data structures and algorithms can now see how to use a data structure before learning how to implement it. Previously, an instructor had to discuss the concept of, say, a stack, abstractly until the complete data structure was constructed. Instructors can now show students how to use a stack to perform some computations, such as number base conversions, demonstrating the utility of the data structure immediately.With this background, students can then go back and learn the fundamentals of the data structure (or algorithm) and even build their own implementation.
This book is written primarily as a practical overview of the data structures and algorithms all serious computer programmers need to know and understand. Given this, there is no formal analysis of the data structures and algorithms covered in the book. Hence, there is not a single mathematical formula and not one mention of Big O analysis (for the latter the reader is referred to any of the books listed in the bibliography). Instead, the various data structures and algorithms are presented as problem-solving tools. We use simple timing tests to compare the performance of the data structures and algorithms discussed in the book