From a95841c277408ad34e37aca4ba420674cf6541ed Mon Sep 17 00:00:00 2001 From: lmh Date: Sat, 24 Jun 2023 17:02:01 +0800 Subject: [PATCH] rbtree --- APP_Framework/Applications/app_test/Kconfig | 4 + APP_Framework/Applications/app_test/Makefile | 4 + .../app_test/test_rbtree/README.md | 69 ++++ .../app_test/test_rbtree/image-1.png | Bin 0 -> 66445 bytes .../app_test/test_rbtree/image-2.png | Bin 0 -> 36911 bytes .../app_test/test_rbtree/image.png | Bin 0 -> 127592 bytes .../app_test/test_rbtree/test_rbtree.c | 341 ++++++++++++++++++ .../app_test/test_rbtree/test_rbtree.h | 60 +++ 8 files changed, 478 insertions(+) create mode 100644 APP_Framework/Applications/app_test/test_rbtree/README.md create mode 100644 APP_Framework/Applications/app_test/test_rbtree/image-1.png create mode 100644 APP_Framework/Applications/app_test/test_rbtree/image-2.png create mode 100644 APP_Framework/Applications/app_test/test_rbtree/image.png create mode 100644 APP_Framework/Applications/app_test/test_rbtree/test_rbtree.c create mode 100644 APP_Framework/Applications/app_test/test_rbtree/test_rbtree.h diff --git a/APP_Framework/Applications/app_test/Kconfig b/APP_Framework/Applications/app_test/Kconfig index 45df5f5d5..05f9b68d2 100644 --- a/APP_Framework/Applications/app_test/Kconfig +++ b/APP_Framework/Applications/app_test/Kconfig @@ -240,5 +240,9 @@ menu "test app" bool "Config test soft timer" default n + menuconfig USER_TEST_RBTREE + bool "Config test red black tree" + default n + endif endmenu diff --git a/APP_Framework/Applications/app_test/Makefile b/APP_Framework/Applications/app_test/Makefile index 1cf919846..116d5d12c 100644 --- a/APP_Framework/Applications/app_test/Makefile +++ b/APP_Framework/Applications/app_test/Makefile @@ -99,6 +99,10 @@ ifeq ($(CONFIG_ADD_XIZI_FETURES),y) ifeq ($(CONFIG_USER_TEST_TIMER),y) SRC_FILES += test_timer.c + endif + + ifeq ($(CONFIG_USER_TEST_RBTREE),y) + SRC_FILES += test_rbtree/test_rbtree.c endif include $(KERNEL_ROOT)/compiler.mk diff --git a/APP_Framework/Applications/app_test/test_rbtree/README.md b/APP_Framework/Applications/app_test/test_rbtree/README.md new file mode 100644 index 000000000..4841e4ed0 --- /dev/null +++ b/APP_Framework/Applications/app_test/test_rbtree/README.md @@ -0,0 +1,69 @@ +# 基于cortex-m4-emulator实现红黑树并测试验证 + +## 1. 简介 +红黑树是一种自平衡的二叉查找树,具有良好的插入、删除和查找性能,本次提交结果为红黑树数据结构的简单实现。test_rbtree.h中定义了红黑树的数据结构和声明插入、删除、查找相关操作函数;test_rbtree.c中为操作函数的定义,并提供了测试函数TestRBTree用于验证红黑树的正确性。 + + +## 2. 数据结构设计说明 + +**RBNodeType 结构体** +用来存储一个红黑树结点的相关信息 +- key:节点的键值 +- left_child:指向左子节点的指针 +- right_child:指向右子节点的指针 +- parent:指向父节点的指针 +- is_red:表示节点的颜色,true表示红色,false表示黑色 + +**RBTreeType 结构体** +用来存储一个红黑树的相关信息 +- root:指向红黑树的根节点的指针 +- leaf:红黑树的叶节点,由于叶节点并不需要存储数据,故每棵树只分配一个叶节点 + + +**RBTreeTraversal 函数** +该函数用于遍历红黑树并打印节点的键值。采用中序遍历的方式,递归地遍历左子树、当前节点和右子树。 + +**RBTreeLeftRotate 函数** +该函数实现红黑树的左旋转操作。接受一个当前节点指针作为参数,并按照左旋转的规则调整节点和子树的位置。 + +**RBTreeRightRotate 函数** +该函数实现红黑树的右旋转操作。接受一个当前节点指针作为参数,并按照右旋转的规则调整节点和子树的位置。 + +**InsertFixup 函数** +该函数用于插入节点后修复红黑树的平衡性。接受一个当前节点指针作为参数,并根据红黑树的性质进行旋转和着色操作,以恢复平衡。 + +**RBTreeInsert 函数** +该函数用于向红黑树中插入一个新节点。接受一个新节点指针作为参数,并根据新节点的键值插入到适当的位置,然后调用 InsertFixup 进行修复。 + +**DeleteFixup 函数** +该函数用于删除节点后修复红黑树的平衡性。接受一个当前节点指针作为参数,并根据红黑树的性质进行旋转和着色操作,以恢复平衡。 + +**RBTreeDelete 函数** +该函数用于从红黑树中删除指定节点。接受一个目标节点指针作为参数,并根据不同的情况进行节点的替换和删除操作,然后调用 DeleteFixup 进行修复。 + +**FindSuccessor 函数** +该函数用于查找给定节点的后继节点。接受一个当前节点指针作为参数,并在红黑树中找到当前节点的后继节点。 + +**RBTreeSearch 函数** +该函数用于在红黑树中查找指定键值的节点。接受一个键值作为参数,并在红黑树中进行查找,返回找到的节点指针。 + +## 3. 测试程序说明 +TestRBTree用于验证红黑树的功能和正确性,下面是该程序的使用步骤和说明: +- 函数中定义一个默认关键字数组,其中包含了20个整数关键字,运行时自动遍历数组构建红黑树,构建完成后中序遍历输出结果,可以根据输出结果验证红黑树的节点顺序以及颜色是否符合预期。 +- 对关键字数组中的每个关键字,在红黑树中进行搜索,并输出找到节点的父节点、左子节点和右子节点的关键字,随后删除该节点。 +- 在每次删除操作后,程序会询问是否显示当前的红黑树。如果输入 "Y" 或 "y",将再次进行中序遍历,并输出当前红黑树中的结点,可以根据输出结果查看结点是否符合预期。当树空时结束程序。 + + +## 4. 运行结果(##需结合运行测试截图按步骤说明##) + +根据默认关键字数组构建红黑树 + +![Alt text](image.png) + +根据键值查找结点,输出相关信息并删除,可以输入'Y'或'y'展示删除后的红黑树 + +![Alt text](image-1.png) + +到达空树,退出程序 + +![Alt text](image-2.png) diff --git a/APP_Framework/Applications/app_test/test_rbtree/image-1.png b/APP_Framework/Applications/app_test/test_rbtree/image-1.png new file mode 100644 index 0000000000000000000000000000000000000000..48ed6fb1a59460a65ed522595feed8ba5bfd65c1 GIT binary patch literal 66445 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 literal 0 HcmV?d00001 diff --git a/APP_Framework/Applications/app_test/test_rbtree/image-2.png b/APP_Framework/Applications/app_test/test_rbtree/image-2.png new file mode 100644 index 0000000000000000000000000000000000000000..57802432522d682ad9ecebd643b5e5064a1b724e GIT binary patch literal 36911 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 literal 0 HcmV?d00001 diff --git a/APP_Framework/Applications/app_test/test_rbtree/image.png b/APP_Framework/Applications/app_test/test_rbtree/image.png new file mode 100644 index 0000000000000000000000000000000000000000..40d78288f656b4c1f4cea1950c1bcd9fcb086f10 GIT binary patch literal 127592 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

