CS 242 - Introduction to Data Structures II
Lynchburg College Computer Science
Sep. 2, 2008
Click image to see Table of Contents
Instructor : Dr. Constantine Roussos
Office : Hobbs 104
Phone : Office 544-8395, Home 263-6692
A study of data structures, algorithms and abstraction and they relate to the efficient storage and retrieval of data in digital computers. Topics may include sorting, searching, lists, queues, stacks, trees, graphs, networks, hashing, key structures, file structures as well as techniques of object-oriented analysis and structured programming.
More information, supplementary materials, sample tests, study guides, etc. are located at
http://cs-netlab-01.lynchburg.edu/courses/DataStru
COURSE SYLLABUS
The primary objectives of this course are the following:
- Be familiar with the implementation and applications of general
trees and graphs.
- Program a variety of efficient sorting algorithms.
- Implement efficient searching algorithms.
- Be familiar with indexing techniques such as B+ trees.
- Utilize advanced techniques of lists and arrays.
- Understand the theoretical limits to computation and NP completeness.
- Using LC's computing facilities.
- Getting started
1. On-campus computing.
2. Logging into your account.
a. Username, Password
b. Directories and subdirectories.
c. Privileges and access.
3. Off-campus computing
a. Using ftp
b. http
- The class website.
- Understanding and using files.
protection, date/time, etc.
- Electronic MAIL at LC
1. Using MAIL commands.
a. Reading, sending, extracting, etc.
b. Sending MAIL to me.
2. Your homework assignments, programs and general communication.
- REVIEW of Binary Trees
Tree Definitions
Binary Trees Defined
Binary Search Tree
Binary Tree Traversals
Binary Tree Operations
Balanced Binary Trees
Heaps
RPN & Expression Trees
- Multiway Trees
B, B* and B+ Trees
Other types of B- Trees
Tries
- Graphs
Graph Representation
Graph Traversals
Shortest Paths
Cycle Detection
Spanning Trees
Connectivity
Topological Sort
Networks
Matching
Eulerian and Hamiltonian Circuits
Graph Coloring
NP-Complete Graph Problems
- Sorting
Review of Elementary Sorting
Selection Sort
Bubble Sort
Insertion Sort
Counting Sort
Decision Trees
Intermediate Sorting Techniques
Shellsort
Quicksort
Heapsort
Mergesort
Binsort and Radixsort
Sorting in the STL
- Hashing
Hash Functions
Collision Resolution
Deletion
Perfect Hash Functions
- Data Compression
Conditions for Data Compression
Huffman Encoding
Run-Length Encoding
Ziv-Lempel Code
- Memory Management
Sequential and Nonsequential Fit Methods
Garbage Collection
- String Matching
Exact String Matching
Approximate String Matching
-
Appendices
A: Computing BIG-O
B: Algorithms in the Standard Template Library
C: NP-Completeness
-
FINAL EXAM
- Testing :
- There will be 3 tests, an undetermined number of pop quizzes,
and homework assignments, several programs and a final exam.
Class participation will also count towards one's grade.
| The above factors will be weighted as follows :
| | Tests : | .33
|
| Programs: | .22
|
| Labs : | .11
|
| Final Exam : | .22
|
| Class Partic, Homework, Quizzes: | .12
|
- Grading :
- The standard 10 point grading scale will be used.
(i.e. 90-100 = A, 80-89 = B, 70-79 = C, 60-69 = D, below 60 = F)
THERE WILL BE NO CURVE. You will always know approximately how you
are doing in the course by applying the above factors to your grades
to date.
Important notes:
- If you are having trouble with the course come to me for help right
away - DO NOT WAIT.
- You are responsible for attending class, completing programs on
time, taking tests when scheduled, knowing the college's grading
policies, knowing course withdrawal dates and making up all missed
work.
- As always the honor code is in full effect. You may NOT collaborate
on programming assignments or tests. If you are ever in doubt of
whether or not an action constitutes an honor violation ask me
beforehand.
- Class participation on your part is an excellent means of making
our classes more interesting and demonstrating to me your knowledge
of and interest in the subject matter.
- Required Materials:
- Data Structures and Algorithms in C++, second edition by Adam Drozdek.
The publisher is Thomson.
- Recommended Materials:
- Microsoft Visual C++ 6.0 (available in Bookstore)
- Statement on Students with Disabilities
- Lynchburg College is committed to providing all students equal access to learning opportunities. The Support Services office, located in Academic & Career Services on the second floor of Hall Campus Center, is the campus office that works with students who have disabilities to provide and/or arrange reasonable accommodations. Students registered with Support Services, who have a letter requesting accommodations, are encouraged to contact the instructor as early as possible in the semester -- accommodations are not retroactive. Students who have, or think they may have, a disability (e.g. attentional, learning, vision, hearing, physical, or psychiatric), are invited to contact the Support Services Coordinator for a confidential discussion. Call 434-544-8687 or e-mail the Coordinator at Arnold.sm@lynchburg.edu. Additional information is available at the Lynchburg College Disability Support Services website: http://www.lynchburg.edu/disabilityservices.xml.
Top of this page
Home page 
