# HG changeset patch
# User tatsuki
# Date 1486461035 -32400
# Node ID 7acd7d5afeb61d707cedecddcfadb8a3a1ec2234
# Parent 04aa9dcd29c9a9358256dae09378724c8e366d7f
commit
diff -r 04aa9dcd29c9 -r 7acd7d5afeb6 differential.tex
--- a/differential.tex Mon Feb 06 02:41:48 2017 +0900
+++ b/differential.tex Tue Feb 07 18:50:35 2017 +0900
@@ -1,5 +1,5 @@
\chapter{Differential Jungle Tree}
-Jungleの木の変更の手間は木の形によって異なる。
+Jungleの木の変更の手間は形によって異なる。
特に線形の木は、変更の手間がO(n)となってしまう。
線形の木をO(1)で変更するために、Jungleは、ルートノードを追加していくPushPopの機能を持つ。
しかし、PushPopはルートノードを追加していくため、図\ref{fig:pushpop}のようにノードの並びが逆順になってしまう。
@@ -18,8 +18,9 @@
\section{Differential Tree Context}
-Jungleの木はTreeContextというオブジェクトに自身の木の情報を保持する。
-表\ref{TreeContext}にTreeContextが保持するデータを記述する。
+Jungleの木はTreeContextというオブジェクトに自身の木の情報を保持している(表\ref{TreeContext})。
+
+\newpage
\begin{table}[htb]
\begin{center}
@@ -40,7 +41,6 @@
Differential Jungle Treeでは、現在の版の木構造の末尾ノード保持することが可能な Differential Tree Context 作成した。
-\newpage
\section{Differential Jungle Treeの作成}
Differential Jungle Treeを作成するためにJungleに、{\tt createNewDifferentialTree(String treeName) }を実装した。
@@ -66,6 +66,8 @@
ソースコード\ref{src:nameFail}では、4行目で Differentail Jungle Tree の名前が、3行目で生成した Default Jungle Tree の名前と重複するため、木の生成に失敗する。
+\newpage
+
\section{末尾ノードを使用した木の編集}
Differential Jungle Treeの木の編集は、Differential Jungle Tree Editorを使用して行う。
%Differential Jungle Tree Editorは、Jungle Tree Editor インターフェースを実装しているため、使い方はDefault Jungle Tree Editorと同じである。
@@ -85,7 +87,6 @@
\end{center}
\end{figure}
-\newpage
\begin{enumerate}
\item 木から{\tt getJungleTreeEditor}でEditorを取得する。(このとき取得するEditorはSub Treeを持つ)。
\item SubTreeに対して{\tt addNewChild(<-1,0>)}を実行し、ノードの追加を行う。
diff -r 04aa9dcd29c9 -r 7acd7d5afeb6 figures/RedBlackTreeDelete1.graffle
--- a/figures/RedBlackTreeDelete1.graffle Mon Feb 06 02:41:48 2017 +0900
+++ b/figures/RedBlackTreeDelete1.graffle Tue Feb 07 18:50:35 2017 +0900
@@ -763,9 +763,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 F}
@@ -858,9 +859,10 @@
Align
0
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural
\f0\fs24 \cf0 C}
@@ -964,9 +966,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 E}
@@ -1121,9 +1124,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 C}
@@ -1285,9 +1289,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 D}
@@ -1412,12 +1417,13 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-\f0\fs48 \cf1 rep}
+\f0\fs48 \cf1 del}
TextRelativeArea
{{0, 0}, {1, 1}}
@@ -1490,9 +1496,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 B}
@@ -1568,9 +1575,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 A}
@@ -1871,9 +1879,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 H}
@@ -2595,9 +2604,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 F}
@@ -2690,9 +2700,10 @@
Align
0
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural
\f0\fs24 \cf0 C}
@@ -2796,9 +2807,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 E}
@@ -2953,9 +2965,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 C}
@@ -3013,8 +3026,6 @@
VerticalPad
0
- TextRelativeArea
- {{0.10000000000000001, 0.14999999999999999}, {0.80000000000000004, 0.69999999999999996}}
Class
@@ -3119,9 +3130,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 D}
@@ -3246,12 +3258,13 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-\f0\fs48 \cf1 rep}
+\f0\fs48 \cf1 del}
TextRelativeArea
{{0, 0}, {1, 1}}
@@ -3324,9 +3337,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 B}
@@ -3402,9 +3416,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 A}
@@ -3705,9 +3720,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 H}
@@ -3719,7 +3735,7 @@
Bounds
- {{296.01693725585903, 38.503227233886719}, {170, 46}}
+ {{296.01693725585903, 38.503227233886719}, {170, 47}}
Class
ShapedGraphic
FitText
@@ -3787,9 +3803,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf0 balance Tree }
@@ -3872,7 +3889,7 @@
MasterSheets
ModificationDate
- 2017-01-19 16:55:21 +0000
+ 2017-02-07 09:15:13 +0000
Modifier
sister_clown
NotesVisible
diff -r 04aa9dcd29c9 -r 7acd7d5afeb6 figures/RedBlackTreeDelete1.pdf
Binary file figures/RedBlackTreeDelete1.pdf has changed
diff -r 04aa9dcd29c9 -r 7acd7d5afeb6 figures/RedBlackTreeDelete2.graffle
--- a/figures/RedBlackTreeDelete2.graffle Mon Feb 06 02:41:48 2017 +0900
+++ b/figures/RedBlackTreeDelete2.graffle Tue Feb 07 18:50:35 2017 +0900
@@ -477,9 +477,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 C}
@@ -634,9 +635,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 D}
@@ -1116,12 +1118,13 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-\f0\fs48 \cf1 rep}
+\f0\fs48 \cf1 del}
TextRelativeArea
{{0, 0}, {1, 1}}
@@ -1282,9 +1285,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 E}
@@ -1409,9 +1413,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 A}
@@ -1487,9 +1492,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 F}
@@ -1565,9 +1571,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 B}
@@ -2514,9 +2521,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 F}
@@ -2609,9 +2617,10 @@
Align
0
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural
\f0\fs24 \cf0 C}
@@ -2715,9 +2724,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 E}
@@ -2872,9 +2882,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 C}
@@ -3036,9 +3047,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 D}
@@ -3163,12 +3175,13 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-\f0\fs48 \cf1 rep}
+\f0\fs48 \cf1 del}
TextRelativeArea
{{0, 0}, {1, 1}}
@@ -3241,9 +3254,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 B}
@@ -3319,9 +3333,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 A}
@@ -3558,7 +3573,7 @@
Bounds
- {{372.22454071044888, 39.059394836425781}, {170, 46}}
+ {{372.22454071044888, 39.059394836425781}, {170, 47}}
Class
ShapedGraphic
FitText
@@ -3626,9 +3641,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf0 balance Tree }
@@ -3711,7 +3727,7 @@
MasterSheets
ModificationDate
- 2017-01-19 19:23:44 +0000
+ 2017-02-07 09:15:30 +0000
Modifier
sister_clown
NotesVisible
@@ -3801,7 +3817,7 @@
SidebarWidth
120
VisibleRegion
- {{0, 0}, {950, 783}}
+ {{0, 0}, {936, 768}}
Zoom
1
ZoomValues
diff -r 04aa9dcd29c9 -r 7acd7d5afeb6 figures/RedBlackTreeDelete2.pdf
Binary file figures/RedBlackTreeDelete2.pdf has changed
diff -r 04aa9dcd29c9 -r 7acd7d5afeb6 figures/RedBlackTreeDelete3.graffle
--- a/figures/RedBlackTreeDelete3.graffle Mon Feb 06 02:41:48 2017 +0900
+++ b/figures/RedBlackTreeDelete3.graffle Tue Feb 07 18:50:35 2017 +0900
@@ -763,9 +763,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 F}
@@ -858,9 +859,10 @@
Align
0
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural
\f0\fs24 \cf0 C}
@@ -964,9 +966,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 E}
@@ -1121,9 +1124,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 C}
@@ -1285,9 +1289,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 D}
@@ -1412,12 +1417,13 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-\f0\fs48 \cf1 rep}
+\f0\fs48 \cf1 del}
TextRelativeArea
{{0, 0}, {1, 1}}
@@ -1490,9 +1496,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 B}
@@ -1568,9 +1575,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 A}
@@ -2517,9 +2525,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 F}
@@ -2612,9 +2621,10 @@
Align
0
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural
\f0\fs24 \cf0 C}
@@ -2718,9 +2728,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 E}
@@ -2875,9 +2886,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 C}
@@ -3039,9 +3051,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 D}
@@ -3166,12 +3179,13 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-\f0\fs48 \cf1 rep}
+\f0\fs48 \cf1 del}
TextRelativeArea
{{0, 0}, {1, 1}}
@@ -3244,9 +3258,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 B}
@@ -3322,9 +3337,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 A}
@@ -3561,7 +3577,7 @@
Bounds
- {{361.59132766723599, 39.059394836425781}, {170, 46}}
+ {{361.59132766723599, 39.059394836425781}, {170, 47}}
Class
ShapedGraphic
FitText
@@ -3629,9 +3645,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf0 balance Tree }
@@ -3714,7 +3731,7 @@
MasterSheets
ModificationDate
- 2017-01-19 19:50:35 +0000
+ 2017-02-07 09:15:40 +0000
Modifier
sister_clown
NotesVisible
@@ -3804,7 +3821,7 @@
SidebarWidth
120
VisibleRegion
- {{100, 0}, {908, 783}}
+ {{95, 0}, {894, 768}}
Zoom
1
ZoomValues
diff -r 04aa9dcd29c9 -r 7acd7d5afeb6 figures/RedBlackTreeDelete3.pdf
Binary file figures/RedBlackTreeDelete3.pdf has changed
diff -r 04aa9dcd29c9 -r 7acd7d5afeb6 figures/RedBlackTreeDelete4.graffle
--- a/figures/RedBlackTreeDelete4.graffle Mon Feb 06 02:41:48 2017 +0900
+++ b/figures/RedBlackTreeDelete4.graffle Tue Feb 07 18:50:35 2017 +0900
@@ -314,9 +314,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 F}
@@ -374,9 +375,10 @@
Align
0
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural
\f0\fs24 \cf0 C}
@@ -987,9 +989,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 B}
@@ -1146,9 +1149,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 C}
@@ -1310,9 +1314,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 D}
@@ -1437,12 +1442,13 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-\f0\fs48 \cf1 rep}
+\f0\fs48 \cf1 del}
TextRelativeArea
{{0, 0}, {1, 1}}
@@ -1515,9 +1521,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 E}
@@ -1593,9 +1600,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 A}
@@ -2542,9 +2550,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 F}
@@ -2637,9 +2646,10 @@
Align
0
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural
\f0\fs24 \cf0 C}
@@ -2743,9 +2753,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 E}
@@ -2900,9 +2911,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 C}
@@ -3064,9 +3076,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 D}
@@ -3191,12 +3204,13 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-\f0\fs48 \cf1 rep}
+\f0\fs48 \cf1 del}
TextRelativeArea
{{0, 0}, {1, 1}}
@@ -3269,9 +3283,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 B}
@@ -3347,9 +3362,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 A}
@@ -3586,7 +3602,7 @@
Bounds
- {{352.53941726684536, 71.059394836425781}, {170, 46}}
+ {{352.53941726684536, 71.059394836425781}, {170, 47}}
Class
ShapedGraphic
FitText
@@ -3654,9 +3670,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf0 balance Tree }
@@ -3739,7 +3756,7 @@
MasterSheets
ModificationDate
- 2017-01-19 20:35:49 +0000
+ 2017-02-07 09:15:54 +0000
Modifier
sister_clown
NotesVisible
@@ -3815,7 +3832,7 @@
ExpandedCanvases
Frame
- {{-0, -0}, {1920, 1177}}
+ {{4, 0}, {1916, 1177}}
ListView
OutlineWidth
@@ -3829,7 +3846,7 @@
SidebarWidth
120
VisibleRegion
- {{-334, -126}, {1785, 1035}}
+ {{-332, -126}, {1781, 1035}}
Zoom
1
ZoomValues
diff -r 04aa9dcd29c9 -r 7acd7d5afeb6 figures/RedBlackTreeDelete4.pdf
Binary file figures/RedBlackTreeDelete4.pdf has changed
diff -r 04aa9dcd29c9 -r 7acd7d5afeb6 figures/RedBlackTreeDelete5.graffle
--- a/figures/RedBlackTreeDelete5.graffle Mon Feb 06 02:41:48 2017 +0900
+++ b/figures/RedBlackTreeDelete5.graffle Tue Feb 07 18:50:35 2017 +0900
@@ -484,9 +484,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 C}
@@ -646,9 +647,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 D}
@@ -1128,12 +1130,13 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-\f0\fs48 \cf1 rep}
+\f0\fs48 \cf1 del}
TextRelativeArea
{{0, 0}, {1, 1}}
@@ -1294,9 +1297,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 E}
@@ -1421,15 +1425,14 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 A}
- TextRelativeArea
- {{0, 0}, {1, 1}}
Wrap
NO
@@ -1499,9 +1502,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 F}
@@ -1577,9 +1581,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 B}
@@ -1880,9 +1885,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 rep}
@@ -2618,9 +2624,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 F}
@@ -2812,9 +2819,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 E}
@@ -2969,9 +2977,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 C}
@@ -3133,9 +3142,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 D}
@@ -3260,12 +3270,13 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-\f0\fs48 \cf1 rep}
+\f0\fs48 \cf1 del}
TextRelativeArea
{{0, 0}, {1, 1}}
@@ -3338,9 +3349,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 B}
@@ -3416,9 +3428,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf1 A}
@@ -3655,7 +3668,7 @@
Bounds
- {{363.53941726684536, 53.059394836425781}, {170, 46}}
+ {{363.53941726684536, 53.059394836425781}, {170, 47}}
Class
ShapedGraphic
FitText
@@ -3723,9 +3736,10 @@
Text
Text
- {\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+ {\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
\f0\fs48 \cf0 balance Tree }
@@ -3808,7 +3822,7 @@
MasterSheets
ModificationDate
- 2017-01-19 20:49:30 +0000
+ 2017-02-07 09:16:06 +0000
Modifier
sister_clown
NotesVisible
@@ -3898,7 +3912,7 @@
SidebarWidth
120
VisibleRegion
- {{16, 0}, {918, 779}}
+ {{16, 0}, {904, 764}}
Zoom
1
ZoomValues
diff -r 04aa9dcd29c9 -r 7acd7d5afeb6 figures/RedBlackTreeDelete5.pdf
Binary file figures/RedBlackTreeDelete5.pdf has changed
diff -r 04aa9dcd29c9 -r 7acd7d5afeb6 indexupdate.tex
--- a/indexupdate.tex Mon Feb 06 02:41:48 2017 +0900
+++ b/indexupdate.tex Tue Feb 07 18:50:35 2017 +0900
@@ -5,7 +5,7 @@
\section{差分 Updateの実装}
Indexの差分 Updateを行うためには、編集を行ったノードを覚えておく必要がある。
-なので、Jungleの木に編集を行ったノードをリストに格納する。
+Jungleの木に編集を行ったノードをリストに格納する。
そして、Commit時にリストにあるノードと、そのノードまでの経路にあるノードに対して、IndexをのUpdateを行う。
Indexの Update は、ノードの削除とノードの挿入の2つのプロセスで行われる。
@@ -41,8 +41,8 @@
\section{Full Update との使い分け}
Indexの差分Updateは、不要なノードの削除と新しく木に追加されたノードの挿入を行っているため、1ノードに対する処理は Full Updateより大きい。
-そのため、少ない編集後の Commit は、差分Updateの方が高速に行えるが、多くの編集を行った後の Commitだと、Full Updateの方が高速に動作する。
-なので、木の編集回数によって、Indexの更新方法を変更する必要がある。
-
+少ない回数編集を行った後の Commit は、差分Updateの方が高速に行えるが、多くの編集を行った後の Commitだと、Full Updateの方が高速に動作する可能性がある。
+そのため、Commit 前の、木の編集回数によって、Indexの更新方法を変更したほうが高速に Update を行える可能性がある。
+これに関しての検証は、性能測定の章に記述する。
\newpage
diff -r 04aa9dcd29c9 -r 7acd7d5afeb6 introduciton.tex
--- a/introduciton.tex Mon Feb 06 02:41:48 2017 +0900
+++ b/introduciton.tex Tue Feb 07 18:50:35 2017 +0900
@@ -12,11 +12,9 @@
プログラムは、この木を内部のデータ構造として直接取り扱うことができるので、読み出し時にデータベースに問い合わせる必要がない。
Jungleは分散構成も可能である。
-%Jungleは、データの読み込みは高速に行える反面、木の変更の手間は木の形に依存しており、最悪の場合O(n)になってしまうという面があった。
Jungleは、読み込みは高速に行える反面、書き込みは木の形に依存しており、最悪の場合O(n)となってしまう。
また、Indexの構築も大幅なネックとなっていた。
-そこで、本研究では、Jungleの木の構築・編集の改善を行う。
-そのために、今までの汎用的な木ではなく、特定の形の木を格納することに特化した木を実装し、Indexの更新等にも改善を行った。
+そこで、本研究では、Jungleの木の構築・編集機能の改善を行う。
その後、実際にJungleを使用したアプリケーションを開発・運用する。
diff -r 04aa9dcd29c9 -r 7acd7d5afeb6 jungleUpdatePoint.tex
--- a/jungleUpdatePoint.tex Mon Feb 06 02:41:48 2017 +0900
+++ b/jungleUpdatePoint.tex Tue Feb 07 18:50:35 2017 +0900
@@ -6,8 +6,8 @@
しかし、Functional Javaは、処理が重く、実用的な性能ではなかったため、非破壊の TreeMap の実装を新しく行った。
\section{Indexの差分 Update}
-Jungleの木は、Indexの更新をCommit時に Full Updateで行っている。
-そのため、Commitを行うたび、O(n)のIndexのUpdateが入り、木の編集時大きなネックとなっていた。
+Jungleは、Indexの更新をCommit時に Full Updateで行っている。
+そのため、Commitを行うたび、O(n)のIndexのUpdateが入り、木の編集時大きなネックとなっている。
Index の更新処理を高速に行えるようにするため、
前の木との差分だけIndexを更新する機能を Jungle に追加した。
@@ -29,10 +29,6 @@
Indexに使用する属性名が1種類で、木構造の形がデータを表現していない場合、Jungle Tree自身をIndexとしたほうが、効率的に木構造を構築できる。
そこで、Red Black Treeの性質を組み込んだRed Black Jungle Treeの実装を行った。
Red Black Jungle Tree は、生成時に木のバランスを取る際に使用する属性名(Balance Key)を指定する。
-そして、ノードの挿入・削除時、Balance Keyを用いて木のバランスを取る・
+そして、ノードの挿入・削除時、Balance Keyを用いて木のバランスを取る。
-Red Black Jungle Tree の木の編集は、Red Black Jungle Tree Editorを用いて行う。
-ノードの挿入時に、木のバランスを取るための属性値が必要になるため、ノードと値の挿入を同時に行うAPIを実装した。
-
-Red Black Jungle Treeの検索は、Balance Key を用いた検索は極めて高速に行える。
-しかし用いなかった場合は、全探索を行うためO(n)になってしまう。
+木の探索に関してはBalanceKeyを用いた場合N(Logn)、そうでない場合はO(n)で行える。
diff -r 04aa9dcd29c9 -r 7acd7d5afeb6 master_paper.pdf
Binary file master_paper.pdf has changed
diff -r 04aa9dcd29c9 -r 7acd7d5afeb6 master_paper.tex
--- a/master_paper.tex Mon Feb 06 02:41:48 2017 +0900
+++ b/master_paper.tex Tue Feb 07 18:50:35 2017 +0900
@@ -7,7 +7,7 @@
\usepackage{comment}
%\input{dummy.tex} %% font
-\jtitle{タイトル}
+\jtitle{}
\etitle{英語タイトル}
\year{平成28年度}
\affiliation{\center%
diff -r 04aa9dcd29c9 -r 7acd7d5afeb6 redBlackTree.tex
--- a/redBlackTree.tex Mon Feb 06 02:41:48 2017 +0900
+++ b/redBlackTree.tex Tue Feb 07 18:50:35 2017 +0900
@@ -1,8 +1,10 @@
\chapter{非破壊 TreeMap の実装}
JungleのIndexは、Functional Javaの非破壊 TreeMap を用いて実装を行っている。
しかし、Functional Java の TreeMap は、木の変更の手間が大きい、並列実行時処理速度が落ちるなど、実用的な性能を持っていなかった。
-なので、Jungleで使用するための非破壊 TreeMap を作成した。
-TreeMapは、Red Black Treeのアルゴリズムに基づき実装した。
+そのため、Jungle の性能も、TreeMap部分がネックとなっていた。
+
+その問題を解決するため、Jungleで使用する非破壊 TreeMap を作成した。
+TreeMapは、Red Black Treeのアルゴリズム用いる。
\section{Red Black Tree}
Red Black Treeは二分探索木の一つで、以下の条件を満たした木のことである。
@@ -19,7 +21,7 @@
この条件により、Red Black Treeはデータの検索、削除、探索をO(log n)で行える。
\section{非破壊 TreeMap の定義}
-非破壊 TreeMapは、Javaのジェネリクスを用いて、{\tt TreeMapKey}と定義されており、
+非破壊 TreeMapは、Javaのジェネリクスを用いて、{\tt TreeMapKey}と定義される。
TreeMapを作る際に、K,Vに任意の型を記述することで、
KeyとValueで使用する型を設定できる。
ソースコード\ref{src:TreeMapExample}に、 Key を String 型・ Value を ByteBuffer 型で定義するサンプルコードを記述する。
@@ -47,8 +49,13 @@
\end{center}
\end{table}
-非破壊 TreeMapは、put・deleteを行うと編集後の新しい TreeMap を返すため、新しい TreeMap で受ける必要がある。
-この時返ってくるTreeMapと、編集前のTreeMapは別オブジェクトである。
+非破壊 TreeMapは、put・deleteを行うと編集後の新しい TreeMap を返すため、新しい TreeMap で受ける必要がある(ソースコード\ref{src:TreeMapEditExample})。
+この時返ってくる {\tt newMap}と、編集前の {\tt map} は別オブジェクトである。
+
+\begin{lstlisting}[frame=lrbt,numbers=left,label=src:TreeMapEditExample,caption=TreeMapの編集例]
+TreeMap map = new TreeMap<>();
+TreeMap newMap = map.put("key","value");
+\end{lstlisting}
\section{非破壊 Red Black Treeへのデータの挿入}
非破壊 Red Black Treeへのデータの挿入は、以下の手順で行われる。
@@ -78,7 +85,7 @@
\item 挿入したノードinsの親ノードBが黒。
\end{enumerate}
-バランス時、上記の条件を満たしている場合、Red Black Treeの条件は崩れないため、そのまま赤色でノードを挿入して問題はない。%(図\ref{fig:RedBlackTreeInsert1})。
+バランス時、上記の条件を満たしている場合、Red Black Treeの条件は崩れないため、赤色でノードを挿入して問題はない。%(図\ref{fig:RedBlackTreeInsert1})。
%\begin{figure}[htpb]
%\begin{center}
@@ -162,30 +169,30 @@
\item 片側に部分木(子ノード)がある場合、ノードを削除した後、部分木のルートを昇格させる。
\item 両側に部分木(子ノード)がある場合は、左部分木の最大の値を持つノードの値を取得し、削除を行うノードと同じ色に変更した後、置換する。
\item 置換したノードを削除する(ここで削除させるノードは部分木の最大値であるため、子ノードは1つ以下、つまり削除の手順4・5どちらかの手順で削除できる)。
-\item 削除したノードから、木のバランスを取りながら、ルートまでの経路の複製を行う。その際Defaul Jungle Treeと同じように、変更が加えられないノードへは参照を行い過去の木と最大限共有を行う。
+\item 削除したノードから、木のバランスを取りながら、ルートまでの経路の複製を行う。その際、変更が加えられないノードへは参照を行い過去の木と最大限共有を行う。
\end{enumerate}
RedBlackTreeのバランスは、ノード削除時の状態によって、次の6パターンに分けられる。
-また。これ以降削除対象のノードと置換したノードを、ノードrepと記述する。
+また。これ以降削除したノードを、ノードdelと記述する。
\section{データ削除時のバランス ケース1}
\begin{enumerate}
-\item ノードrepがルート。
+\item ノードdelがルート。
\end{enumerate}
上記の条件を満たしている場合、全ての経路の黒ノード数が1つ減った状態で条件が成立しバランスは終了する。
\section{データ削除時のバランス ケース2}
\begin{enumerate}
-\item ノードrepが黒。
+\item ノードdelが黒。
\item ノードA・B・C・D・E・Fが黒。
\end{enumerate}
バランス時、上記の条件を満たしている場合、ノードBを赤に変える(図\ref{fig:RedBlackTreeDelete1})。
そうすることで、ノードB・E・F以下の黒ノードの階層が減って、ノードA以下の木のバランスが回復する。
-その後、Aを新たなノードrepとして木のバランスを行う。
+その後、Aを新たなノードdelとして木のバランスを行う。
このバランスは最悪の場合ルートまで続き、ケース2で終了する。
\begin{figure}[htpb]
@@ -197,16 +204,17 @@
\end{figure}
+\newpage
\section{データ削除時のバランス ケース3}
\begin{enumerate}
-\item ノードrepが黒。
+\item ノードdelが黒。
\item ノードA・C・D・E・Fが黒
\item ノードBが赤。
\end{enumerate}
上記の条件を満たしている場合、ノードAを中心に外側に回転、その後ノードAを赤に、ノードBを黒に変更する(図\ref{fig:RedBlackTreeDelete2})。
-その後、ノードrepを基準に再び木のバランスを行う。
-この時のバランスは、図\ref{fig:RedBlackTreeDelete2}における、ノードEの子供の色に応じてケース5・6・7のどれかに帰着する。
+その後、ノードdelを基準に再び木のバランスを行う。
+この時のバランスは、図\ref{fig:RedBlackTreeDelete2}における、ノードEの子供の色に応じてケース4・5・6のどれかに帰着する。
\begin{figure}[htpb]
\begin{center}
@@ -216,9 +224,11 @@
\end{center}
\end{figure}
+\newpage
+
\section{データ削除時のバランス ケース4}
\begin{enumerate}
-\item ノードrepが黒。
+\item ノードdelが黒。
\item ノードB・C・D・E・Fが黒
\item ノードAが赤。
\end{enumerate}
@@ -234,9 +244,10 @@
\end{figure}
+\newpage
\section{データ削除時のバランス ケース5}
\begin{enumerate}
-\item ノードrepが黒。
+\item ノードdelが黒。
\item ノードB・C・D・Fが黒。
\item ノードEの色が赤。
\end{enumerate}
@@ -253,14 +264,15 @@
\end{figure}
+\newpage
\section{データ削除時のバランス ケース6}
\begin{enumerate}
-\item ノードrepが黒。
+\item ノードdelが黒。
\item ノードB・C・Dが黒。
\item ノードFの色が赤。
\end{enumerate}
-上記の条件を満たしている場合、ノードAを中心にノードrep側に回転、その後、ノードAとノードBの色を交換し、ノードFを黒にする(図\ref{fig:RedBlackTreeDelete5})。
+上記の条件を満たしている場合、ノードAを中心にノードdel側に回転、その後、ノードAとノードBの色を交換し、ノードFを黒にする(図\ref{fig:RedBlackTreeDelete5})。
そうすることで、ノードE・Fの黒の深さを変えること無く、ノードrepの黒の深さを1増やせるため、木のバランスが取れる。
\begin{figure}[htpb]
diff -r 04aa9dcd29c9 -r 7acd7d5afeb6 result/createIndex.xbb
--- a/result/createIndex.xbb Mon Feb 06 02:41:48 2017 +0900
+++ b/result/createIndex.xbb Tue Feb 07 18:50:35 2017 +0900
@@ -4,5 +4,5 @@
%%HiResBoundingBox: 0.000000 0.000000 792.000000 612.000000
%%PDFVersion: 1.3
%%Pages: 1
-%%CreationDate: Sun Feb 5 23:25:32 2017
+%%CreationDate: Mon Feb 6 02:56:13 2017
diff -r 04aa9dcd29c9 -r 7acd7d5afeb6 result/createListTree.xbb
--- a/result/createListTree.xbb Mon Feb 06 02:41:48 2017 +0900
+++ b/result/createListTree.xbb Tue Feb 07 18:50:35 2017 +0900
@@ -4,5 +4,5 @@
%%HiResBoundingBox: 0.000000 0.000000 792.000000 612.000000
%%PDFVersion: 1.3
%%Pages: 1
-%%CreationDate: Sun Feb 5 23:25:32 2017
+%%CreationDate: Mon Feb 6 02:56:13 2017
diff -r 04aa9dcd29c9 -r 7acd7d5afeb6 result/createRedBlackTreeAndDefaultTreeTime.xbb
--- a/result/createRedBlackTreeAndDefaultTreeTime.xbb Mon Feb 06 02:41:48 2017 +0900
+++ b/result/createRedBlackTreeAndDefaultTreeTime.xbb Tue Feb 07 18:50:35 2017 +0900
@@ -4,5 +4,5 @@
%%HiResBoundingBox: 0.000000 0.000000 792.000000 612.000000
%%PDFVersion: 1.3
%%Pages: 1
-%%CreationDate: Sun Feb 5 23:25:32 2017
+%%CreationDate: Mon Feb 6 02:56:13 2017
diff -r 04aa9dcd29c9 -r 7acd7d5afeb6 result/treemap/find.pdf
Binary file result/treemap/find.pdf has changed
diff -r 04aa9dcd29c9 -r 7acd7d5afeb6 result/treemap/insert.pdf
Binary file result/treemap/insert.pdf has changed