kF zaocqwWk7#mQ8$yW2|l>{yHJxR5V#C$)kSp3UC2E6A9}Ir!}KxG{#NkBf=pWsR&cp| z$}U*lBjnc^1XopWRw~upNMF`x9M5jzF-Ib-o^iWmWSBM?j2-qb4RG>}TX?9cLzt=*AD49m`0rf$Zy3wywSUcqdps z@F#q<>N#z;#kRutHDsBs#9;^3cEct3{iSrg+O>R={MCZvdPZWYH|Ww^ShYW7yWw*T z*(ah#5pRq*n{_33ZM}AC=mydHD~e)5?~3p# zbU^%jxf5iM_u%K;iJWg=7bx*3POqXH+TLiG?CEQIJ8|yRDbKFf2bc~D++tYv2v^wE z$p$;MG<|ZAqJYR|F{CnFdk+;`cs}Yjp-KuU^Qs?IUc_(A1mA_^@btHZ!2J>IJTj8* zE-GT^9MCd15kOhKozGQ{8h%$Zus&OUff?$)p zUY+pYH&ZHb-jLoUJ#s>Uf9v!iG#%l#OYT~$_e>3nK;;FB&eY7gzQAa-XD7WWA}Yuu zXOQ{qkv`^}M7o0*y?JN5M(X^xVatTRSUJKy@t_Xo;#7d$;91k!N&osI{9%<|hu zcL%qhNyx#?q5OZNeVV@qX`km^TPKd7s)|%>lJx<-O-faBFG@BeHdE3V6|d3jrbWYV zXiO$ah8as6oVKBOoK1uo3zda;VLO zcKsHo=^0T(h60*U>COM9)ncJ$oNvw3{$OWv;D?zYhPB1=66F9Y08)bAR>DzqPb+iI zQ?_oqSQ_qq)~ZSpBg1pqJ-{PVRtPO^)_5fp8& zK*qU}ZRQSVCE#dP>`u=S@hFv&S4)$J1veZL9kJgqlpWA}opwVmGO7b%xm5 z9NB)N^0BeeQYSnO9KQ66d`_A?n1-Nd89v9y-@7!wLb|yo5AmHv*G(!Liw0GIVU6j9 z?F2+W(&sS6r2j$$RpwrCXmYohP4r_MwXe#tg;rHBsxrs0cY2R@jc+j}v5o<``2U_i zv2=i6=M@|stGfs9rf4&ps5p}PX;n&_{6kIzltad~ef|+hWsKps$a_Y_>b+o)?{T6O zZ@>6a^63CDCAYXk^>3YYV}!wd)c-puRS-Doy==aKQa6;Xdd{N1R^h|YMpK-YN`20p zd8RCHYtFb(bHU#pLk7qc_jSXR(XwL+5 zo#!DqRKoU>hHf=(Vpm8EQ$HI=_8B|NNz(`EF;O3~>Yl~attlw#%;{+Q9)_YL=!UWg zjZfgOY=u(gpw8Zfg~*!()Yx8|zGM5FeB~d@FFW%zvSlH^q3WQZJry(mQC!xn{Pb&> z`!jN^?AEphl=1+;7G$4^B6zx8oJ#v$9l}d}QQqEeo~%7d;us!e9SSA;VDT59ow(8V z%z@~QEI5WZ8_T8g*mYe9U?rXWXg*I;6TJBlZoRO>sMnhnsEC)_(_9Z0nFgUN=#3R1 znlzTlBhO9AJnVtfq`%*72sgP`wh92JG8|c_R(-SA_mdIGV`q7pB?7=S%`(W%v$lN0 z0oJ*GW-w7fzcU-SqoC8Yeeh+y@bqR?)yUKIRMnmaNj(5O9_M<6L~)i zVCU8YY}7M}cnsX%{SZ%P^SJzE$`lG7#4?v=+J?;;?*&jEumH-{1v_;a_df?S>+(Vl zu)&9mYYOrt8(0{i1^}%o&M_zp7`ovV0q$td4b=SV)$~_GTn9qx#d{`M{}47kPUB8( zm_h;!o#(sHR@4L~_6h}(`ohFU$|H%acEC}25vd5wQlJO96MaB)0gy2d_#4BTcE3Af7$cwKBbZTt{##`8 zVCb#2K2L@)FmTFdd;|J$b5dKRVdgWfON#{emCJcnk$q<#$vd))=cM_|Lg$~M%pP~5 z8?%>c7F|Dc@bg%Tyfc%$#FQ&wQ0uaRe%}Hx0SZ*IcghdbhtcyTE(YBE~hvMfqjC3HKkU4Rcrx$ z0aj{G`EnOc^RMr(d{7_lFEyOEum8C;UES34dUt-48vks+fRU+$Os`Xs<#AON)n;JS zkj?u=6996tm7lIu)nzoHVTC<&R8MlT;3Mu}#Z;ZVXoBOJdR--PGxVTux!gJ{(tF6$ zTBar0+@6tFh%qhlidX6TS!yKnf8WEY*11w=3#xw6%7A4GDs;x;D|Qm&^OKe|YZkYN z^OKQ~3Bz`c$6v3>iA%k4Y~lGxlI`544cyW!e8!%!=^tCJQv-v zQ&dh|PJk+S_2N1BQF2c#*$Su_XL-<-s1y03)OXQ3{|5f>WsF=35cVx4V1PtBY~y{I zYwlaT#*bTh!r|1&(M8#ODF|fDwV={WWK4u{!+H|&9!n#t7}5j79#T?V*cfou2dz@q zna7!Yn?!c{#p{jLb2<6uj*iaWbx~RV&gY7S4(&LeF>z?jmxY_7c#H_vT7qv(`^GYE zoXm@%=x3<>Ey-Ut?bdD!8DlHVs5LdErClw%Yj^SAZegE&CC+4@=M<*@fJ?y#_&n9H zDDh|4zUA3JLa(f{Eh2c}f8sWpZLqdG^y1a(N>tdF5rCk(Fd!$zx>A{=sP$&|Ym3Di z)eW-a!DO@Vq-Z!z_opn-J4Dxdl(0_>2zY!?3k!$>^aKHOg+!W7LqddZ=9Z1B3(f#Q zqeYe_WlHfJ3p|DrAl1l*YeJG7QIVQWXL8T!J29mAHfPyw^;}!e9lyMX zRrp6gSR9=Dny6d;ZzW)04w=VSVDU>K8Ij=9(Sp#QMt;1#-6jPqQqjU1pKjDn-@=TT z&WIz^&*bM2smv7DTKRuG{Fv%KAo2>2I(KP}ht1^e7bVD`&RD8BG$I4GbzB7X4Y9ov zi9RPzL!-ntd0K1y65c_;5g8md;0Hqdj$w9ReJS3$zLPW$>sDIOb^6Rx*URVLj8D_D zUFZvKdQ!WIt>Bslhg-sdIF~1qX)mZ+`asr=Ex2lG30emgG|~KfAOC+wSXS}k^Z)nF zY~C24QBn{mMp~Zc{zzK7Mf*tyi@|PFu5mj`2?$?OKku0#dcP#+?;FXtj7OZ)Ix=X}teduY1gWCkih|75 z{+(#3Npa-lz zW_0jw_-+|$2di=&YYYYME*WWcVQ=eK1Z`tWX;@eCPTw2x=Yw z=O8E_*B^qQ&H-ifAMa z6_8ZYBc67W0H+FFh?4tz`4LPhK8X8_bp>j{#yd#6wfRYdpbAnA`{QV^+RBxT1-ih< zFd!zsHBH?QZ=iyUENHs&1#bS`rwv$H7s2Zbf%-wUN}yos-YDk7jSzh2Dg)3U+XllB z?!F0>VkU6ruAJ;XIcg)~Gx6|P(Ks_F+zJ=riz z_3qYTrnctBF4rMK<=y%j>hl8kqte1kI~}1t2FtQ=qKD`{<0*s(_OAynReQ((YlGc;f&W zOauQkU}JoO13P|!YNwd*!gS5aa>f+UE#*gAeW`>*5PZd81bQVsTivNS^Z(j0%5VAA zF-rTg3wPxZ^iA|r>_%sLC9jRnr> zNq<`!KdL^TJy$L`N@yy&zv}0o!Ima?!%m=81o(!fp2Ti$)ReZ0{-5^72_oh~{tj6E z4mtjPZ+ubvA9Jf>1Jy?=3uNe@1V3z(({r{2hWrk$#?L?gQF#qzwDNt5rwvUpUblqU+}-2%#!2343kmZnD=k4_#hT&JEeG=i zWb7^)e>DoMx{cy-8Y5!CDb=^ap6;-W^mOsa8PY7NH$xJ2QARi;Xaf?e!T9te8@y&$ z8&poq1>9q~mT^g_zZ&L74;$t@FXnQ3M%onj!F9-WVaPn`k<+~r19Fq!d*%t%>fZm7 zTvLM)NGF@?hmEfF1s~^`ufYH6v7k zwSeI?<2 zAi8@(k@%O+qLoUW9NTZH-8xMspZQwUH32_^-!x(C^;~hBm7{8$v)pK!6@|MQDp|1E_=kq-1F6eUEBU2j(*aQ^M3=b#$E` zpcU1T%;t?;T+UAA0p|q`B57W7u=8#QH~@ed2lniUTxmU z^VxaVtbE)CEI7(~X2%1srY;#^

