Your textbook…

Programming Abstractions in C: A Second Course in Computer Science

By Eric S. Roberts

ISBN-10: 0-201-54541-1

ISBN-13: 978-0-201-54541-8What's this?

Published by Addison-Wesley

Pub. Date: Aug 8, 1997

Format: Paper

Table of Contents

I. PRELIMINARIES.

An Overview of Ansi C.

What is C?

The Structure of a C Program.

Variables, Values, and Types.

Expressions.

Statements.

Functions.

Data Types in C.

Enumeration Types.

Data and Memory.

Pointers.

Arrays.

Pointers and Arrays.

Records.

Dynamic Allocation.

Libraries and Interfaces.

The Concept of an Interface.

Random Numbers.

Strings.

The Standard I/O Library.

Other ANSI Libraries.

II. RECURSION AND ALGORITHMIC ANALYSIS.

Introduction to Recursion.

A Simple Example of Recursion.

The Factorial Function.

The Fibonacci Function.

Other Examples of Recursion.

Thinking Recursively.

Recursive Procedures.

The Towers of Hanoi.

Generating Permutations.

Graphical Applications of Recursion.

Backtracing Algorithms.

Solving a Maze by Recursive Backtracking.

Backtracking and Games.

Analysis of Algorithms.

The Sorting Problem.

Computational Complexity and Big-O Notation.

Recursion to the Rescue.

Standard Complexity Classes.

The Quicksort Algorithm.

Mathematical Induction.

III. DATA ABSTRACTION.

Abstract Data Types.

Stacks.

Defining a Stack ADT.

Using Stacks in an Application.

Implementing the Stack Abstraction.

Defining a Scanner ADT.

Efficiency and ADTs.

The Concept of an Editor Buffer.

Defining the Buffer Abstraction.

Implementing the Editor Using Arrays.

Implementing the Editor Using Stacks.

Implementing the Editor Using Linked Lists.

Linear Structures: Stacks and Queues.

Stacks Revisited.

Queues.

Simulations Involving Queues.

Symbol Tables.

Designing the Symbol Table Interface.

Hash Tables.

Using Functions as Data.

Mapping Functions.

Iterators.

Command Dispatch Tables.

IV. RECURSIVE DATA.

Recursive Lists.

The Recursive Formulation of a List.

Defining a List Abstraction.

Generalized List Structure.

Trees.

Family Trees.

Binary Search Trees.

Balanced Trees.

Defining a General Interface for Binary Search Trees.

Expression Trees.

Overview of the Interpreter.

Understanding the Abstract Structure of Expressions.

Representing Expressions as a Concrete Type.

Parsing an Expression.

Evaluating an Expression.

Sets.

Sets as a Mathematical Abstraction.

Designing a Set Interface.

Implementing the Set Package.

Designing a Polymorphic Iterator.

Enhancing the Efficiency of Integer Sets.

Graphs.

The Structure of a Graph.

A Standalone Interface for Graphs.

Implementation Strategies for Graphs.

A Set-Based Interface for Graphs.

Graph Traversals.

Finding Minimum Paths.

Looking Ahead.

The Concept of Object-Oriented Programming.

A Brief Tour of the Java Programming Language.

Interactive Programming. 0201545411T04062001

Textbook

List Price: $102.00

Add to Shopping Cart

Members pay only $91.80

Free FedEx Ground Shipping.