background preloader

Algorithms

Facebook Twitter

Introduction to Algorithms. Data Structures/All Chapters. This page shall be included in any copy of the Data Structures book. Any source code included if not bearing a different statement shall be considered under the public domain. Images used have their own copyright status, specified in their respective repositories (en.wikibooks.org or at commons.wikimedia.org). Acknowledgment is given for using some contents from Wikipedia. Computers can store and process vast amounts of data. Formal data structures enable a programmer to mentally structure large amounts of data into conceptually manageable relationships. Sometimes we use data structures to allow us to do more: for example, to accomplish fast searching or sorting of data.

Other times, we use data structures so that we can do less: for example, the concept of the stack is a limited form of a more general data structure. For example, when we use a floating-point number we are primarily concerned with its value and the operations that can be applied to it. Let c := sqrt(a * a + b * b) . . . . .

Data Structures. This book is about the creation and analysis of efficient data structures. It covers: the primitive node structure;asymptotic notation for mathematically discussing performance characteristics;built-in arrays;list structures built from either nodes or arrays;iterators as an abstract model of enumerating the items in a sequence;stacks and queues for computing with last-in/first-out and first-in/first-out orderings;binary and general tree structures for searching or representing hierarchical relationships;min and max heaps for representing ordering based on priorities;graph structures for representing more general relationships between data elements;hash tables for the efficient retrieval of strings and other objects; and finallytrade-offs between the structures, and strategies for picking the most appropriate ones.

Because many different languages approach the construction of data structures differently, we use pseudo-code so that you can translate the code into your own language. Lecture 1: Administrivia; Introduction; Analysis of Algorithms, Insertion Sort, Mergesort | Video Lectures | Introduction to Algorithms (SMA 5503) | Electrical Engineering and Computer Science. Data Structures and Algorithms.