Done GA3 up to 2

This commit is contained in:
Claudio Maggioni 2019-05-09 23:22:23 +02:00
parent 2775a6dfc4
commit 92e23c9507
2 changed files with 370 additions and 0 deletions

BIN
GA3/ga3.pdf Normal file

Binary file not shown.

370
GA3/ga3.tex Normal file
View file

@ -0,0 +1,370 @@
% vim: set ts=2 sw=2 tw=80 et:
\documentclass[12pt]{article}
\usepackage[margin=3cm]{geometry}
\usepackage{xcolor}
\usepackage{lmodern}
\usepackage{listings}
\title{Graded Assignment 3 -- DSA}
\author{Claudio Maggioni}
% listings configuration
\lstset{
basicstyle=\small\ttfamily,
frame=shadowbox,
rulesepcolor=\color{black},
columns=fullflexible,
commentstyle=\color{gray},
keywordstyle=\bfseries,
keywords={,while,if,elif,else,FUNCTION,return,for,from,to,TRUE,FALSE},
mathescape=true,
aboveskip=2em,
captionpos=b,
abovecaptionskip=1em,
belowcaptionskip=1em
}
\begin{document}
\maketitle
\tableofcontents
\lstlistoflistings
\newpage
\section{Exercise 1}
{\small\ttfamily
\begin{verbatim}
12
Insert 6:
12
/
6
Insert 1:
12
/
6
/
1
Insert 7:
12
///
6
/ \
1 7
Insert 4:
12
///
6
/// \
1 7
\
4
Insert 11:
12
//////
6
/// \
1 7
\ \
4 11
Insert 15:
12
////// \
6 15
/// \
1 7
\ \
4 11
Insert 9:
12
//////// \
6 15
/// \
1 7
\ \\\
4 11
/
9
Insert 5:
12
//////// \
6 15
///// \
1 7
\ \\\
4 11
\ /
5 9
Insert 13:
12
//////// \\\\
6 15
///// \ /
1 7 13
\ \\\
4 11
\ /
5 9
Insert 8:
12
////////// \\\\
6 15
///// \ /
1 7 13
\ \\\\\
4 11
\ /
5 9
/
8
Insert 14:
12
////////// \\\\\\\
6 15
///// \ ////
1 7 13
\ \\\\\ \
4 11 14
\ /
5 9
/
8
Insert 3:
12
////////// \\\\\\\
6 15
/////// \ ////
1 7 13
\\\ \\\\\ \
4 11 14
/ \ /
3 5 9
/
8
Insert 10:
12
///////////// \\\\\\\
6 15
/////// \ ////
1 7 13
\\\ \\\\\\\\ \
4 11 14
/ \ ////
3 5 9
/ \
8 10
Insert 2:
12
///////////// \\\\\\\
6 15
///////// \ ////
1 7 13
\\\\\ \\\\\\\\ \
4 11 14
/ \ ////
3 5 9
/ / \
2 8 10
Delete 6:
12
/////////// \\\\\\\
7 15
///////// \\\\\\\\ ////
1 11 13
\\\\\ //// \
4 9 14
/ \ / \
3 5 8 10
/
2
Delete 2:
12
/////////// \\\\\\\
7 15
/////// \\\\\\\\ ////
1 11 13
\\\ //// \
4 9 14
/ \ / \
3 5 8 10
Delete 12:
15
////
13
/////////// \
7 14
/////// \\\\\\\\
1 11
\\\ ////
4 9
/ \ / \
3 5 8 10
\end{verbatim}
}
\section{Exercise 2}
\subsection{Point A}
{\small\ttfamily
\begin{verbatim}
12B
Insert 6:
12B
/
6R
Insert 1:
6B
/ \
1R 12R
Insert 7:
6B
/ \\\\
1B 12B
/
7R
Insert 4:
6B
//// \\\\
1B 12B
\ /
4R 7R
Insert 11:
6B
//// \\\\
1B 11B
\ / \
4R 7R 12R
Insert 15:
11B
//// \
6R 12B
//// \ \
1B 7B 15R
\
4R
Insert 9:
11B
/////// \
6R 12B
//// \ \
1B 7B 15R
\ \
4R 9R
Insert 5:
6B
//// \\\\\\\
4B 11R
/ \ //// \
1R 5R 7B 12B
\ \
9R 15R
Insert 13:
11B
/////// \\\\\
6R 13B
//// \ / \
4B 7B 12R 15R
/ \ \
1R 5R 9R
Insert 8:
8B
//// \\\\
6R 11R
//// \ / \\\\\
4B 7R 9R 13B
/ \ / \
1R 5R 12R 15R
Insert 14:
8B
//// \\\\
6B 11B
//// \ / \\\\\
4B 7R 9B 13B
/ \ / \\\\\
1R 5R 12B 15B
/
14R
Insert 3:
6B
//// \\\\
4B 8R
//// \ / \\\\
1B 5B 7B 11B
\ / \\\\\
3R 9B 13B
/ \\\\\
12B 15B
/
14R
Insert 10:
6B
//// \\\\
4B 8R
//// \ / \\\\\\\\
1B 5B 7B 11B
\ ///// \\\\\
3R 9B 13B
\ / \\\\\
10R 12B 15B
/
14R
Insert 2:
6B
//// \\\\
4B 8R
//// \ / \\\\\\\\
2B 5B 7B 11B
/ \ ///// \\\\\
1R 3R 9B 13B
\ / \\\\\
10R 12B 15B
/
14R
\end{verbatim}
}
\subsection{Point B}
A red-black tree of n distinct elements has an height between $log(n)$
and $2 log(n)$ thanks to the red-black tree invariant. The worst-case insertion
complexity is $log(n)$ since finding the right place to insert is as complex as
a regular tree (i.e. logarithmic) and the ``fixup'' operation is logarithmic as
well (the tree traversal is logarithmic while operations in each iteration are constant).
In asymptotic terms, the uneven height of leaves in the tree does not make a difference
since it is a constant factor (since the maximum height is $2 log(n)$ and the minimum one is $log(n)$.
\end{document}