changeset 13:7acd7d5afeb6

commit
author tatsuki
date Tue, 07 Feb 2017 18:50:35 +0900
parents 04aa9dcd29c9
children e4da23b04260
files differential.tex figures/RedBlackTreeDelete1.graffle figures/RedBlackTreeDelete1.pdf figures/RedBlackTreeDelete2.graffle figures/RedBlackTreeDelete2.pdf figures/RedBlackTreeDelete3.graffle figures/RedBlackTreeDelete3.pdf figures/RedBlackTreeDelete4.graffle figures/RedBlackTreeDelete4.pdf figures/RedBlackTreeDelete5.graffle figures/RedBlackTreeDelete5.pdf indexupdate.tex introduciton.tex jungleUpdatePoint.tex master_paper.pdf master_paper.tex redBlackTree.tex result/createIndex.xbb result/createListTree.xbb result/createRedBlackTreeAndDefaultTreeTime.xbb result/treemap/find.pdf result/treemap/insert.pdf
diffstat 22 files changed, 244 insertions(+), 156 deletions(-) [+]
line wrap: on
line diff
--- 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>)}を実行し、ノードの追加を行う。
--- 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 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -858,9 +859,10 @@
 				<key>Align</key>
 				<integer>0</integer>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -964,9 +966,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -1121,9 +1124,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -1285,9 +1289,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -1412,12 +1417,13 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
+\f0\fs48 \cf1 del}</string>
 			</dict>
 			<key>TextRelativeArea</key>
 			<string>{{0, 0}, {1, 1}}</string>
@@ -1490,9 +1496,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -1568,9 +1575,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -1871,9 +1879,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -2595,9 +2604,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -2690,9 +2700,10 @@
 				<key>Align</key>
 				<integer>0</integer>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -2796,9 +2807,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -2953,9 +2965,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -3013,8 +3026,6 @@
 				<key>VerticalPad</key>
 				<integer>0</integer>
 			</dict>
-			<key>TextRelativeArea</key>
-			<string>{{0.10000000000000001, 0.14999999999999999}, {0.80000000000000004, 0.69999999999999996}}</string>
 		</dict>
 		<dict>
 			<key>Class</key>
@@ -3119,9 +3130,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -3246,12 +3258,13 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
+\f0\fs48 \cf1 del}</string>
 			</dict>
 			<key>TextRelativeArea</key>
 			<string>{{0, 0}, {1, 1}}</string>
@@ -3324,9 +3337,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -3402,9 +3416,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -3705,9 +3720,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -3719,7 +3735,7 @@
 		</dict>
 		<dict>
 			<key>Bounds</key>
-			<string>{{296.01693725585903, 38.503227233886719}, {170, 46}}</string>
+			<string>{{296.01693725585903, 38.503227233886719}, {170, 47}}</string>
 			<key>Class</key>
 			<string>ShapedGraphic</string>
 			<key>FitText</key>
@@ -3787,9 +3803,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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 }</string>
@@ -3872,7 +3889,7 @@
 	<key>MasterSheets</key>
 	<array/>
 	<key>ModificationDate</key>
-	<string>2017-01-19 16:55:21 +0000</string>
+	<string>2017-02-07 09:15:13 +0000</string>
 	<key>Modifier</key>
 	<string>sister_clown</string>
 	<key>NotesVisible</key>
Binary file figures/RedBlackTreeDelete1.pdf has changed
--- 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 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -634,9 +635,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -1116,12 +1118,13 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
+\f0\fs48 \cf1 del}</string>
 			</dict>
 			<key>TextRelativeArea</key>
 			<string>{{0, 0}, {1, 1}}</string>
@@ -1282,9 +1285,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -1409,9 +1413,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -1487,9 +1492,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -1565,9 +1571,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -2514,9 +2521,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -2609,9 +2617,10 @@
 				<key>Align</key>
 				<integer>0</integer>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -2715,9 +2724,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -2872,9 +2882,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -3036,9 +3047,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -3163,12 +3175,13 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
+\f0\fs48 \cf1 del}</string>
 			</dict>
 			<key>TextRelativeArea</key>
 			<string>{{0, 0}, {1, 1}}</string>
@@ -3241,9 +3254,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -3319,9 +3333,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -3558,7 +3573,7 @@
 		</dict>
 		<dict>
 			<key>Bounds</key>
