Mark Allen Weiss

MarkWeissPhoto  Mark Allen Weiss is a Professor and Associate Director in the School of Computing and Information Sciences at Florida International University in Miami Florida and also serves as the Undergraduate Program Director.

He received his Bachelor's Degree in Electrical Engineering from The Cooper Union in 1983, and his Ph.D. in Computer Science from Princeton University in 1987, working under Bob Sedgewick. He has been at FIU since 1987, and was promoted to Professor in 1996. His interests include data structures, algorithms, and education, and he is an ACM Distinguished Educator and AAAS Fellow who is most well-known for his highly-acclaimed Data Structures textbooks, which have been used at hundreds of universities worldwide. From 1997-2004 he served as a member of the Advanced Placement Computer Science Development Committee, chairing the committee from 2000-2004. 

Vita: HTML

Contact Information

  • Surface mail: 
  •     School of Computing and Information Sciences          
        Florida International University    
        Miami, FL 33199                     
  • Email:
  • Books

    Data Structures And Algorithm Analysis in C++ 4th Edition Cover
    NEW: Data Structures and Algorithm Analysis in C++ (4th edition) uses C++11. More information, Source code, and Errata list. The fourth edition incorporates bug fixes, and many parts of the book have undergone revision to increase the clarity of presentation. In addition,
    • Chapter 4 includes implementation of the AVL tree deletion algorithm–a topic often requested by readers.
    • Chapter 5 has been extensively revised and enlarged and now contains material on two newer algorithms: cuckoo hashing and hopscotch hashing. Additionally, a new section on universal hashing has been added. Also new is a brief discussion of the unordered_set and unordered_map class templates introduced in C++11.
    • Chapter 6 is mostly unchanged; however, the implementation of the binary heap makes use of move operations that were introduced in C++11.
    • Chapter 7 now contains material on radix sort, and a new section on lower-bound proofs has been added. Sorting code makes use of move operations that were introduced in C++11.
    • Chapter 8 uses the new union/find analysis by Seidel and Sharir and shows the O( M α(M,N) ) bound instead of the weaker O( Mlog∗ N ) bound in prior editions.
    • Chapter 12 adds material on suffix trees and suffix arrays, including the linear-time suffix array construction algorithm by Karkkainen and Sanders (with implementation). The sections covering deterministic skip lists and AA-trees have been removed.
    • Throughout the text, the code has been updated to use C++11. Notably, this means use of the new C++11 features, including the auto keyword, the range for loop, move construction and assignment, and uniform initialization.

    Course Information


    Summer 2014

    COP-3530 Data Structures Sec U01C: M/W/F 10:45AM-11:50AM, ECS-135

    Previous Courses With Web Pages

    COP-3530 Data Structures (C++ only prior to 2001, except for 1996), Spring 2013, Spring 2012, Summer 2010, Summer 2009, Spring 2009, Fall 2008, Summer 2008, Summer 2007, Spring 2007, Fall 2006, Summer 2006, Fall 2005, Summer 2005, Spring 2005, Fall 2004, Summer 2004, Fall 2003, Fall 2002, Spring 2002, Fall 2001, Fall 2000, Fall 1999, Fall 1998, Summer 1998, Fall 1997, Summer 1997
    COP-3530 Data Structures (Java 1.0), Summer 1996. A 1997 SIGCSE Conference paper (PDF) describes the course
    COP-4534 Algorithm Techniques Fall 2013
    COP-4338 Programming III (Java, C++, C) Summer 2011 (no C++), Summer 2009, Spring 2009, Summer 2008, Summer 2007, Spring 2007, Summer 2006, Spring 2006, Fall 2005, Summer (C) 2005, Summer (C) 2004, Summer (B) 2003, Fall 2002, Spring 2002, Summer (B) 2002
    COP-3804 Intermediate Java Programming Fall 2009, Fall 2008
    COP-3338 Programming III (Java) Fall 2000
    COP-3337 Programming II (Prior to 2000, known as Intermediate Programming, taught in C++) Fall 2009, Spring 2009, Spring 2007, Fall 2006, Fall 1999, Summer 1999, Spring 1997
    COP-2210 Introduction to Programming (C++), Fall 1998
    CGS-2423 C for Engineers, Spring 1997
    COT-6405 Analysis of Algorithms, Spring 1997
    COT-5407 Introduction to Algorithms Fall 2011 Fall 2010
    COT-6936 Topics in Algorithms, Fall 1998 (cancelled due to low enrollment)

    Information on each of the books is below. I've included the most recent errata, source code, and a link to the publisher's home page. Solutions Manual and/or Instructors Resource Manual are available from Addison-Wesley for the Data Structures books to course instructors only. Contact your sales rep, or call Addison-Wesley. This is the only way to get solutions. I do not have any copies of solutions manuals. As a matter of policy, I cannot provide answers to questions in the text, because it is impossible for me to determine if I would be doing somebody's homework. Thus, I must decline to answer the growing number of emails that request such assistance.

    DSAA C++ 4/e Book Cover DSAA in Java 3/e Book Cover DSPJ 4/E Book Cover DSAA in Java 2/e Book Cover DSAA C++ 3/e Book Cover DSPJ 3/E Book Cover C++ for Java Book Cover DSPJ 2/E Book Cover ADSP 2/E Book Cover DSAA C++ 2/e Book Cover DSAA in Java Book Cover
    2013 2012 2010 2007 2007 2006 2004 2002 2000 1999 1999
    DSPJ Book Cover C 2/E Book Cover ADSP Book Cover Efficient C Book Cover 2/E Book Cover DSAA C++ Book Cover Ada Book Cover DSAA C Book Cover DSAA Book Cover
    1998 1997 1996 1995 1995 1994 1993 1993 1992

    Data Structures and Algorithm Analysis in Java (Third Edition)  Data Structures and Algorithm Analysis in C++ (Third Edition)
    DSAA in Java 3/e Book Cover DSAA C++ 3/e Book Cover
    Data Structures and Problem Solving Using Java (Fourth Edition)  Data Structures and Problem Solving Using C++ (Second Edition)
    Data Structures in Java Book Cover ADSP Book Cover
    Data Structures and Algorithm Analysis (Second Edition) C++ for Java Programmers  
    2/E Book Cover 
    • Published by Addison-Wesley, 1995
    • ISBN: 0-8053-9057-X
    • CS-7 Text
    • Errata (last update: 3/29/01)
    • Source code available from publisher's home page (see next item) or by anonymous ftp.
    • More information
    C++ for Java Book Cover 
    Data Structures and Algorithm Analysis in C (Second Edition)  Efficient C Programmming: A Practical Approach
    C 2/E Book Cover  Efficient C Book Cover 

    My Research

    Here are some of my publications. Recent vita.

    Other Stuff I Do