Singapore University of Social Sciences

Data Structures and Algorithms II

Data Structures and Algorithms II (ICT232)

Synopsis

ICT232 Data Structures and Algorithms II will be a continuation to ICT231 Data Structures and Algorithms I and provide students with an understanding of more advanced common algorithms and data structures used in information technology. The topics covered are of central importance for many applications in data analytics and information technology. The course gives a comprehensive introduction to more advanced topics such as priority queues, hash tables, search trees, sorting and selection. Additionally, the course covers how such algorithms are implemented using the software Python. ICT232 will be paired with ICT231 so that students upon the completion of both courses will have a better understanding of the contents in the field of data structures and algorithms.

Level: 2
Credit Units: 5
Presentation Pattern: EVERY JULY

Topics

  • Priority Queue
  • Maps
  • Hash Tables
  • Skip Lists
  • Search Trees
  • AVL Trees
  • Sorting
  • Selection
  • Text Processing
  • Dynamic Programming
  • Data Structures for Graphs
  • Graph Traversals

Learning Outcome

  • Describe how to implement priority queues, hash tables and search trees.
  • Explain the notions of hashing and search trees.
  • Present sorting algorithms and pattern-matching algorithms in text processing.
  • Analyze the efficiency and complexity of different algorithms.
  • Solve problems using recursive algorithms.
  • Develop an efficient algorithm to sort a set of objects in sequence or search a string pattern out of a document.
Back to top
Back to top