forked from uva-cs/pdr
-
Notifications
You must be signed in to change notification settings - Fork 0
/
readings.html
81 lines (81 loc) · 5.54 KB
/
readings.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="generator" content="pandoc">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>PDR: Docs: Readings</title>
<style type="text/css">code{white-space: pre;}</style>
<link rel="stylesheet" href="../markdown.css">
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</head>
<body>
<h1 id="pdr-docs-readings">PDR: Docs: Readings</h1>
<p><a href="index.html">Go up to the CS 2150 documents page</a> (<a href="index.md">md</a>)</p>
<p>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.</p>
<p>Introduction to C++</p>
<ul>
<li><a href="http://www.horstmann.com/ccj2/ccjapp3.html">Moving from Java to C++</a></li>
</ul>
<p>Pointers</p>
<ul>
<li><a href="http://www.cplusplus.com/doc/tutorial/pointers/">Pointers</a> on <a href="http://cplusplus.com">cplusplus.com</a> comes highly recommended from various sources</li>
<li><a href="http://en.wikibooks.org/wiki/C%2B%2B_Programming/Operators/Pointers">Pointers</a> and <a href="http://en.wikibooks.org/wiki/C%2B%2B_Programming/Programming_Languages/C%2B%2B/Code/Statements/Variables/Operators#Dynamic_memory_allocation">Dynamic Memory Allocation</a> on <a href="http://en.wikibooks.org/wiki/Main_Page">Wikibooks</a></li>
<li><a href="http://en.wikipedia.org/wiki/Pointer_%28computing%29">Pointer article</a> on <a href="http://en.wikipedia.org">Wikipedia</a></li>
</ul>
<p>Linked Lists</p>
<ul>
<li><a href="http://cnx.org/content/m29464/latest/">Linked lists</a> on <a href="http://cnx.org">Connexions</a></li>
<li><a href="http://en.wikibooks.org/wiki/Data_Structures/LinkedLists">Linked lists</a> on <a href="http://en.wikibooks.org/wiki/Main_Page">Wikibooks</a></li>
<li><a href="http://en.wikipedia.org/wiki/Linked_list">Linked lists article</a> on <a href="http://en.wikipedia.org">Wikipedia</a></li>
</ul>
<p>Postfix Calculation</p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Reverse_Polish_notation">Reverse Polish Notation article</a> on <a href="http://en.wikipedia.org">Wikipedia</a></li>
</ul>
<p>Stacks and Queues</p>
<ul>
<li><a href="http://cnx.org/content/m29534/latest/">Stack and Queue</a> on <a href="http://cnx.org">Connexions</a></li>
<li><a href="http://en.wikipedia.org/wiki/Stack_%28data_structure%29">Stack article</a> and <a href="http://en.wikipedia.org/wiki/Queue_%28data_structure%29">Queue article</a> on <a href="http://en.wikipedia.org">Wikipedia</a></li>
</ul>
<p>Numbers</p>
<ul>
<li>Radix conversion and number bases
<ul>
<li><a href="http://mathworld.wolfram.com/Base.html">Number base</a> on <a href="http://mathworld.wolfram.com/">Mathworld</a></li>
</ul></li>
<li>Integer numbers
<ul>
<li><a href="http://en.wikipedia.org/wiki/Two%27s_complement">Two's complement</a> on <a href="http://en.wikipedia.org">Wikipedia</a></li>
</ul></li>
<li>Floating point numbers
<ul>
<li><a href="http://en.wikipedia.org/wiki/IEEE_754">IEEE 754</a> on <a href="http://en.wikipedia.org">Wikipedia</a></li>
</ul></li>
</ul>
<p><a name="structsunions">Struct and Unions</a></p>
<ul>
<li>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</li>
<li>Unions are described <a href="http://www.tutorialspoint.com/cprogramming/c_unions.htm">here</a> although that page does not give a motivating use for them. See the <a href="../slides/code/03-numbers/float_to_hex.cpp.html">float_to_hex.cpp</a> (<a href="../slides/code/03-numbers/float_to_hex.cpp">src</a>) file, and the associated lecture slides (somewhere around slide 48 of <a href="../slides/03-numbers/03-numbers.html">03-numbers</a> a better example.</li>
</ul>
<p><a name="arrays">Arrays</a></p>
<ul>
<li><a href="http://www.thegeekstuff.com/2011/12/c-arrays/">C array basics explained with 13 examples</a> on <a href="http://www.thegeekstuff.com/">The Geek Stuff</a></li>
</ul>
<p>Expression Trees</p>
<ul>
<li>The <a href="http://en.wikipedia.org/wiki/Expression_tree">Wikipedia article on Expression trees</a>, expecially the <a href="http://en.wikipedia.org/wiki/Expression_tree#Construction_of_an_Expression_Tree">section on construction of expression trees</a></li>
</ul>
<p>AVL Trees</p>
<ul>
<li>There are a number of articles on <a href="http://en.wikipedia.org/wiki/Main_Page">Wikipedia</a> that are relevant: <a href="http://en.wikipedia.org/wiki/Binary_tree">Binary tree</a>, <a href="http://en.wikipedia.org/wiki/Binary_search_tree">Binary search tree</a>, <a href="http://en.wikipedia.org/wiki/Tree_rotation">Tree rotation</a>, <a href="http://en.wikipedia.org/wiki/AVL_tree">AVL tree</a>, <a href="http://en.wikipedia.org/wiki/Splay_tree">Splay tree</a>, and <a href="http://en.wikipedia.org/wiki/Red-black_tree">Red-black tree</a></li>
<li><a href="http://en.wikibooks.org/wiki/F_Sharp_Programming/Advanced_Data_Structures#AVL_Trees">AVL trees</a> on <a href="http://en.wikibooks.org/wiki/Main_Page">Wikibooks</a>
<ul>
<li>Note that this section is on the F# page, so the program code will be different, but the theory will be the same</li>
</ul></li>
<li>[Binary search trees](http://cnx.org/content/m29296/latest/|text=Binary search trees} on <a href="http://cnx.org">Connexions</a></li>
</ul>
</body>
</html>