This repository has been archived on 2021-10-31. You can view files and clone it, but cannot push or open issues or pull requests.
DSA/GA3/ga3.tex

370 lines
6.7 KiB
TeX
Raw Normal View History

2019-05-09 21:22:23 +00:00
% 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}