PDR: Docs: Readings
===================
[Go up to the CS 2150 documents page](index.html) ([md](index.md))
The readings are organized by topic, and listed with the appropriate slide sets and labs that go with that topic. Note that for each topic, each bullet point is a SEPARATE alternative that (more or less) covers the same material - the intent is not for you to read all of bullet points for a single topic.
Introduction to C++
- [Moving from Java to C++](http://www.horstmann.com/ccj2/ccjapp3.html)
Pointers
- [Pointers](http://www.cplusplus.com/doc/tutorial/pointers/) on [cplusplus.com](http://cplusplus.com) comes highly recommended from various sources
- [Pointers](http://en.wikibooks.org/wiki/C%2B%2B_Programming/Operators/Pointers) and [Dynamic Memory Allocation](http://en.wikibooks.org/wiki/C%2B%2B_Programming/Programming_Languages/C%2B%2B/Code/Statements/Variables/Operators#Dynamic_memory_allocation) on [Wikibooks](http://en.wikibooks.org/wiki/Main_Page)
- [Pointer article](http://en.wikipedia.org/wiki/Pointer_%28computing%29) on [Wikipedia](http://en.wikipedia.org)
Linked Lists
- [Linked lists](http://cnx.org/content/m29464/latest/) on [Connexions](http://cnx.org)
- [Linked lists](http://en.wikibooks.org/wiki/Data_Structures/LinkedLists) on [Wikibooks](http://en.wikibooks.org/wiki/Main_Page)
- [Linked lists article](http://en.wikipedia.org/wiki/Linked_list) on [Wikipedia](http://en.wikipedia.org)
Postfix Calculation
- [Reverse Polish Notation article](http://en.wikipedia.org/wiki/Reverse_Polish_notation) on [Wikipedia](http://en.wikipedia.org)
Stacks and Queues
- [Stack and Queue](http://cnx.org/content/m29534/latest/) on [Connexions](http://cnx.org)
- [Stack article](http://en.wikipedia.org/wiki/Stack_%28data_structure%29) and [Queue article](http://en.wikipedia.org/wiki/Queue_%28data_structure%29) on [Wikipedia](http://en.wikipedia.org)
Numbers
- Radix conversion and number bases
- [Number base](http://mathworld.wolfram.com/Base.html) on [Mathworld](http://mathworld.wolfram.com/)
- Integer numbers
- [Two's complement](http://en.wikipedia.org/wiki/Two%27s_complement) on [Wikipedia](http://en.wikipedia.org)
- Floating point numbers
- [IEEE 754](http://en.wikipedia.org/wiki/IEEE_754) on [Wikipedia](http://en.wikipedia.org)
Struct and Unions
- Recall that a struct is like a class that doesn't allow methods (that's not an exact definition, but close enough for now). You can read about structs at http://www.tutorialspoint.com/cprogramming/c_structures.htm
- Unions are described [here](http://www.tutorialspoint.com/cprogramming/c_unions.htm) although that page does not give a motivating use for them. See the [float_to_hex.cpp](../slides/code/03-numbers/float_to_hex.cpp.html) ([src](../slides/code/03-numbers/float_to_hex.cpp)) file, and the associated lecture slides (somewhere around slide 48 of [03-numbers](../slides/03-numbers/03-numbers.html) a better example.
Arrays
- [C array basics explained with 13 examples](http://www.thegeekstuff.com/2011/12/c-arrays/) on [The Geek Stuff](http://www.thegeekstuff.com/)
Expression Trees
- The [Wikipedia article on Expression trees](http://en.wikipedia.org/wiki/Expression_tree), expecially the [section on construction of expression trees](http://en.wikipedia.org/wiki/Expression_tree#Construction_of_an_Expression_Tree)
AVL Trees
- There are a number of articles on [Wikipedia](http://en.wikipedia.org/wiki/Main_Page) that are relevant: [Binary tree](http://en.wikipedia.org/wiki/Binary_tree), [Binary search tree](http://en.wikipedia.org/wiki/Binary_search_tree), [Tree rotation](http://en.wikipedia.org/wiki/Tree_rotation), [AVL tree](http://en.wikipedia.org/wiki/AVL_tree), [Splay tree](http://en.wikipedia.org/wiki/Splay_tree), and [Red-black tree](http://en.wikipedia.org/wiki/Red-black_tree)
- [AVL trees](http://en.wikibooks.org/wiki/F_Sharp_Programming/Advanced_Data_Structures#AVL_Trees) on [Wikibooks](http://en.wikibooks.org/wiki/Main_Page)
- Note that this section is on the F# page, so the program code will be different, but the theory will be the same
- [Binary search trees](http://cnx.org/content/m29296/latest/|text=Binary search trees} on [Connexions](http://cnx.org)