skip to content
Data structures, algorithms, and software principles in C Preview this item
ClosePreview this item

Data structures, algorithms, and software principles in C

Author: Thomas A Standish
Publisher: Reading, Mass. : Addison-Wesley, ©1995.
Edition/Format:   Print book : EnglishView all editions and formats

Using C, this book develops the concepts and theory of data structures and algorithm analysis. Important software engineering principles are also covered, including modularity, abstract data types  Read more...


(not yet rated) 0 with reviews - Be the first.

More like this


Find a copy online

Links to this item

Find a copy in the library

&AllPage.SpinnerRetrieving; Finding libraries that hold this item...


Additional Physical Format: Online version:
Standish, Thomas A., 1941-
Data structures, algorithms, and software principles in C.
Reading, Mass. : Addison-Wesley, ©1995
Material Type: Internet resource
Document Type: Book, Internet Resource
All Authors / Contributors: Thomas A Standish
ISBN: 0201591189 9780201591187
OCLC Number: 30353899
Notes: Cover title: Data structures, algorithms & software principles in C.
Includes index.
Description: xx, 748 pages : illustrations ; 24 cm
Contents: (All chapters, except Chapter 1, begin with an Introduction and Motivation.) 1. Preparing for the Journey. Where Are We Going? Blending Mathematics, Science, and Engineering. The Search for Enduring Principles in Computer Science. Principles of Software System Structure. Efficiency and Tradeoffs. Software Engineering Principles. Our Approach to Mathematics. Some Notes on Programming Notation. Preview of Coming Attractions. 2. Linked Data Representations. What are Pointers? The Basic Intuition. Pointers in C-The Rudiments. Pointer Diagramming Notation. Linear Linked Lists. Other Linked Data Structures. 3. Introduction to Recursion. Thinking Recursively. Common Pitfall-Infinite Regresses. Quantitative Aspects of Recursive Algorithms. 4. Modularity and Data Abstraction. The Structure of C Modules. Priority Queues-An Abstract Data Type. A Pocket Calculator Interface. How to Hide Data Representations. Modularity and Information Hiding in Program Design. 5. Introduction to Software Engineering Concepts. Top-Down Programming By Stepwise Refinement. Proving Programs Correct. Transforming and Optimizing Programs. Testing Programs. The Philosophy of Measurement and Tuning. Software Reuse and Bottom-up Programming. Program Structuring and Documentation. 6. Introduction to Analysis of Algorithms. What Do We Use for a Yardstick? The Intuition Behind O-Notation. O-Notation-Definition and Manipulation. Analyzing Simple Algorithms. What O-Notation Doesn't Tell You. 7. Linear Data Structures-Stacks and Queues. Some Background on Stacks. ADTs for Stacks and Queues. Using the Stack ADT to Check for Balanced Parentheses. Using the Stack ADT to Evaluate Postfix Expressions. Implementing the Stack ADT. How C Implements Recursive Function Calls Using Stacks. Implementations of the Queue ADT. More Queue Applications. 8. Lists, Strings, and Dynamic Memory Allocation. Lists. Generalized Lists. Applications of Generalized Lists. Strings. Dynamic Memory Allocation. 9. Trees. Basic Concepts and Terminology. Binary Trees. A Sequential Binary Tree Representation. An Application-Heaps and Priority Queues. Traversing Binary Trees. Binary Search Trees. AVL Trees and Their Performance. Two-Three Trees. Tries. An Application-Huffman Codes. 10. Graphs. Basic Concepts and Terminology. Graph Representations. Graph Searching. Topological Ordering. Shortest Paths. Task Networks. Useful Background on Graphs. 11. Hashing and the Table ADT. The Table ADT. Introduction to Hashing by Simple Examples. Collisions, Load Factors, and Clusters. Algorithms for Hashing by Open Addressing. Choosing a Hash Function. Comparison of Searching Methods Using the Table ADT. 12. External Collections of Data. Characteristics of External Storage Devices. Techniques That Don't Work Well. Techniques That Work Well. Information Retrieval and Databases. 13. Sorting. Laying Some Groundwork. Priority Queue Sorting Methods. Divide-and-Conquer Methods. Methods That Insert Keys and Keep Them Sorted. O(n) Methods-Address Calculation Sorting. Other Methods. Comparison and Perspective. 14. Advanced Recursion. Recursion as a Descriptive Method. Using Recursion to Build a Parser. Translating from Infix to Postfix. Recursion and Program Verification. 15. Object-Oriented Programming. Exploring OOP Through Progressive Examples. Building Systems Using Object-Oriented Programming. Advantages and Disadvantages of Object-Oriented Programming. 16. Advanced Software Engineering Concepts. The Software Lifecycle. Software Productivity. Software Process Models. Appendix Math Reference and Tutorial. 0201591189T04062001
Responsibility: Thomas A. Standish.
More information:


