CS 1510 - Data Structures
Fall Semester 2017
Course Documents
Textbook
Data Structures and Algorithm Analysis Edition 3.2 (C++ Version) by Clifford A. Shaffer
Reading Assignments
Due Date: Document: F Sept 1st Inheritance Tutorial W Sept 6th Polymorphism Tutorial M Sept 11th Textbook Chap #1: ADT, DS, Big Picture W Sept 13th Textbook Chap #2: Preliminaries and Recursion F Sept 15th Recursion and Backtracking M Sept 18th Backtracking W Sept 20th Textbook Chap #3 "Algorithm Analysis" F Sept 22th Big 0 M Sept 25th Algorithm Complexity W Sept 27th Textbook Chap #4.1, 4.1.1 "Lists" and "Array-Based List Implementations" F Sept 29th Textbook Chap #4.1.2-5 "Linked Lists" M Oct 2nd Textbook Chap #4.1.2-5 "Doubly Linked Lists" W Oct 4th Textbook Chap #4.2, #4.3 "Stacks" & "Queues" F Oct 6th Textbook Chap #4.4 "Dictionaries" M Oct 9th Textbook Chap #5 "Binary Trees" W Oct 11th F Oct 13th Textbook Chap #6 "Non-Binary Trees" M Oct 16th More trees. W Oct 18th More and more trees. F Oct 20th Textbook Chap #7 "Internal Sort" M Oct 23th W Oct 25th F Oct 27th Textbook Chap #8 "External Sort" M Nov 6th W Nov 8th Textbook Chap #9.0-#9.3 "Searching" F Nov 10th Textbook Chap #9.4 "Hashing" M Nov 13th W Nov 15th Textbook Chap #10 "Indexing" F Nov 17th Textbook Chap #11 "Graphs"
Programming Assignments
- HOMEWORK #1
- Problem Description
- Deliverable File:
hivemind.cpp
- Problem Files:
sampleinput.txt
sampleoutput.txt
- HOMEWORK #2
- Problem Description
- Deliverable File:
dungeonclam.cpp
- Problem Files:
sampleinput.txt
sampleoutput.txt
- HOMEWORK #3
- Problem Description
- Deliverable File:
arraylist.hpp
- Problem Files:
arraylist.h
smalltester.cpp
smalloutput.txt
largetester.cpp
largeoutput.txt
- HOMEWORK #4
- Problem Description
- Deliverable File:
Any necessary files, but including braincalc.cpp
- Problem Files:
linkedstack.h Latest version 17.3.1 !!
sampleinput.txt
sampleoutput.txt
- HOMEWORK #5
- Problem Description
- Deliverable File:
'mybstree.h' and any other needed files.
- Problem Files:
abstractbstree.h
treetester.cpp
treeoutput.txt
- HOMEWORK #6
- Problem Description
- Deliverable File:
'mystringmap.h' and any other needed files.
- Problem Files:
abstractstringmap.h
maptester.cpp
mapoutput.txt
- FINAL PROJECT
- Problem Description
- Deliverable File:
dijkstra.cpp and any other needed files.
- Problem Files:
sampleinput.txt
sampleoutput.txt
Lecture Notes
- Pointers
- Abstract Data Types
- The List Abstract Data Type
- The ArrayList Data Structure
- The LinkedList Data Structure
- Algorithm Complexity
- Inheritance
- Inheritance Code Example
- Abstract Data Type Stack
- Abstract Data Type Queue
- Exception Handling Code Example
- Abstract Data Type Tree
- ....
Resources
- Data Structures:
- Online Textbook Data Structures and Algorithm Analysis Edition 3.2 (C++ Version) by Clifford A. Shaffer
- C++ Online References:
- Prof. Price's CS-53 Online Content [Link]
- http://www.cplusplus.com/
- http://www.cppreference.com/
- Compilers and IDE's:
- DevC++ (Orwell) [Link]
- Code::Blocks [Link]
- MinGW: GNU for Windows [Link]
- Borland C++ Compiler [Link]
- Programming Text Editors:
- Tools: