From a2e3b28ac01570901ce1cd4cf24474f68da323ee Mon Sep 17 00:00:00 2001 From: e2hang <2099307493@qq.com> Date: Tue, 12 Aug 2025 12:09:53 +0800 Subject: [PATCH] AlteredTree --- .../indexBinarySearchTree/CMakeLists.txt | 6 + .../indexBinarySearchTree/binaryTreeNode.h | 19 +++ .../indexBinarySearchTree.h | 131 ++++++++++++++++++ BinaryTree/indexBinarySearchTree/main.cpp | 52 +++++++ .../tournamentTree/LoserTree/CMakeLists.txt | 6 + .../LoserTree/CreativePoint.png | Bin 0 -> 95642 bytes BinaryTree/tournamentTree/LoserTree/main.cpp | 41 ++++++ .../tournamentTree/LoserTree/winnerTree.h | 95 +++++++++++++ 8 files changed, 350 insertions(+) create mode 100644 BinaryTree/indexBinarySearchTree/CMakeLists.txt create mode 100644 BinaryTree/indexBinarySearchTree/binaryTreeNode.h create mode 100644 BinaryTree/indexBinarySearchTree/indexBinarySearchTree.h create mode 100644 BinaryTree/indexBinarySearchTree/main.cpp create mode 100644 BinaryTree/tournamentTree/LoserTree/CMakeLists.txt create mode 100644 BinaryTree/tournamentTree/LoserTree/CreativePoint.png create mode 100644 BinaryTree/tournamentTree/LoserTree/main.cpp create mode 100644 BinaryTree/tournamentTree/LoserTree/winnerTree.h diff --git a/BinaryTree/indexBinarySearchTree/CMakeLists.txt b/BinaryTree/indexBinarySearchTree/CMakeLists.txt new file mode 100644 index 0000000..79b7fca --- /dev/null +++ b/BinaryTree/indexBinarySearchTree/CMakeLists.txt @@ -0,0 +1,6 @@ +cmake_minimum_required(VERSION 3.31) +project(indexbinarySearchTree) + +set(CMAKE_CXX_STANDARD 20) + +add_executable(indexbinarySearchTree main.cpp) diff --git a/BinaryTree/indexBinarySearchTree/binaryTreeNode.h b/BinaryTree/indexBinarySearchTree/binaryTreeNode.h new file mode 100644 index 0000000..65cd6b5 --- /dev/null +++ b/BinaryTree/indexBinarySearchTree/binaryTreeNode.h @@ -0,0 +1,19 @@ +// +// Created by PC on 25-8-11. +// + +#ifndef BINARYTREENODE_H +#define BINARYTREENODE_H +#include +template +class binaryTreeNode { +public: + std::pair element; + binaryTreeNode* left; + binaryTreeNode* right; + + binaryTreeNode() : left(nullptr), right(nullptr){} + explicit binaryTreeNode(const std::pair& e) : element(e), left(nullptr), right(nullptr) {} + binaryTreeNode(const std::pair& e, binaryTreeNode* l, binaryTreeNode* r) : element(e), left(l), right(r) {} +}; +#endif //BINARYTREENODE_H diff --git a/BinaryTree/indexBinarySearchTree/indexBinarySearchTree.h b/BinaryTree/indexBinarySearchTree/indexBinarySearchTree.h new file mode 100644 index 0000000..b85150e --- /dev/null +++ b/BinaryTree/indexBinarySearchTree/indexBinarySearchTree.h @@ -0,0 +1,131 @@ +#ifndef INDEXBINARYSEARCHTREE_H +#define INDEXBINARYSEARCHTREE_H +#include +#include "binaryTreeNode.h" +template +class indexBinarySearchTree { +private: + binaryTreeNode* root; + int treeSize; + int leftSize; + void inOrder(binaryTreeNode* node); +public: + indexBinarySearchTree() : root(nullptr), leftSize(0) {} + indexBinarySearchTree(const indexBinarySearchTree& e) : leftSize(e.leftSize) { + //深拷贝 采取中序遍历的方法 + } + std::pair* find(const K& e); + void insert(const std::pair& e); + void erase(const K& e); + void ascent(); +}; + +template +void indexBinarySearchTree::inOrder(binaryTreeNode *node) { + if (node == nullptr) return; + inOrder(node->left); + std::cout << node->element.second << " "; + inOrder(node->right); +} + +template +std::pair * indexBinarySearchTree::find(const K &e) { + binaryTreeNode *current = root; + while (current != nullptr) { + if (current->element.first < e) { + current = current->right; + } + else if (current->element.first > e) { + current = current->left; + } + else { + return ¤t->element; + } + } + //没有匹配的 + return nullptr; +} + +template +void indexBinarySearchTree::insert(const std::pair &e) { + binaryTreeNode* pp = nullptr; + binaryTreeNode* p = root; + while (p != nullptr) { + pp = p; + if (e.first < p->element.first) { + p = p->left; + } + else if (e.first > p->element.first) { + p = p->right; + } + else { + p->element.second = e.second; + return; + } + } + + auto newNode = new binaryTreeNode(e); + if (root != nullptr) { + if (e.first < pp->element.first) { + pp->left = newNode; + } + else if (e.first > pp->element.first) { + pp->right = newNode; + } + } + else { + root = newNode; + } + treeSize++; +} + +template +void indexBinarySearchTree::erase(const K &e) { + //这里用find不好,因为没法确定其父节点是哪个 + binaryTreeNode* p = root; + binaryTreeNode* pp = nullptr; + bool isleft = false; + while (p != nullptr && p->element.first != e) { + pp = p; + if (e < p->element.first) { + p = p->left; + isleft = true; + } + else if (e > p->element.first) { + p = p->right; + isleft = false; + } + } + if (p == nullptr) return; + //p-nochild + if (p->left == nullptr && p->right == nullptr) { + if (pp->left == p) pp->left = nullptr; + else if (pp->right == p) pp->right = nullptr; + treeSize--; + delete p; + } + //p-child == 2 + if (p->left != nullptr && p->right != nullptr) { + pp = p->right; + while (pp->left != nullptr) { + pp = pp->left; + } + p->element = pp->element; + treeSize--; + delete pp; + } + //p-child == 1 + if (p->right == nullptr) { + isleft ? pp->left = p->left : pp->right = p->left; + } + if (p->left == nullptr) { + isleft ? pp->left = p->right : pp->right = p->right; + } +} + +template +void indexBinarySearchTree::ascent(){ + inOrder(root); + std::cout << ";" << std::endl; +} +#endif //INDEXBINARYSEARCHTREE_H diff --git a/BinaryTree/indexBinarySearchTree/main.cpp b/BinaryTree/indexBinarySearchTree/main.cpp new file mode 100644 index 0000000..5169ee3 --- /dev/null +++ b/BinaryTree/indexBinarySearchTree/main.cpp @@ -0,0 +1,52 @@ +#include "indexBinarySearchTree.h" +using namespace std; +int main() { + indexBinarySearchTree t; + std::pair p1 = std::make_pair(10, "10"); + std::pair p2 = std::make_pair(12, "12"); + std::pair p3 = std::make_pair(30, "30"); + std::pair p4 = std::make_pair(24, "24"); + std::pair p5 = std::make_pair(35, "35"); + std::pair p6 = std::make_pair(16, "16"); + std::pair p7 = std::make_pair(27, "27"); + std::pair p8 = std::make_pair(81, "81"); + std::pair p9 = std::make_pair(29, "29"); + std::pair p10 = std::make_pair(20, "20"); + t.insert(p1); + t.ascent(); + t.insert(p2); + t.ascent(); + t.insert(p3); + t.ascent(); + t.insert(p4); + t.ascent(); + t.insert(p5); + t.ascent(); + t.insert(p6); + t.ascent(); + t.insert(p7); + t.ascent(); + t.insert(p8); + t.ascent(); + t.insert(p9); + t.ascent(); + t.insert(p10); + t.ascent(); + t.erase(16); + t.ascent(); + return 0; +} +/* +输出完美符合 +10 ; +10 12 ; +10 12 30 ; +10 12 24 30 ; +10 12 24 30 35 ; +10 12 16 24 30 35 ; +10 12 16 24 27 30 35 ; +10 12 16 24 27 30 35 81 ; +10 12 16 24 27 29 30 35 81 ; +10 12 16 20 24 27 29 30 35 81 ; +10 12 20 24 27 29 30 35 81 ; +*/ \ No newline at end of file diff --git a/BinaryTree/tournamentTree/LoserTree/CMakeLists.txt b/BinaryTree/tournamentTree/LoserTree/CMakeLists.txt new file mode 100644 index 0000000..cf926ae --- /dev/null +++ b/BinaryTree/tournamentTree/LoserTree/CMakeLists.txt @@ -0,0 +1,6 @@ +cmake_minimum_required(VERSION 3.31) +project(winnerTree) + +set(CMAKE_CXX_STANDARD 20) + +add_executable(winnerTree main.cpp) diff --git a/BinaryTree/tournamentTree/LoserTree/CreativePoint.png b/BinaryTree/tournamentTree/LoserTree/CreativePoint.png new file mode 100644 index 0000000000000000000000000000000000000000..dd41a41397a092770b9ff40f234dc5c4434ebda5 GIT binary patch literal 95642 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�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 UCR=4w-T(jq07*qoM6N<$g7y!QHUIzs literal 0 HcmV?d00001 diff --git a/BinaryTree/tournamentTree/LoserTree/main.cpp b/BinaryTree/tournamentTree/LoserTree/main.cpp new file mode 100644 index 0000000..332a387 --- /dev/null +++ b/BinaryTree/tournamentTree/LoserTree/main.cpp @@ -0,0 +1,41 @@ +#include "winnerTree.h" +using namespace std; +int main() { + //输入的时候d反转一下(?)好像没必要哈 + deque q; + q.push_back(1); + q.push_back(2); + q.push_back(3); + q.push_back(4); + q.push_back(5); + q.push_back(6); + q.push_back(7); + q.push_back(8); + q.push_back(9); + q.push_back(10); + winnerTree t(q, 10); + t.init(); + cout << t.winner() << endl; + t.display(); + cout << endl; + t.replay(6, 11); + cout << t.winner() << endl; + t.display(); + return 0; +} + +/* +非常正确的竞赛树 +10 +10 +10 8 +4 10 8 6 +4 2 10 9 8 7 6 5 +4 3 2 1 +11 +11 +10 11 +4 10 8 11 +4 2 10 9 8 7 11 5 +4 3 2 1 +*/ \ No newline at end of file diff --git a/BinaryTree/tournamentTree/LoserTree/winnerTree.h b/BinaryTree/tournamentTree/LoserTree/winnerTree.h new file mode 100644 index 0000000..20e6a0b --- /dev/null +++ b/BinaryTree/tournamentTree/LoserTree/winnerTree.h @@ -0,0 +1,95 @@ +// +// Created by PC on 25-8-11. +// + +#ifndef WINNERTREE_H +#define WINNERTREE_H +#include +#include +#include + +template +class winnerTree { +private: + std::deque data; + int playerNum; + bool isInit = false; +public: + winnerTree() : playerNum(0) {} + winnerTree(const std::deque& d,int playerNum) : playerNum(playerNum), data(d) {} + ~winnerTree() = default; + + void init(); + int winner(); + void replay(const T& player, const T& alter); + void display(); +}; + +template +void winnerTree::init() { + for (int i = 0; i < 2 * playerNum - 2; i+=2) { + T max = std::min(data.at(i), data.at(i + 1)); + data.push_back(max); + } + std::reverse(data.begin(), data.end()); + isInit = true; +} + +template +int winnerTree::winner() { + if (!isInit) { + std::cout << "Uninitialized!" << std::endl; + return -1; + } + return data.front(); +} + +template +void winnerTree::replay(const T &player, const T &alter) { + int index = -1; + // 查找叶子节点(可改为用player id更稳妥) + for (int i = data.size() - playerNum; i < data.size(); i++) { + if (data[i] == player) { + data[i] = alter; + index = i; + break; + } + } + if (index == -1) { + std::cout << "No such player!" << std::endl; + return; + } + // 向上调整父节点 + while (index > 0) { + int parent = (index - 1) / 2; + int against = (index % 2 == 0) ? index - 1 : index + 1; + + // 判断against是否越界 + if (against >= data.size()) against = index; // 没对手时自己跟自己比 + + T maxVal = std::min(data.at(index), data.at(against)); + + if (data.at(parent) == maxVal) { + break; // 父节点胜者不变,提前结束 + } + data.at(parent) = maxVal; + index = parent; + } +} + + +template +void winnerTree::display() { + int cnt = 1; + int jmp = 1; + for (int i = 0; i < data.size(); ++i) { + cnt--; + std::cout << data.at(i) << " "; + if (cnt == 0) { + std::cout << std::endl; + jmp *= 2; + cnt = jmp; + } + } +} +#endif //WINNERTREE_H