User-contributed reviews
Retrieving GoodReads reviews...
Retrieving DOGObooks reviews...


Be the first.
Confirm this request

You may have already requested this item. Please select Ok if you would like to proceed with this request anyway.

Linked Data

Primary Entity

<> # Data structures, algorithms, and software principles in C
    a schema:Book, schema:CreativeWork ;
    library:oclcnum "30353899" ;
    library:placeOfPublication <> ;
    library:placeOfPublication <> ; # Reading, Mass.
    schema:about <> ;
    schema:about <> ; # Algoritmen
    schema:about <> ; # Software engineering
    schema:about <> ; # C (Computer program language)
    schema:about <> ; # Computer algorithms
    schema:about <> ; # C (programmeertaal)
    schema:about <> ; # Software engineering
    schema:about <> ; # C (Langage de programmation)
    schema:about <> ; # Computer algorithms
    schema:about <> ; # Structures de données (Informatique)
    schema:about <> ; # Data structures (Computer science)
    schema:about <> ; # Génie logiciel
    schema:about <> ; # Algorithmes
    schema:bookFormat bgn:PrintBook ;
    schema:copyrightYear "1995" ;
    schema:creator <> ; # Thomas A. Standish
    schema:datePublished "1995" ;
    schema:exampleOfWork <> ;
    schema:inLanguage "en" ;
    schema:isSimilarTo <> ;
    schema:name "Data structures, algorithms, and software principles in C"@en ;
    schema:productID "30353899" ;
    schema:publication <> ;
    schema:publisher <> ; # Addison-Wesley
    schema:url <> ;
    schema:workExample <> ;
    wdrs:describedby <> ;

Related Entities

<> # Addison-Wesley
    a bgn:Agent ;
    schema:name "Addison-Wesley" ;

<> # Reading, Mass.
    a schema:Place ;
    schema:name "Reading, Mass." ;

<> # C (Langage de programmation)
    a schema:Intangible ;
    schema:name "C (Langage de programmation)"@fr ;

<> # C (programmeertaal)
    a schema:Intangible ;
    schema:name "C (programmeertaal)"@en ;

<> # Computer algorithms
    a schema:Intangible ;
    schema:name "Computer algorithms"@en ;

<> # Software engineering
    a schema:Intangible ;
    schema:name "Software engineering"@en ;

<> # Structures de données (Informatique)
    a schema:Intangible ;
    schema:name "Structures de données (Informatique)"@fr ;

<> # Software engineering
    a schema:Intangible ;
    schema:name "Software engineering"@en ;

<> # C (Computer program language)
    a schema:Intangible ;
    schema:name "C (Computer program language)"@en ;

<> # Computer algorithms
    a schema:Intangible ;
    schema:name "Computer algorithms"@en ;

<> # Data structures (Computer science)
    a schema:Intangible ;
    schema:name "Data structures (Computer science)"@en ;

<> # Thomas A. Standish
    a schema:Person ;
    schema:birthDate "1941" ;
    schema:familyName "Standish" ;
    schema:givenName "Thomas A." ;
    schema:name "Thomas A. Standish" ;

    a schema:ProductModel ;
    schema:isbn "0201591189" ;
    schema:isbn "9780201591187" ;

    a schema:CreativeWork ;
    rdfs:label "Data structures, algorithms, and software principles in C." ;
    schema:description "Online version:" ;
    schema:isSimilarTo <> ; # Data structures, algorithms, and software principles in C

Content-negotiable representations

Close Window

Please sign in to WorldCat 

Don't have an account? You can easily create a free account.