s)gonB>SeyGo1gm?09+PHDIp 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 bp$K(tt#*Fz9y!6m{)q`o2^9*y`}qF=dl@*O literal 0 HcmV?d00001 diff --git a/APP_Framework/Applications/app_test/test_rbtree/test_rbtree.c b/APP_Framework/Applications/app_test/test_rbtree/test_rbtree.c new file mode 100644 index 000000000..35b718da0 --- /dev/null +++ b/APP_Framework/Applications/app_test/test_rbtree/test_rbtree.c @@ -0,0 +1,341 @@ +/* +* Copyright (c) 2023 AIIT XUOS Lab +* XiUOS is licensed under Mulan PSL v2. +* You can use this software according to the terms and conditions of the Mulan PSL v2. +* You may obtain a copy of Mulan PSL v2 at: +* http://license.coscl.org.cn/MulanPSL2 +* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, +* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, +* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. +* See the Mulan PSL v2 for more details. +*/ + +/** +* @file: test_rbtree.c +* @brief: a application of red-black tree function +* @version: 1.0 +* @author: AIIT XUOS Lab +* @date: 2023/6/23 +*/ +#include +#include +#include"test_rbtree.h" +#ifdef ADD_XIZI_FETURES + +void RBTreeTraversal(RBTreeType *tree, RBNodeType *node) +{ + if (node != tree->leaf) { + RBTreeTraversal(tree, node->left_child); + printf("key:%d, color:%s\n", node->key, (node->is_red ? "Red" : "Black")); + RBTreeTraversal(tree, node->right_child); + } +} + +RBNodeType* RBTreeSearch(RBTreeType *tree, int key) +{ + RBNodeType* current_node = tree->root; + while (current_node != tree->leaf){ + if (key < current_node->key) + current_node = current_node->left_child; + else if (key > current_node->key) + current_node = current_node->right_child; + else + return current_node; + } + + return tree->leaf; +} + +void RBTreeLeftRotate(RBTreeType *tree, RBNodeType *current_node) +{ + RBNodeType* child_node = current_node->right_child; + + current_node->right_child = child_node->left_child; + if (child_node->left_child != tree->leaf) + child_node->left_child->parent = current_node; + + child_node->parent = current_node->parent; + if (current_node->parent == tree->leaf) + tree->root = child_node; + else if (current_node == current_node->parent->left_child) + current_node->parent->left_child = child_node; + else + current_node->parent->right_child = child_node; + + child_node->left_child = current_node; + current_node->parent = child_node; +} + +void RBTreeRightRotate(RBTreeType *tree, RBNodeType* current_node) +{ + RBNodeType* child_node = current_node->left_child; + + current_node->left_child = child_node->right_child; + if (child_node->right_child != tree->leaf) + child_node->right_child->parent = current_node; + + child_node->parent = current_node->parent; + if (current_node->parent == tree->leaf) + tree->root = child_node; + else if (current_node == current_node->parent->right_child) + current_node->parent->right_child = child_node; + else + current_node->parent->left_child = child_node; + + child_node->right_child = current_node; + current_node->parent = child_node; +} + +void InsertFixup(RBTreeType *tree, RBNodeType* current_node) +{ + while (current_node->parent->is_red){ + /* The parent of current_node is the left subtree of the grandfather */ + if (current_node->parent == current_node->parent->parent->left_child){ + RBNodeType * uncle_node = current_node->parent->parent->right_child; + if (uncle_node->is_red){ /* case1:red uncle and red parent, change color */ + uncle_node->is_red = false; + current_node->parent->is_red = false; + current_node->parent->parent->is_red = true; + + current_node = current_node->parent->parent; + }else{ /* case2:black uncle and red parent, need rotation */ + if (current_node->parent->right_child == current_node){ + current_node = current_node->parent; + RBTreeLeftRotate(tree, current_node); + } + + current_node->parent->is_red = false; + current_node->parent->parent->is_red = true; + RBTreeRightRotate(tree, current_node->parent->parent); + } + /* The parent of current_node is the right subtree of the grandfather, same with left subtree */ + }else{ + RBNodeType * uncle_node = current_node->parent->parent->left_child; + if (uncle_node->is_red){ + uncle_node->is_red = false; + current_node->parent->is_red = false; + current_node->parent->parent->is_red = true; + + current_node = current_node->parent->parent; + }else{ + if (current_node->parent->left_child == current_node){ + current_node = current_node->parent; + RBTreeRightRotate(tree, current_node); + } + + current_node->parent->is_red = false; + current_node->parent->parent->is_red = true; + RBTreeLeftRotate(tree, current_node->parent->parent); + } + } + } + tree->root->is_red = false; +} + +void RBTreeInsert(RBTreeType *tree, RBNodeType* new_node) +{ + RBNodeType* previous_node = tree->root; + RBNodeType* current_node = tree->root; + + while (current_node != tree->leaf){ + previous_node = current_node; + if (new_node->key > current_node->key) + current_node = current_node->right_child; + else if (new_node->key < current_node->key) + current_node = current_node->left_child; + else + return; + } + + if (previous_node == tree->leaf){ + tree->root = new_node; + tree->root->parent = tree->leaf; + }else{ + new_node->parent = previous_node; + + if (previous_node->key > new_node->key) + previous_node->left_child = new_node; + else + previous_node->right_child = new_node; + } + + InsertFixup(tree, new_node); +} + +RBNodeType* FindSuccessor(RBTreeType *tree, RBNodeType* current_node) +{ + RBNodeType* parent_node = current_node->parent; + if (current_node->right_child != tree->leaf){ + current_node = current_node->right_child; + while (current_node->left_child != tree->leaf) + current_node = current_node->left_child; + return current_node; + } + + while ((parent_node != tree->leaf) && (current_node == parent_node->right_child)){ + current_node = parent_node; + parent_node = parent_node->parent; + } + return parent_node; +} + +void DeleteFixup(RBTreeType *tree, RBNodeType* current_node) +{ + while ((current_node != tree->root) && (current_node->is_red == false)){ + if (current_node == current_node->parent->left_child){ + + RBNodeType* brother_node = current_node->parent->right_child; + if (brother_node->is_red){ + brother_node->is_red = false; + current_node->parent->is_red = true; + RBTreeLeftRotate(tree, current_node->parent); + brother_node = current_node->parent->right_child; + } + + if ((brother_node->left_child->is_red == false) && (brother_node->right_child->is_red == false)){ + brother_node->is_red = true; + current_node = current_node->parent; + }else{ + if (brother_node->right_child->is_red == false){ + brother_node->left_child->is_red = false; + brother_node->is_red = true; + RBTreeRightRotate(tree, brother_node); + brother_node = current_node->parent->right_child; + } + + brother_node->is_red = current_node->parent->is_red; + current_node->parent->is_red = false; + brother_node->right_child->is_red = false; + RBTreeLeftRotate(tree, current_node->parent); + current_node = tree->root; + } + }else{ + RBNodeType* brother_node = current_node->parent->left_child; + if (brother_node->is_red){ + brother_node->is_red = false; + current_node->parent->is_red = true; + RBTreeRightRotate(tree, current_node->parent); + brother_node = current_node->parent->left_child; + } + + if ((brother_node->left_child->is_red == false) && (brother_node->right_child->is_red == false)){ + brother_node->is_red = true; + current_node = current_node->parent; + }else{ + if (brother_node->left_child->is_red == false){ + brother_node->right_child->is_red = false; + brother_node->is_red = true; + RBTreeLeftRotate(tree, brother_node); + brother_node = current_node->parent->left_child; + } + + brother_node->is_red = current_node->parent->is_red; + current_node->parent->is_red = false; + brother_node->left_child->is_red = false; + RBTreeRightRotate(tree, current_node->parent); + current_node = tree->root; + } + } + } + current_node->is_red = false; +} + +void RBTreeDelete(RBTreeType *tree, RBNodeType* target_node) +{ + RBNodeType* delete_node = tree->leaf; + RBNodeType* replace_node = tree->leaf; + + if ((target_node->left_child == tree->leaf) || (target_node->right_child == tree->leaf)) + delete_node = target_node; + else + delete_node = FindSuccessor(tree, target_node); + + if (delete_node->left_child != tree->leaf) /* successor still has subtree */ + replace_node = delete_node->left_child; + else if (delete_node->right_child != tree->leaf) + replace_node = delete_node->right_child; + + replace_node->parent = delete_node->parent; + + if (delete_node->parent == tree->leaf) /* delete a root node */ + tree->root = replace_node; + else if (delete_node == delete_node->parent->left_child) + delete_node->parent->left_child = replace_node; + else + delete_node->parent->right_child = replace_node; + + if (delete_node != target_node) + target_node->key = delete_node->key; + + if (delete_node->is_red == false) + DeleteFixup(tree, replace_node); + + free(delete_node); +} + + +void TestRBTree(void) +{ + int default_key[] = { 16, 25, 23, 5, 2, 6, 17, 37, 38, 98, 20, 19, 47, 49, 12, 21, 9, 18, 14, 15 }; + int array_size = sizeof(default_key) / sizeof(default_key[0]); + + printf("Test Red Black Tree\n"); + printf("default_key array: "); + for (int i = 0; i < array_size; i++) + printf("%d ", default_key[i]); + printf("\n%d elements\n", array_size); + + RBTreeType *tree = (RBTreeType *)malloc(sizeof(RBTreeType)); + if (tree == NULL) { + printf("malloc failed\n"); + return; + } + + tree->leaf = (RBNodeType*)malloc(sizeof(RBNodeType)); + tree->leaf->left_child = NULL; + tree->leaf->right_child = NULL; + tree->leaf->parent = NULL; + tree->leaf->is_red = false; + tree->leaf->key = -1; + tree->root = tree->leaf; + + RBNodeType *node = tree->leaf; + + for (int i = 0; i < array_size; i++) { + node = (RBNodeType*)malloc(sizeof(RBNodeType)); + node->left_child = tree->leaf; + node->right_child = tree->leaf; + node->parent = NULL; + node->is_red = true; + node->key = default_key[i]; + printf("insert key[%d]=%d\n",i,default_key[i]); + RBTreeInsert(tree, node); + } + + printf("------------------Inorder Traversal------------------\n"); + RBTreeTraversal(tree, tree->root); + + for (int i = 0; i < array_size; i++) { + printf("search key = %d\n", default_key[i]); + node = RBTreeSearch(tree, default_key[i]); + printf("search succeeded, parent node: %d, left-child: %d, right-child: %d\n", node->parent->key, node->left_child->key, node->right_child->key); + + printf("delete key = %d\n", node->key); + RBTreeDelete(tree, node); + + printf("Show current tree?Y/N \n"); + char ch; + scanf("%c", &ch); + if (ch == 'Y' || ch == 'y') { + printf("------------------Inorder Traversal Tree After Deletion------------------\n"); + if (tree->root != tree->leaf) + RBTreeTraversal(tree, tree->root); + else + printf("the tree is empty.\n"); + } + } +} + +PRIV_SHELL_CMD_FUNCTION(TestRBTree, a red-black tree test sample, PRIV_SHELL_CMD_MAIN_ATTR); + +#endif \ No newline at end of file diff --git a/APP_Framework/Applications/app_test/test_rbtree/test_rbtree.h b/APP_Framework/Applications/app_test/test_rbtree/test_rbtree.h new file mode 100644 index 000000000..b9592ac82 --- /dev/null +++ b/APP_Framework/Applications/app_test/test_rbtree/test_rbtree.h @@ -0,0 +1,60 @@ +/* +* Copyright (c) 2023 AIIT XUOS Lab +* XiUOS is licensed under Mulan PSL v2. +* You can use this software according to the terms and conditions of the Mulan PSL v2. +* You may obtain a copy of Mulan PSL v2 at: +* http://license.coscl.org.cn/MulanPSL2 +* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, +* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, +* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. +* See the Mulan PSL v2 for more details. +*/ + +/** +* @file: test_rbtree.h +* @brief: a head file of red-black tree structure +* @version: 1.0 +* @author: AIIT XUOS Lab +* @date: 2023/6/23 +*/ +#ifndef REDBLACKTREE_H_ +#define REDBLACKTREE_H_ +#include +#include + +typedef struct RedBlackNode +{ + int key; + struct RedBlackNode *left_child; + struct RedBlackNode *right_child; + struct RedBlackNode *parent; + bool is_red; +} RBNodeType; + +typedef struct RedBlackTree +{ + RBNodeType *root; + RBNodeType *leaf; +} RBTreeType; + +void TestRBTree(void); + +void RBTreeTraversal(RBTreeType *tree, RBNodeType *node); + +void RBTreeLeftRotate(RBTreeType *tree, RBNodeType *current_node); + +void RBTreeRightRotate(RBTreeType *tree, RBNodeType* current_node); + +void InsertFixup(RBTreeType *tree, RBNodeType* current_node); + +void RBTreeInsert(RBTreeType *tree, RBNodeType* new_node); + +void DeleteFixup(RBTreeType *tree, RBNodeType* current_node); + +void RBTreeDelete(RBTreeType *tree, RBNodeType* target_node); + +RBNodeType* FindSuccessor(RBTreeType *tree, RBNodeType* current_node); + +RBNodeType* RBTreeSearch(RBTreeType *tree, int key); + +#endif \ No newline at end of file