Computer Science Course Information
Back to CS Home Page

Computer Science Course Information

Level >Graduate >FALL_2005 >List >

Data Structures & Algorithms

Course No. CIS 610
Sections 001
Title Data Structures & Algorithms
Course Website
Prerequisite(s) CIS 114 (Intro to Computer Science II), or CIS505 or equivalent.

Math 226 (Discrete Math).

Instructor Yehoshua Perl
  • Office Room No. : 4316 GITC
  • Office Phone : 973-596-3392
  • Fax : 973-596-5777
  • Email :
  • Website:
  • Lab :
  • Instructor Office Hours

    Description Intensive study of the fundamentals of data structures and algorithms. Presents the definitions, representations, processing algorithms for data structures, general design and analysis techniques for algorithms. Covers a broad variety of data structures, algorithms and their applications including linked lists, various tree organizations, hash tables, strings, storage allocation, algorithms for searching and sorting, and a selected collection of other algorithms. Programs are assigned to give students experience in algorithms, data structure design and implementation.
    Topics Course Outline:
    Analysis Techniques
    Induction, Recursion
    Recurrence Relations
    Basic Data Structures
    Abstract Data Types
    Linked List
    Tree Traversals
    Huffman Codes
    Priority Queues, Heaps
    Search Trees
    Binary Search Trees
    Searching Algorithm
    Sequential Search
    Binary Search
    Sorting Algorithms
    Basic Algorithms
    Insertion Sort
    Bubble Sort
    Selection Sort
    Integer Sorting
    Bucket Sort
    Radix Sort
    Advanced Algorithms
    Merge Sort
    Heap Sort
    Quick Sort
    Graph Algorithms
    Graph Traversals
    Shortest Path Problems
    Minimum Spanning Tree
    Algorithm Design Techniques
    Divide and Conquer
    Greedy Method
    Dynamic Programming

    Text Book(s) Algorithm Design, Foundations, Analysis, and Internet Examples by Michael T. Goodrich, Roberto Tamassia. Wiley 2002.

    Additional References:
    1. Cormen, Leiserson, Riverst, Introduction to Algorithms, McGraw-Hill, 1990.

    2. Aho, Hopcroft and Ullman, Data Structures & Algorithms, Addison-Wesley, 1987.

    3. S. Sahni, Data Structures, Algorithms and Applications in C++, McGraw-Hill, 1998.

    Time & Place Mondays & Wednesdays 1:00 PM - 2:25 PM Info 1400
    Other Info Policies on all Assignments:

    1. Programming assignments must be done in C++.

    2. You must do all assignments individually. No teamwork.

    3. Writing assignments should be submitted a week after being assigned. No late submissions. Programming assignments are for several weeks.

    4. Hand in all assignments at the beginning of the class period on the due date.

    5. Two large programming assignments, late penalty: 10% per week.

    Write Assignments 10%-15%

    Programming Assignments 25%-30%

    Midterm 25%

    Final 35%

    Academic Honor Code

    The NJIT academic honor code
    ( in full to this
    class. Note in particular that copying programs, in full or in part, is
    forbidden. You may discuss ideas and concepts with your fellow
    students, but you may NOT copy any code.

    Registrar's Website