Course Notes, Practice Problems, and Solutions
Cone of Learning
Google's C++ Style Guide
Java Coding Style Conventions
342/343 bottom-line Style Guidelines
Explaining end-of-file I/O
Linux/computing information
Basic linux - commands and about crashing
Transfer files and compile under linux using terminal window
Video showing how to transfer files and compile under linux
(from CSS 342)
Expand the tabs to blanks in Visual Studio 2017
Using clang on linux to expand tabs to blanks
Reviewing paramater passing, pointers, and dynamic memory
Pass by value vs. pass byreference
Pointers and memory diagram
When an object has dynamic memory
Valgrind Information (memory checker)
Valgrind of a correct program:
Valgrind example
Valgrind error explanation and memory leak:
How valgrind works
Trees and Heaps
Binary Search Tree information
Huffman Encoding examples
. . .
Huffman breakout solution
Drawing execution tree
. . .
Binary tree breakout solution
BinTree execution tree example
Insert one item into a heap
Remove one item from a heap
. . . Heap breakout solution
Building a Heap in O(n) time
Complexity of building a heap in O(n) time
Graphs
Graph Intro and Depth-First Search Algorithm
. . . DFS lecture whiteboard
Dijkstra's Alg . . .
Dijkstra's Alg performed . . .
lecture whiteboard
Another Dijkstra example
(Uses C[v][w] for the graph edge cost)
Dijkstra breakout problem
. . .
Solution
Dijkstra practice from lecture
Breadth-first Search Algorithm
and uses
DFS lecture whiteboard . . .
BFS lecture whiteboard
Depth/Breadth breakout Solution
Extra Practice Problems (home practice) and Solutions
Dijkstra shortest distance problem
 
...............
solution
Another Dijkstra problem
 
..................
solution
Another Dijkstra problem with solution (Uses C[v][w] for the graph edge cost)
Depth-first, breadth-first practice (start at one)
 .......
DFS, BFS ordering (and DFS tree)
Graph problems    
..........................
solutions
Heap problems    
..........................
solutions
Huffman Encoding problems    
..................
solution
Count the nodes at level n in a binary tree (root is at level zero).
Sample main:
        BinTree T;
        T.buildTree(...);
        cout << T.numNodesAtLevel(4) << endl;
  .........  
solutions