Algorithms Part I - Coursera Class Notes
Class Notes for Algorithms, Part I https://class.coursera.org/algs4partI-2012-001/class/index
by DaveAlger
HTML
<a target="_blank" href="https://class.coursera.org/algs4partI-2012-001/class/index">
Class Notes for Algorithms, Part I
</a>
<hr />
Week 1
<div class="tog">Steps for developing useful algorithms</div>
<div class="box">
<div class="tog">1) Model the Problem</div>
<div id="n1" class="indent-a"></div>
<div class="tog">2) Find an algorithm to solve it</div>
<div id="n1" class="indent-a"></div>
<div class="tog">3) Is it Fast Enough? Is it too Resource Intensive?</div>
<div id="n1" class="indent-a"></div>
<div class="tog">4) Figure out why</div>
<div id="n1" class="indent-a"></div>
<div class="tog">5) Find a way to address the problem</div>
<div id="n1" class="indent-a"></div>
<div class="tog">6) Iterate (Goto Step 3)</div>
<div id="n1" class="indent-a"></div>
</div>
<hr />
<!--
<div id="list"></div>
<button id="go">GO</button>
-->
CSS
body
{
background: #eeeeee;
color: #000000;
padding: 4px;
}
div.fraction-inline
{
display: inline-block;
position: relative;
vertical-align: middle;
}
div.math
{
color: #333333;
}
div.math
{
text-align: center;
width: 100%;
word-spacing: normal;
}
.title
{
font-family: sans-serif;
font-size: 1.5em;
padding: 4px;
margin-top: 10px;
color: #333333;
}
.tog
{
font-family: sans-serif;
font-size: 1.2em;
padding: 4px;
border-bottom: 2px solid #eeeeee;
margin-top: 5px;
cursor: pointer;
color: #666666;
}
.tog:hover
{
background: #e0e0e0;
}
hr
{
margin: 20px 0px 20px 0px;
border: 1px dashed silver;
}
span.baseline
{
}
sub sub
{
vertical-align: -0.4em;
font-size: 80%;
}
sub
{
vertical-align: -0.4em;
font-size: 70%;
padding-left: 2px;
}
sup
{
vertical-align: 0.4em;
font-size: 70%;
padding-left: 2px;
}
.abs
{
border-left: 1px solid #888888;
border-right: 1px solid #888888;
padding: 0px 3px 0px 3px;
margin-left: 3px;
}
.formula-box
{
border: 2px dashed #dadada;
margin: 6px;
padding: 12px;
}
.fraction-inline > span
{
display: block;
padding: 0;
}
.fraction-inline span.denominator
{
border-top: 1px solid #333333;
padding: 4px 8px 4px 8px;
}
.fraction-inline span.divider
{
position: absolute;
top: 0em;
display: none;
letter-spacing: -0.1em;
}
.list-item
{
padding: 8px;
margin: 4px 100px 4px 100px;
border: 2px solid #eee;
cursor: pointer;
background: #abc;
}
.math,
i.mi
{
word-spacing: -0.2ex;
}
.op
{
padding: 0px 12px 0px 12px;
color: #333333;
}
.root
{
border-top: 1px solid #333333;
}
.state:after
{
content: ' \232A';
color: #333333;
}
.state:before
{
content: '\2502';
color: #777777;
font-size: 0.8em;
}
.state
{
font-size: 0.84em;
padding: 1px;
margin: 3px;
border: 1px dotted...
JavaScript
var PSI = 'ψ';
var THETA = 'θ';
var SIGNB = 'Ŝ';
var SQRT = '√';
var ANG = '〉';
var _ = '<span class="bull"></span>';
var Cx = '<span class="complex-num"></span>';
// FORMULA START - END
var s1 = '<div class="formula-box w-a"><div class="math">';
var s2 = '<div class="formula-box w-b"><div class="math">';
var s3 = '<div class="formula-box w-c"><div class="math">';
var e = '</div></div>';
// OPERATORS
var P = '<span class="op">+</span>';
var M = '<span class="op">−</span>';
var EQ = '<span class="op">=</span>';
var GEQ = '<span class="op">≥</span>';
var LEQ = '<span class="op">≤</span>';
var NEQ = '<span class="op">≠</span>';
var EQUIV = '<span class="op">≡</span>';
var IS = '<span class="op">∈</span>';
var NIS = '<span class="op">∉</span>';
// VARS
var A_0 = '<span class="term">α</span><sub>0</sub>';
var A_1 = '<span class="term">α</span><sub>1</sub>';
var A_i = '<span class="term">α</span><sub>i</sub>';
var A_j = '<span class="term">α</span><sub>j</sub>';
var A_k = '<span class="term">α</span><sub>k-1</sub>';
var B_0 = '<span class="term">β</span><sub>0</sub>';
var B_1 = '<span class="term">β</span><sub>1</sub>';
var B_i = '<span class="term">β</span><sub>1</sub>';
// STATES
var S_0 = '<span class="state">0</span>';
var S_1 = '<span class="state">1</span>';
var S_P = '<span class="state">+</span>';
var S_N = '<span class="state">-</span>';
var S_k = '<span class="state">k-1</span>';
var S_j = '<span class="state">j</span>';
var S_psi = '<span class="state">ψ</span>';
// SPREADS
var Sp_P = '<span class="spread">' + S_P + '</span>';
var Spn_P = '<span class="spreadn">' + S_P + '</span>';
var Sp_0 = '<span class="spread">' + S_0 + '</span>';
var Spn_0 = '<span class="spreadn">' + S_0 + '</span>';
var Sp_psi = '<span class="spread">' + S_psi + '</span>';
var Spn_psi = '<span class="spreadn">' + S_psi + '</span>';
// TERMS
var T_r2 = '<span...