-			<string>{{372.22454071044888, 39.059394836425781}, {170, 46}}</string>
+			<string>{{372.22454071044888, 39.059394836425781}, {170, 47}}</string>
 			<key>Class</key>
 			<string>ShapedGraphic</string>
 			<key>FitText</key>
@@ -3626,9 +3641,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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 }</string>
@@ -3711,7 +3727,7 @@
 	<key>MasterSheets</key>
 	<array/>
 	<key>ModificationDate</key>
-	<string>2017-01-19 19:23:44 +0000</string>
+	<string>2017-02-07 09:15:30 +0000</string>
 	<key>Modifier</key>
 	<string>sister_clown</string>
 	<key>NotesVisible</key>
@@ -3801,7 +3817,7 @@
 		<key>SidebarWidth</key>
 		<integer>120</integer>
 		<key>VisibleRegion</key>
-		<string>{{0, 0}, {950, 783}}</string>
+		<string>{{0, 0}, {936, 768}}</string>
 		<key>Zoom</key>
 		<real>1</real>
 		<key>ZoomValues</key>
Binary file figures/RedBlackTreeDelete2.pdf has changed
--- 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 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -858,9 +859,10 @@
 				<key>Align</key>
 				<integer>0</integer>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -964,9 +966,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -1121,9 +1124,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -1285,9 +1289,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -1412,12 +1417,13 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
+\f0\fs48 \cf1 del}</string>
 			</dict>
 			<key>TextRelativeArea</key>
 			<string>{{0, 0}, {1, 1}}</string>
@@ -1490,9 +1496,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -1568,9 +1575,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -2517,9 +2525,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -2612,9 +2621,10 @@
 				<key>Align</key>
 				<integer>0</integer>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -2718,9 +2728,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -2875,9 +2886,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -3039,9 +3051,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -3166,12 +3179,13 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
+\f0\fs48 \cf1 del}</string>
 			</dict>
 			<key>TextRelativeArea</key>
 			<string>{{0, 0}, {1, 1}}</string>
@@ -3244,9 +3258,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -3322,9 +3337,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -3561,7 +3577,7 @@
 		</dict>
 		<dict>
 			<key>Bounds</key>
-			<string>{{361.59132766723599, 39.059394836425781}, {170, 46}}</string>
+			<string>{{361.59132766723599, 39.059394836425781}, {170, 47}}</string>
 			<key>Class</key>
 			<string>ShapedGraphic</string>
 			<key>FitText</key>
@@ -3629,9 +3645,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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 }</string>
@@ -3714,7 +3731,7 @@
 	<key>MasterSheets</key>
 	<array/>
 	<key>ModificationDate</key>
-	<string>2017-01-19 19:50:35 +0000</string>
+	<string>2017-02-07 09:15:40 +0000</string>
 	<key>Modifier</key>
 	<string>sister_clown</string>
 	<key>NotesVisible</key>
@@ -3804,7 +3821,7 @@
 		<key>SidebarWidth</key>
 		<integer>120</integer>
 		<key>VisibleRegion</key>
-		<string>{{100, 0}, {908, 783}}</string>
+		<string>{{95, 0}, {894, 768}}</string>
 		<key>Zoom</key>
 		<real>1</real>
 		<key>ZoomValues</key>
Binary file figures/RedBlackTreeDelete3.pdf has changed
--- 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 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -374,9 +375,10 @@
 				<key>Align</key>
 				<integer>0</integer>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -987,9 +989,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -1146,9 +1149,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -1310,9 +1314,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -1437,12 +1442,13 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
+\f0\fs48 \cf1 del}</string>
 			</dict>
 			<key>TextRelativeArea</key>
 			<string>{{0, 0}, {1, 1}}</string>
@@ -1515,9 +1521,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -1593,9 +1600,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -2542,9 +2550,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -2637,9 +2646,10 @@
 				<key>Align</key>
 				<integer>0</integer>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -2743,9 +2753,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -2900,9 +2911,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -3064,9 +3076,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -3191,12 +3204,13 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
+\f0\fs48 \cf1 del}</string>
 			</dict>
 			<key>TextRelativeArea</key>
 			<string>{{0, 0}, {1, 1}}</string>
@@ -3269,9 +3283,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -3347,9 +3362,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -3586,7 +3602,7 @@
 		</dict>
 		<dict>
 			<key>Bounds</key>
