From 345ec3ee0c1a1643ae9e5317c15d85ddeb0a0281 Mon Sep 17 00:00:00 2001 From: bdeng Date: Fri, 16 Jun 2023 14:23:13 +0800 Subject: [PATCH] 2023_open_source_contest --- .../app_test/test_rbtree/README.md | 50 +++ .../app_test/test_rbtree/delete.jpg | Bin 0 -> 43914 bytes .../app_test/test_rbtree/insert.jpg | Bin 0 -> 35935 bytes .../app_test/test_rbtree/print1.jpg | Bin 0 -> 38058 bytes .../app_test/test_rbtree/search.jpg | Bin 0 -> 49967 bytes .../app_test/test_rbtree/test_rbtree.c | 312 ++++++++++++++++++ .../app_test/test_rbtree/test_rbtree.h | 41 +++ .../app_test/test_rbtree/verification.jpg | Bin 0 -> 58160 bytes 8 files changed, 403 insertions(+) create mode 100644 APP_Framework/Applications/app_test/test_rbtree/README.md create mode 100644 APP_Framework/Applications/app_test/test_rbtree/delete.jpg create mode 100644 APP_Framework/Applications/app_test/test_rbtree/insert.jpg create mode 100644 APP_Framework/Applications/app_test/test_rbtree/print1.jpg create mode 100644 APP_Framework/Applications/app_test/test_rbtree/search.jpg 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 create mode 100644 APP_Framework/Applications/app_test/test_rbtree/verification.jpg 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..5745de969 --- /dev/null +++ b/APP_Framework/Applications/app_test/test_rbtree/README.md @@ -0,0 +1,50 @@ +# 热身赛一级赛题2:基于cortex-m4-emulator实现红黑树并测试验证## + +## 1. 简介 +实现了红黑树数据结构,并提供了基本的插入、删除和搜索功能。红黑树是一种自平衡的二叉查找树,通过在每个节点上添加额外的颜色属性来维护平衡性。 + + +## 2. 数据结构设计说明 +本项目包含以下数据结构: + +struct rb_node:红黑树的节点结构,包含键值、颜色(红、黑)以及左右子节点的指针。 +struct rb_tree:红黑树结构,包含根节点指针和一个特殊的空节点(nil),用于表示叶子节点。 + + +## 3. 测试程序说明 + test_rbtree.c 文件包含了测试程序的实现。测试程序演示了红黑树的基本功能,包括插入、删除和搜索操作。 + +通过shell输入数据,并使用相应的命令执行不同的操作。具体命令如下: + ++ **i key**:插入一个具有指定键值 key 的节点到红黑树中。 ++ **d key**:删除红黑树中具有指定键值 key 的节点。 ++ **s key**:搜索红黑树中具有指定键值 key 的节点。 ++ **p**:打印红黑树 + +**注**:指令与key之间没有空格; +例如,要向红黑树中插入键值为 5 的节点,可以执行以下命令: +shell->i5 + + +## 4. 运行结果(##需结合运行测试截图按步骤说明##) +### step 1 (插入): +1. shell输入Test_rbtree启动红黑树程序; +2. 输入插入指令,构建红黑树,如i5,向红黑树插入key=5的值; +![结点](./insert.jpg) + +### step 2 (打印红黑树-中序): +1. shell中输入指令p,中序打印红黑树结点; +![结点](./print1.jpg) + +### step 3 (删除结点) +1. shell中输入指令d5,key=5的结点被删除; +![结点](./delete.jpg) + +### step 4 (搜索结点) +1. shell中输入指令s8,结果“Key 8 found”显示查询到key=8的结点; +![结点](./search.jpg) + +### step 5 (结果验证) +1. shell中输入指令p按中序打印红黑树结点,验证前几步,结果如图所示: +![结点](./verification.jpg) + diff --git a/APP_Framework/Applications/app_test/test_rbtree/delete.jpg b/APP_Framework/Applications/app_test/test_rbtree/delete.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7c809019a954fb591bd91e6efa61671a9741215b GIT binary patch literal 43914 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 literal 0 HcmV?d00001 diff --git a/APP_Framework/Applications/app_test/test_rbtree/insert.jpg b/APP_Framework/Applications/app_test/test_rbtree/insert.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1802b421f2be6b463235d37702e7252d3f84b007 GIT binary patch literal 35935 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�{_p|x!@!#7n6giBd^OAFo0>bW< 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 +#include +#include +#include "test_rbtree.h" +#include + + + +// 创建红黑树节点 +struct rb_node* rb_node_create(int key, int color, struct rb_node *parent, struct rb_node *nil) { + struct rb_node *node = (struct rb_node *)malloc(sizeof(struct rb_node)); + node->key = key; + node->color = color; + node->left = nil; + node->right = nil; + node->parent = parent; + return node; +} + +// 初始化红黑树 +void rb_tree_init(struct rb_tree *tree) { + struct rb_node *nil = rb_node_create(0, BLACK, NULL, NULL); + tree->root = nil; + tree->nil = nil; +} + +// 左旋操作 +void rb_tree_left_rotate(struct rb_tree *tree, struct rb_node *x) { + struct rb_node *y = x->right; + x->right = y->left; + if (y->left != tree->nil) { + y->left->parent = x; + } + y->parent = x->parent; + if (x->parent == tree->nil) { + tree->root = y; + } else if (x == x->parent->left) { + x->parent->left = y; + } else { + x->parent->right = y; + } + y->left = x; + x->parent = y; +} + +// 右旋操作 +void rb_tree_right_rotate(struct rb_tree *tree, struct rb_node *y) { + struct rb_node *x = y->left; + y->left = x->right; + if (x->right != tree->nil) { + x->right->parent = y; + } + x->parent = y->parent; + if (y->parent == tree->nil) { + tree->root = x; + } else if (y == y->parent->left) { + y->parent->left = x; + } else { + y->parent->right = x; + } + x->right = y; + y->parent = x; +} + +// 插入修正 +void rb_tree_insert_fixup(struct rb_tree *tree, struct rb_node *z) { + while (z->parent->color == RED) { + if (z->parent == z->parent->parent->left) { + struct rb_node *y = z->parent->parent->right; + if (y->color == RED) { + z->parent->color = BLACK; + y->color = BLACK; + z->parent->parent->color = RED; + z = z->parent->parent; + } else { + if (z == z->parent->right) { + z = z->parent; + rb_tree_left_rotate(tree, z); + } + z->parent->color = BLACK; + z->parent->parent->color = RED; + rb_tree_right_rotate(tree, z->parent->parent); + } + } else { + struct rb_node *y = z->parent->parent->left; + if (y->color == RED) { + z->parent->color = BLACK; + y->color = BLACK; + z->parent->parent->color = RED; + z = z->parent->parent; + } else { + if (z == z->parent->left) { + z = z->parent; + rb_tree_right_rotate(tree, z); + } + z->parent->color = BLACK; + z->parent->parent->color = RED; + rb_tree_left_rotate(tree, z->parent->parent); + } + } + } + tree->root->color = BLACK; +} + +// 插入节点 +void rb_tree_insert(struct rb_tree *tree, int key) { + struct rb_node *z = rb_node_create(key, RED, NULL, tree->nil); + struct rb_node *y = tree->nil; + struct rb_node *x = tree->root; + while (x != tree->nil) { + y = x; + if (z->key < x->key) { + x = x->left; + } else { + x = x->right; + } + } + z->parent = y; + if (y == tree->nil) { + tree->root = z; + } else if (z->key < y->key) { + y->left = z; + } else { + y->right = z; + } + rb_tree_insert_fixup(tree, z); +} + +// 查找节点 +struct rb_node* rb_tree_search(struct rb_tree *tree, int key) { + struct rb_node *x = tree->root; + while (x != tree->nil) { + if (key == x->key) { + return x; + } else if (key < x->key) { + x = x->left; + } else { + x = x->right; + } + } + return NULL; +} + +// 删除修正 +void rb_tree_delete_fixup(struct rb_tree *tree, struct rb_node *x) { + while (x != tree->root && x->color == BLACK) { + if (x == x->parent->left) { + struct rb_node *w = x->parent->right; + if (w->color == RED) { + w->color = BLACK; + x->parent->color = RED; + rb_tree_left_rotate(tree, x->parent); + w = x->parent->right; + } + if (w->left->color == BLACK && w->right->color == BLACK) { + w->color = RED; + x = x->parent; + } else { + if (w->right->color == BLACK) { + w->left->color = BLACK; + w->color = RED; + rb_tree_right_rotate(tree, w); + w = x->parent->right; + } + w->color = x->parent->color; + x->parent->color = BLACK; + w->right->color = BLACK; + rb_tree_left_rotate(tree, x->parent); + x = tree->root; + } + } else { + struct rb_node *w = x->parent->left; + if (w->color == RED) { + w->color = BLACK; + x->parent->color = RED; + rb_tree_right_rotate(tree, x->parent); + w = x->parent->left; + } + if (w->right->color == BLACK && w->left->color == BLACK) { + w->color = RED; + x = x->parent; + } else { + if (w->left->color == BLACK) { + w->right->color = BLACK; + w->color = RED; + rb_tree_left_rotate(tree, w); + w = x->parent->left; + } + w->color = x->parent->color; + x->parent->color = BLACK; + w->left->color = BLACK; + rb_tree_right_rotate(tree, x->parent); + x = tree->root; + } + } + } + x->color = BLACK; +} + +// 删除节点 +void rb_tree_delete(struct rb_tree *tree, int key) { + struct rb_node *z = rb_tree_search(tree, key); + if (z == NULL) { + return; + } + struct rb_node *x, *y; + if (z->left == tree->nil || z->right == tree->nil) { + y = z; + } else { + y = z->right; + while (y->left != tree->nil) { + y = y->left; + } + } + if (y->left != tree->nil) { + x = y->left; + } else { + x = y->right; + } + x->parent = y->parent; + if (y->parent == tree->nil) { + tree->root = x; + } else if (y == y->parent->left) { + y->parent->left = x; + } else { + y->parent->right = x; + } + if (y != z) { + z->key = y->key; + } + if (y->color == BLACK) { + rb_tree_delete_fixup(tree, x); + } + free(y); +} + +// 打印红黑树 +void rb_tree_print_node(struct rb_node *node, struct rb_node *nil) { + if (node == nil) { + return; + } + rb_tree_print_node(node->left, nil); + printf("%d ", node->key); + rb_tree_print_node(node->right, nil); +} + +void rb_tree_print(struct rb_tree *tree) { + rb_tree_print_node(tree->root, tree->nil); + printf("\n"); +} + + +// 红黑树测试 +int Test_rbtree(void) { + struct rb_tree tree; + char input[100]; + + // 测试 + // printf("Enter a command (i for insert, d for delete, s for search): "); + // scanf("%99s", input); + // while(strcmp(input, "exit") != 0){ + // printf("\n"); + // printf("x = %s\n", input); + // printf("Enter a command (i for insert, d for delete, s for search): "); + // scanf("%99s", input); + // } + + + rb_tree_init(&tree); + + while (1) { + printf("Enter a command (i for insert, d for delete, s for search, p for print): "); + + + PrivTaskDelay(500); //防止时间片长时间占用,使得输入函数没有等待时间 + //fgets(input, sizeof(input), stdin); + scanf("%s", input); // 读取最多99个字符直到换行符为止(不包括换行符) + + printf("input = %s\n", input); + + if (strncmp(input, "i", 1) == 0) { + int key; + sscanf(input + 1, "%d", &key); + rb_tree_insert(&tree, key); + printf("Inserted key %d\n", key); + } else if (strncmp(input, "d", 1) == 0) { + int key; + sscanf(input + 1, "%d", &key); + rb_tree_delete(&tree, key); + printf("Deleted key %d\n", key); + } else if (strncmp(input, "s", 1) == 0) { + int key; + sscanf(input + 1, "%d", &key); + struct rb_node* node = rb_tree_search(&tree, key); + if (node != NULL) { + printf("Key %d found\n", key); + } else { + printf("Key %d not found\n", key); + } + } else if (strncmp(input, "p", 1) == 0){ + rb_tree_print(&tree); + } else { + printf("Invalid command\n"); + } + } + + return 0; +} + + + +PRIV_SHELL_CMD_FUNCTION(Test_rbtree, a red-black tree test sample, PRIV_SHELL_CMD_MAIN_ATTR); \ 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..a0c970710 --- /dev/null +++ b/APP_Framework/Applications/app_test/test_rbtree/test_rbtree.h @@ -0,0 +1,41 @@ +#ifndef TEST_RBTREE_H +#define TEST_RBTREE_H + +// 红黑树节点的颜色 +#define RED 0 +#define BLACK 1 + +// 红黑树节点结构 +struct rb_node { + int key; + struct rb_node *left; + struct rb_node *right; + struct rb_node *parent; + int color; +}; + +// 红黑树结构 +struct rb_tree { + struct rb_node *root; + struct rb_node *nil; +}; + +// 初始化红黑树 +void rb_tree_init(struct rb_tree *tree); + +// 红黑树中插入新节点 +void rb_tree_insert(struct rb_tree *tree, int key); + +// 红黑树中删除节点 +void rb_tree_delete(struct rb_tree *tree, int key); + +// 红黑树中搜索节点 +struct rb_node* rb_tree_search(struct rb_tree *tree, int key); + +// 打印红黑树节点 +void rb_tree_print(struct rb_tree *tree); + +// 红黑树功能测试 +int test_rbtree(void); + +#endif /* TEST_RBTREE_H */ diff --git a/APP_Framework/Applications/app_test/test_rbtree/verification.jpg b/APP_Framework/Applications/app_test/test_rbtree/verification.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a76347a1939ec745ff9628688b3080e2411d6587 GIT binary patch literal 58160 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 literal 0 HcmV?d00001