• Complain

Rhonda Hoenigman - Visualizing Data Structures

Here you can read online Rhonda Hoenigman - Visualizing Data Structures full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2015, publisher: Lulu.com, genre: Home and family. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

Rhonda Hoenigman Visualizing Data Structures

Visualizing Data Structures: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Visualizing Data Structures" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

This book is intended for an introductory data structures class, either as a supplement to a traditional textbook or as a stand-alone resource. The intended audience is second-semester computer science students with knowledge of programming in C or C++. The focus is on fundamental concepts of data structures and algorithms and providing the necessary detail for students to implement the data structures presented. Basic data structures, including arrays, stacks, queues, linked lists, trees, binary search trees, tree balancing, hash tables, and graphs are presented, including the operations on those data structures. The algorithms are presented in a language that could be called pseudocode with C++ tendencies. In many cases, basic C++ is also provided. Sorting algorithms and an introduction to complexity analysis and Big-Oh notation are also included. Each chapter includes numerous pictures depicting the data structures and how the basic operations on the structures modify their contents.

Rhonda Hoenigman: author's other books


Who wrote Visualizing Data Structures? Find out the surname, the name of the author of the book and a list of all author's works by series.

Visualizing Data Structures — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Visualizing Data Structures" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
Visualizing Data Structures

Copyright Copyright 2015 by Rhonda Hoenigman All rights reserved This book - photo 1

Copyright

Copyright 2015 by Rhonda Hoenigman

All rights reserved. This book or any portion thereof may not be reproduced or used in any manner whatsoever without the express written permission of the publisher except for the use of brief quotations in a book review or scholarly journal.

First Printing: 2015

ISBN: 978-1-329-13302-0

Rhonda Hoenigman

Boulder, CO 80303

Distributor:

Lulu Publishing

3101 Hillsborough St.

Raleigh, NC 27607

Cover photo by Justin Morse.

Preface

The first time I taught CS2 - Data Structures and Algorithms at the University of Colorado, the available course textbooks that I found were either advanc ed programming books that obscured the detail s on the data structures concepts or theory books that lacked sufficient details on implementations . Over the course of the semester, I wrote copious notes to fill the gaps in our selected course textbook and provided them to my students . B y the end of the semester , I had a draft of a data structures book that was exactly the book for which I had been searching . I decided to publish the material as a self-published e-book so that it would be available as inexpensively as possible for anyone who was interested.

The intended audience for this book is second-semester computer science undergraduates. The focus is on fundamental concepts of data structures and algorithms and providing the necessary detail for students to implement the data structures presented . The content included herein is what I was able to cover in a one-semester course.

This book sets itself apart from other data structures books in the following ways:

The data structures are presented in pictures. There are pictures of arrays, linked lists, graphs, trees, and hash tables that help students visualize the algorithms on these structures. General feedback from my students was that they really appreciated the pictures I drew in class , and I have included all of them here.

There are step-by-step descriptions of how algorithm s work. These descriptions illustrat e the state of the data structure at key lines in an algorithms execution.

The algorithms are presented in a language that I call pseudocode with C++ tendencies. In other words, t here is enough detail in the pseudocode for students to convert it to C++. In many cases, basic C++ is also provided.

I am utilizing this book in my current courses, and hope that you as a student or instructor will find this book useful. Good luck, and happy programming.

Rhonda Hoenigman, PhD

University of Colorado, Boulder

2015

About the author

Rhonda Hoenigman earned her Ph.D. in Computer Science in 2012 from the University of Colorado. She has been an I nstructor in that Department since 2013. Dr. Hoenigman s research interests include predictive modeling and optimization of issues surrounding food waste and food justice systems . She has taught undergraduate courses in introductory computer programming , data structures and algorithms, discrete structures , and artificial intelligence.

Introduction

Th is book is intended for computer science students w ho understand the basics of programming and are ready to launch into a discovery of data structures, which are fundamental to an appreciation of the field of computer science. Typically, these are students with a semester of programming experience, and are in a second semester data structures course. To understand the material presented here in , the reader should have an understanding of C++ or another object-oriented language, such as Java.

The emphasis in this book is on presenting fundamental data structures and the algorithms used to access information stored in the se structures . Many of the data structures are also presented in the context of an abstract data type (ADT), which is the implementation mechanism commonly used in an object-oriented language. A lgorithms are presented as part of an ADT. Pseudo-code is used throughout the book, for both the algorithms as well as the ADT definitions.

What is a d ata structure ?

A data structure is a specialized format for organizing related information. Depending on the type of information, one data structure could provide a better arrangement for storing the data than another data structure , where better refers to the ability to access and manipulate the data efficiently . B asic data structures are itemized below, with a brief description of each :

Arrays: Fixed-length l inear sequence of similar elements , where e ach individual element can be accessed by its index.

Lists: Linear sequence of similar elements that can expand and contract as needed.

Trees: Collection of elements with a hierarchical structure.

M aps : Collection of elements that are accessed through one property of the element, known as a key .

R ecords : Composite data type that is composed of other data elements, called fields or members.

This list of data structures is by no means exhaustive , nor is each data structure independent of the other structures on the list. For example, maps are generally composed of records , and an array is commonly used to implement a map . Modifying the behavior of the basic data structure can also create new data structures. For example, a n array or list where elements can only be added and removed at the last position is called a stack .

What is an Abstract Data Type ?

An Abstract Data Type (ADT) is a collection of data elements and the allowable operations on those elements. In an ADT, the operations are encapsulated ; the user only has information about the inputs, outputs, and an explanation of the actions. The specific details of the operations are hidden. The data elements in an ADT are stored in a data structure . The algorithms to access and manipulate that data structure are implemented as methods in the ADT.

Algorithms and p seudocode

When presenting the details of how specific algorithms perform , a book must balance providing enough detail to convey the nuances of the algorithm with getting mired in the syntax of a particular programming language . For these reasons, algorithms are often presented in pseudocode in this and other books. Pseudocode is a simplified description of the algorithm generated from real code that is intended to be more readable than real computer code while still provid ing the detail necessary to understand the complexity of a specific algorithm. Just as with real code, it can take practice to read and understand pseudocode, and part of this understanding comes from an awareness of the pseudocode conventions used in a particular presentation. Pseudocode conventions used herein are described below.

Pseudocode c onventions

The algorithms in this book are presented in a language that I will call pseudocode with C++ tendencies. The pseudocode presented here in may appear informal when compared to pseudocode in other data structures and algorithms books because it preserves more of the C++ language than typical pseudocode .

Expressions are presented using = and == to represent assignment and equivalence, respectively, just as in real code.

For loops include only an initial condition and an end state : for x = 0 to A.end , where A.end is the last index in the array .

Indentation is used to specify which lines are included in an execution block.

Data types are removed from variable definitions and return values.

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Visualizing Data Structures»

Look at similar books to Visualizing Data Structures. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Visualizing Data Structures»

Discussion, reviews of the book Visualizing Data Structures and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.