Ciencias,UNAM

Object-oriented algorithm analysis and design with Java

DSpace/Manakin Repository

Show simple item record

dc.contributor.author Rajsbaum, S
dc.contributor.author Viso Gurovich, Elisa
dc.date.accessioned 2011-01-22T10:26:36Z
dc.date.available 2011-01-22T10:26:36Z
dc.date.issued 2005
dc.identifier.issn 0167-6423
dc.identifier.uri http://hdl.handle.net/11154/1526
dc.description.abstract This paper presents a new approach to algorithm design and analysis that benefits from the OO characteristics of Java. It consists of first defining the inheritance structure of a collection of algorithms, at different levels of abstraction. Then, correctness proofs and complexity measures are designed for the various levels of abstraction. The goal is to prove as many properties as possible at each abstract level, assuming the implementations of the methods called upon will be correct. Thus, when a more specialized algorithm is derived from a more abstract one, proofs and complexity analysis can be reused, and simply need to be completed by proving that the properties assumed for the concrete methods indeed hold. The approach is illustrated with several inheritance trees: for sorting, graph algorithms, string matching, and network flow. Each tree, at the bottom of the hierarchy, yields well-known algorithms in the respective area. Instead of using pseudo-code to describe these trees, Java is used to make the process more precise and useful, encouraging the design and analysis of algorithms, and also experimentation with new variants. The implementation presented in this paper takes advantage of Java's organization to build the inheritance trees for the classes, and Java's interfaces, collections, comparators, and iterators. (C) 2004 Elsevier B.V. All rights reserved. en_US
dc.language.iso en en_US
dc.title Object-oriented algorithm analysis and design with Java en_US
dc.type Article en_US
dc.identifier.idprometeo 1712
dc.identifier.doi 10.1016/j.scico.2004.05.004
dc.source.novolpages 54(1):25-47
dc.subject.wos Computer Science, Software Engineering
dc.description.index WoS: SCI, SSCI o AHCI
dc.subject.keywords algorithms
dc.subject.keywords inheritance
dc.subject.keywords polymorphism
dc.subject.keywords teaching Java
dc.subject.keywords sorting
dc.subject.keywords graph algorithms
dc.subject.keywords string matching
dc.subject.keywords network flow
dc.relation.journal Science of Computer Programming

Files in this item

Files Size Format View

There are no files associated with this item.

This item appears in the following Collection(s)

Show simple item record

Search DSpace


Advanced Search

Browse

My Account