-			<string>{{352.53941726684536, 71.059394836425781}, {170, 46}}</string>
+			<string>{{352.53941726684536, 71.059394836425781}, {170, 47}}</string>
 			<key>Class</key>
 			<string>ShapedGraphic</string>
 			<key>FitText</key>
@@ -3654,9 +3670,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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 }</string>
@@ -3739,7 +3756,7 @@
 	<key>MasterSheets</key>
 	<array/>
 	<key>ModificationDate</key>
-	<string>2017-01-19 20:35:49 +0000</string>
+	<string>2017-02-07 09:15:54 +0000</string>
 	<key>Modifier</key>
 	<string>sister_clown</string>
 	<key>NotesVisible</key>
@@ -3815,7 +3832,7 @@
 		<key>ExpandedCanvases</key>
 		<array/>
 		<key>Frame</key>
-		<string>{{-0, -0}, {1920, 1177}}</string>
+		<string>{{4, 0}, {1916, 1177}}</string>
 		<key>ListView</key>
 		<true/>
 		<key>OutlineWidth</key>
@@ -3829,7 +3846,7 @@
 		<key>SidebarWidth</key>
 		<integer>120</integer>
 		<key>VisibleRegion</key>
-		<string>{{-334, -126}, {1785, 1035}}</string>
+		<string>{{-332, -126}, {1781, 1035}}</string>
 		<key>Zoom</key>
 		<real>1</real>
 		<key>ZoomValues</key>
Binary file figures/RedBlackTreeDelete4.pdf has changed
--- 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 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -646,9 +647,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -1128,12 +1130,13 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
+\f0\fs48 \cf1 del}</string>
 			</dict>
 			<key>TextRelativeArea</key>
 			<string>{{0, 0}, {1, 1}}</string>
@@ -1294,9 +1297,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -1421,15 +1425,14 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
 			</dict>
-			<key>TextRelativeArea</key>
-			<string>{{0, 0}, {1, 1}}</string>
 			<key>Wrap</key>
 			<string>NO</string>
 		</dict>
@@ -1499,9 +1502,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -1577,9 +1581,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -1880,9 +1885,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -2618,9 +2624,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -2812,9 +2819,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -2969,9 +2977,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -3133,9 +3142,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -3260,12 +3270,13 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
+\f0\fs48 \cf1 del}</string>
 			</dict>
 			<key>TextRelativeArea</key>
 			<string>{{0, 0}, {1, 1}}</string>
@@ -3338,9 +3349,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -3416,9 +3428,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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}</string>
@@ -3655,7 +3668,7 @@
 		</dict>
 		<dict>
 			<key>Bounds</key>
-			<string>{{363.53941726684536, 53.059394836425781}, {170, 46}}</string>
+			<string>{{363.53941726684536, 53.059394836425781}, {170, 47}}</string>
 			<key>Class</key>
 			<string>ShapedGraphic</string>
 			<key>FitText</key>
@@ -3723,9 +3736,10 @@
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140
+				<string>{\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 }</string>
@@ -3808,7 +3822,7 @@
 	<key>MasterSheets</key>
 	<array/>
 	<key>ModificationDate</key>
-	<string>2017-01-19 20:49:30 +0000</string>
+	<string>2017-02-07 09:16:06 +0000</string>
 	<key>Modifier</key>
 	<string>sister_clown</string>
 	<key>NotesVisible</key>
@@ -3898,7 +3912,7 @@
 		<key>SidebarWidth</key>
 		<integer>120</integer>
 		<key>VisibleRegion</key>
-		<string>{{16, 0}, {918, 779}}</string>
+		<string>{{16, 0}, {904, 764}}</string>
 		<key>Zoom</key>
 		<real>1</real>
 		<key>ZoomValues</key>
Binary file figures/RedBlackTreeDelete5.pdf has changed
--- 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
--- 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を使用したアプリケーションを開発・運用する。
 
--- 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)で行える。
Binary file master_paper.pdf has changed
--- 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%
--- 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 TreeMap<K,V>Key}と定義されており、
+非破壊 TreeMapは、Javaのジェネリクスを用いて、{\tt TreeMap<K,V>Key}と定義される。
 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<String,String> map = new TreeMap<>();
+TreeMap<String,String> 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]
--- 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
 
--- 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
 
--- 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
 
Binary file result/treemap/find.pdf has changed
Binary file result/treemap/insert.pdf has changed