Data Structures And Algorithms With Object-Oriented Design Patterns In C Sharp.pdf

(12339 KB) Pobierz
Data Structures and Algorithms with Object-Oriented Design Patterns in C#
Data Structures and Algorithms with Object-Oriented Design Patterns in C#
Data Structures and Algorithms with Object-Oriented Design Patterns in C#
Data Structures and Algorithms
with Object-Oriented Design Patterns in
C#
Bruno R. Preiss
B.A.Sc., M.A.Sc., Ph.D., P.Eng.
Software Engineer and Architect
SOMA Networks, Inc.
Toronto, Canada
l Colophon
l Dedication
l Preface
Contents
l Introduction
l Algorithm Analysis
l Asymptotic Notation
l Foundational Data Structures
Data Types and Abstraction
l Stacks, Queues, and Deques
l Ordered Lists and Sorted Lists
l Hashing, Hash Tables, and Scatter Tables
l Trees
Search Trees
l Heaps and Priority Queues
l Sets, Multisets, and Partitions
l Garbage Collection and the Other Kind of Heap
l Algorithmic Patterns and Problem Solvers
http://www.brpreiss.com/books/opus6/html/book.html (1 of 2) [2002-11-17 ソタネト 11:01:21]
l
l
l
295673515.022.png 295673515.023.png 295673515.024.png
Data Structures and Algorithms with Object-Oriented Design Patterns in C#
l Sorting Algorithms and Sorters
l Graphs and Graph Algorithms
C# and Object-Oriented Programming
l Class Hierarchy Diagrams
l Character Codes
l Index
Copyright © 2001 by Bruno R. Preiss, P.Eng. All rights reserved.
http://www.brpreiss.com/books/opus6/html/book.html (2 of 2) [2002-11-17 ソタネト 11:01:21]
l
295673515.025.png 295673515.001.png 295673515.002.png 295673515.003.png
Colophon
Data Structures and Algorithms with Object-Oriented Design Patterns in C#
Colophon
Copyright © 19101 by Bruno R. Preiss.
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or
transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise,
without the prior written permission of the author.
This book was prepared with LaTeX and reproduced from camera-ready copy supplied by the author.
The book is typeset using the Computer Modern fonts designed by Donald E. Knuth with various
additional glyphs designed by the author and implemented using METAFONT.
METAFONT is a trademark of Addison Wesley Publishing Company.
Java is a registered trademark of Sun Microsystems.
TeX is a trademark of the American Mathematical Society.
UNIX is a registered trademark of AT&T Bell Laboratories.
Microsoft is a registered trademark of Microsoft Corporation.
Copyright © 2001 by Bruno R. Preiss, P.Eng. All rights reserved.
http://www.brpreiss.com/books/opus6/html/page1.html [2002-11-17 ソタネト 11:01:22]
295673515.004.png 295673515.005.png 295673515.006.png 295673515.007.png 295673515.008.png 295673515.009.png
Dedication
Data Structures and Algorithms with Object-Oriented Design Patterns in C#
Dedication
To Patty
Copyright © 2001 by Bruno R. Preiss, P.Eng. All rights reserved.
http://www.brpreiss.com/books/opus6/html/page2.html [2002-11-17 ソタネト 11:01:22]
295673515.010.png 295673515.011.png 295673515.012.png 295673515.013.png 295673515.014.png 295673515.015.png
Preface
Data Structures and Algorithms with Object-Oriented Design Patterns in C#
Preface
This book was motivated by my experience in teaching the course E&CE 250: Algorithms and Data
Structures in the Computer Engineering program at the University of Waterloo. I have observed that the
advent of object-oriented methods and the emergence of object-oriented design patterns has lead to a
profound change in the pedagogy of data structures and algorithms. The successful application of these
techniques gives rise to a kind of cognitive unification: Ideas that are disparate and apparently unrelated
seem to come together when the appropriate design patterns and abstractions are used.
This paradigm shift is both evolutionary and revolutionary. On the one hand, the knowledge base grows
incrementally as programmers and researchers invent new algorithms and data structures. On the other
hand, the proper use of object-oriented techniques requires a fundamental change in the way the
programs are designed and implemented. Programmers who are well schooled in the procedural ways
often find the leap to objects to be a difficult one.
l Goals
l Approach
Outline
l Suggested Course Outline
l Online Course Materials
Copyright © 2001 by Bruno R. Preiss, P.Eng. All rights reserved.
http://www.brpreiss.com/books/opus6/html/page3.html [2002-11-17 ソタネト 11:01:23]
l
295673515.016.png 295673515.017.png 295673515.018.png 295673515.019.png 295673515.020.png 295673515.021.png
Zgłoś jeśli naruszono regulamin