Welcome to MATH 8650: Advanced Data Structures (Fall 2016)
Instructor: Dr. Timo Heister, heister@clemson.edu, http://www.math.clemson.edu/~heister/
Meeting time: Tue/Thu 2:00pm-3:15pm, Martin M204
Please contact me via email for questions, appointments, etc..
Course Description
This course is designed to introduce students to advanced data structures and algorithms from computer science. The goal is to provide a solid foundation for sophisticated software development, research in computational mathematics, and other computational problems.
We will be using the Python programming language for weekly exercises and larger group projects.
Handouts and Resources
- This site: http://www.math.clemson.edu/~heister/math8650-fall2016/
- Blackboard: http://bb.clemson.edu (grades, materials, etc.)
- No required textbox. Reading material will be supplied.
- Syllabus
Notes
-
- introduction
- syllabus
- outline of the class
- python intro (intro.pdf)
:
-
- iteration/recursion/induction
- Landau / Big O Notation, https://en.wikipedia.org/wiki/Big_O_notation
- work on HW01
:
-
- binary search
- sorting (insertion sort, merge sort)
:
-
- divide and conquer and complexity
- summary about sorting algorithms, optimal complexity, merge sort
- Abstract Data Types, mathematical definition
- Stacks and stack implementations (linked list, array, …)
- Python List and resizing strategy: source code
- Python sorting (Timsort): description
:
-
- measuring complexity
- ADT Queue
- ADT Deque: https://en.wikipedia.org/wiki/Double-ended_queue
- queue using single linked list with tail pointer
- deque implementation using doubly-linked list
:
-
- deque implementations: circular array, linked blocks
- Python implementation: linked blocks
- work on HW04
:
-
- dictionaries, hash tables
- collision handling: https://en.wikipedia.org/wiki/Hash_table#Open_addressing
- see dictdemo.ipynb
-
Python implementation: notes code explanation
:
Class Schedule
See http://www.registrar.clemson.edu/pdf/academicCalendar2016.pdf and http://www.registrar.clemson.edu/html/examSched.htm for important dates.
Date: 2016-09-08 15:23:07 EDT
HTML generated by org-mode 6.33x in emacs 23