01204212-59

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา

This is the course materials for 01204212 Abstract Data Types and Problem Solving, section 450.

Materials

Topic list

  • 11-sep:
    • Sample task: nearest neighbor search, searching in arrays
  • 18-sep:
    • Sample task: nested comment reporting, iterative solution, recursive solution
  • 25-sep:
    • List abstract data type
    • Array implementation of list adt
    • Linked lists (using only list nodes)
  • 1-sep:
    • Linked list class
    • The iterator pattern
    • Generic data structures
    • Running time analysis
  • 8-sep:
    • Queues and stacks
    • Java Queue interface and Stack class
    • Implementations of queues and stacks with linked lists
  • 15-sep:
    • Recursion
    • Java List collection
    • Recursive versions of insertion sort and selection sort
  • 22-sep:
    • Set and map abstract data types: Set and Map interfaces (with two implementations hash map & tree map)
    • Binary search
    • Static sets and maps implementation with binary search
  • 6-Oct:
    • Binary search trees
  • 13-Oct:
    • Running time analysis/Big-O notation (formal)
    • Balanced binary search trees (AVL trees)
  • 3-Nov:
    • Priority queues
    • Binary heap
    • Heap sort
  • 10-Nov:
    • Sorting 2: quicksort and mergesort
  • 17-Nov:
    • Hashing
  • 24-Nov:
    • Hashing 2
    • Intro to graphs
  • 1-Dec:
    • Deletion & Lazy deletion
    • Graph representation
    • Breadth-first search

Tasks

Homework

  • Homework 1 (due: Aug-7): Zooma 2
  • Homework 2 (due: Aug-16): Job queue 2, Expressions
    • Notes: In this homework, you must use your own implementation of queues and stacks based on our linked list implementation. You can start with stack and queue implementations that use this linked list implementation. Note that a few methods are left out, so you need to write your own version of them.
    • How to submit
      • Send two separate emails, each for one of the problem
      • For each problem, attach all your java files and send me an email with the subject "01204212 homework 2 jobqueue (58xxxxxxxx)" or "01204212 homework 2 expr (58xxxxxxxx)"
  • Homework 3 (out: Nov-12, due: Nov-19): Sorting election 2012 results
    • How to submit: send an email to me with all your java files attached. Use "01204212 homework 3 sorting (58xxxxxxxx)" as the subject (replace xxx with your id).
  • Homework 4 (out: Nov-24, due: Dec-1): Top scores
    • How to submit: send an email to me with all your java files attached. Use "01204212 homework 4 top scores (58xxxxxxxx)" as the subject (replace xxx with your id).
  • Homework 5 (out: Nov-30, due: Dec-4): Web cache
    • You can use any Java collection library (e.g., LinkedList, HashMap, or TreeMap). So don't waste time implementing your own data structures.
    • How to submit: send an email to me with all your java files attached. Use "01204212 homework 5 web cache (58xxxxxxxx)" as the subject
  • Homework 6 (out: Dec-5, due: extended to Dec-14 Dec-12): Maze
    • You can use any Java collection library So don't waste time implementing your own data structures.
    • How to submit: send an email to me with all your java files attached. Use "01204212 homework 6 maze (58xxxxxxxx)" as the subject

Codes

These are codes that you may or may not need.