Course Notes, Practice Problems, and Solutions
Cone of Learning
Explaining end-of-file I/O
Google's C++ Style Guide
Java Coding Style Conventions
342/343 bottom-line Style Guidelines
Linux/computing information
Basic linux - commands and about crashing
How to transfer files and compile under linux
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
Prof Pisan's wiki: C++, OS, IDE, etc. info
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
Breadth-first Search Algorithm
and uses
BFS lecture whiteboard
Depth/Breadth breakout Solution
AVL Trees, B-trees, Tries
AVL Trees . . .
AVL Right Left diagram
AVL insert and leftleft rotation code
Example AVL left-right rotation
Example AVL right-left rotation
Extra Practice Problems (at home) and Solutions
AVL Tree problems    
...................
solution to #1 .....
solution to #2
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