Username
Password
Forgot your password?
Username:
Password
Confirm Password
Email:
MHC S26 COMSC 205: Data Structures
Table Of Contents
Contents
::
0.
1.
Course Resources
»
Lecture 0
Introduction and Hello World!
¶
0.1. Course Resources
0.2. Why Learn Java?
0.3. Let’s look at a Java Program
0.3.1. Compiling and Running
0.3.2. Java Keywords
Lecture 1
Intro to Java I: Data Types, Loops, and Conditionals
¶
1.1. Java Data Types
1.1.1. Primitives
1.1.2. Declaring Variables
1.1.3. String
1.2. Conditionals
1.2.1. Simple if
1.2.2. if else
1.2.3. elif
1.2.4. switch
1.2.5. Boolean Operators
1.3. Loops and Iteration
1.3.1. Definite Loop
1.3.2. Indefinite Loops
Lecture 2
Intro to Java II: Arrays and Input/Output
¶
2.1. Arrays and Scanner I/O
2.1.1. Imports
2.1.2. Input / Output / Scanner
2.1.3. Arrays
2.2. What Is Object-Oriented Programming?
2.2.1. OOP Metaphor: Interacting Objects
2.2.2. What is an Object?
2.2.3. Attributes and Values
2.2.4. Actions and Messages
2.2.5. What is a Class?
2.2.6. Variables and Methods
Lecture 3
Intro to Java III: Classes and Scope
¶
3.1. Defining Classes in Java
3.1.1. Writing a constructor
3.1.2. Methods
3.1.3. Static Methods
3.2. Variable Scoping
3.2.1. Variable Scoping
Lecture 4
Inheritance
¶
4.1. Introduction to Inheritance
4.1.1. Class Hierarchy and Inheritance
4.1.2. java.lang.Object toString()
4.1.3. Motivating Inheritance and Polymorphism
4.2. Java’s Inheritance Mechanism
4.2.1. Using an Inherited Method
4.2.2. Overriding an Inherited Method
4.2.3. Static Binding, Dynamic Binding and Polymorphism
4.2.4. Using the super Keyword to Refer to the Superclass
4.2.5. Inheritance and Constructors
Lecture 5
Abstract Classes and Interfaces
¶
5.1. Abstract Classes, Interfaces, and Polymorphism
5.1.1. Implementing an Abstract Method
5.1.2. Implementing a Java Interface
5.1.3. Interfaces or Abstract Classes
Lecture 6
Algorithm Analysis
¶
6.1. Motivating Studying Data Structures
6.1.1. Introduction
6.1.2. A Philosophy of Data Structures
6.1.3. Selecting a Data Structure
6.1.4. Real-World Example
6.2. Problems, Algorithms, and Programs
6.2.1. Introduction
6.2.2. Algorithms
6.2.3. Programs
6.2.4. Summary
6.3. Comparing Algorithms
6.3.1. Introduction
6.3.2. Basic Operations and Input Size
6.3.3. Growth Rates
6.4. Asymptotic Analysis and Upper Bounds
6.4.1. Introduction
6.4.2. Upper Bounds
6.4.3. Simplifying Rules
6.4.4. Check Your Understanding: Asymptotic Analysis
Lecture 7
The List Interface and Generics
¶
7.1. Java Generics
7.1.1. Primitives vs Object Wrappers
7.1.2. Java Generics
7.2. The List Interface
7.2.1. Introduction
7.2.2. Defining the Interface
7.2.3. Using a List
Lecture 8
ArrayLists
¶
8.1. ArrayList Implementation
8.1.1. How ArrayLists internally represent data
8.1.2. Instance variables and constructors
8.1.3. Adding elements to a given position: add(int index, E o)
8.1.4. Adding elements to end of list: add(E o)
8.1.5. Removing elements at a given position: remove(int position)
8.1.6. Full Implementation
Lecture 9
Linked Lists I
¶
9.1. References in Java
9.1.1. Pointers and References
9.1.2. Data Types in Java
9.1.3. Referencing and Dereferencing
9.1.4. The Employee Class
9.1.5. Reference Assignments
9.1.6. Sharing
9.1.7. Shallow and Deep Comparing: .equals() vs ==
9.1.8. Bad References
9.2. Linked Lists part I
9.2.1. Nodes
9.2.2. Linked List Partial Implementation
9.2.3. Linked List Instance Variables
9.2.4. addFirst() and addAfter()
9.2.5. Linked List Traversal and getNode()
9.2.6. Linked List add(int position, E element)
Lecture 10
Linked Lists II
¶
10.1. Linked Lists part II: remove helper methods
10.1.1. removeFirst()
10.1.2. removeAfter()
Lecture 11
Doubly Linked Lists and Stacks
¶
11.1. Doubly Linked Lists
11.1.1. Motivating Doubly Linked Lists
11.1.2. Node class implementation
11.1.3. addLast() implementation
11.1.4. addAfter() implementation
11.1.5. remove() a given node
11.1.6. Summarizing list operation efficiency
Lecture 12
Stacks and Review
¶
12.1. Stacks
12.1.1. Stack Terminology and Interface
12.1.2. ArrayList-Based Stack
12.1.3. LinkedList-Based Stack
12.1.4. Comparison of ArrayList-Based and LinkedList-Based Stacks
License
Contents
::
0.
1.
Course Resources
»
Summary*:
Operating system*:
Windows
Mac OS
Linux
iOS
Android
Other
Browser*:
Chrome
Safari
Internet Explorer
Opera
Other
Description*:
Attach a screenshot (optional):