0 / 0 / 0
Регистрация: 23.10.2016
Сообщений: 14
1

тест для RED-BLACK TREE

18.02.2017, 16:40. Показов 736. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
здравствуйте ребята, могли бы вы мне помочь написать black box test для red-black tree(Insert,Find and Delete).
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#pragma once
 
#ifndef RED_BLACK_TREE_H_
#define RED_BLACK_TREE_H_
 
#include <utility>
#include <vector>
class BinaryTree
{
public:
  
    enum Color_t {
        RED = 0,
        BLACK
    };
 
 
    struct Node_t {
        Node_t(int key, Node_t *pParent, Node_t *pLeft = NULL, Node_t *pRight = NULL,
               Color_t color = BLACK)
            : pParent(pParent), pLeft(pLeft), pRight(pRight), color(color), key(key)
        {
        }
 
        
        bool IsLeaf() const {
            return (!pLeft && !pRight);
        }
 
        Node_t *pParent;    
        Node_t *pLeft;      
        Node_t *pRight;           
        Color_t color;      
 
        int key;         
    };
 
       BinaryTree();
 
 
    ~BinaryTree();
 
 
    std::pair<bool, Node_t *> InsertNode(int key);
 
   
    bool DeleteNode(int key);
 
      Node_t *FindNode(int key) const;
 
  
    void GetLeafNodes(std::vector<Node_t *> &outLeafNodes);
 
        void GetAllNodes(std::vector<Node_t *> &outAllNodes);
 
 
    void GetNonLeafNodes(std::vector<Node_t *> &outNonLeafNodes);
 
   
    Node_t *GetRoot() { return m_pRoot; }
 
protected:
 
    Node_t *GrandParent(Node_t *pNode);
    Node_t *Uncle(Node_t *pNode);
    Node_t *Sibling(Node_t *pNode);
    void RotateRight(Node_t *pNode);
    void RotateLeft(Node_t *pNode);
    void ReplaceNode(Node_t *pReplacedNode, Node_t *pNode);
 
        void InsertFixUpTreeCase1(Node_t *pNewNode);
    void InsertFixUpTreeCase2(Node_t *pNewNode);
    void InsertFixUpTreeCase3(Node_t *pNewNode);
    void InsertFixUpTreeCase4(Node_t *pNewNode);
    void InsertFixUpTreeCase5(Node_t *pNewNode);
 
 
    void DeleteNodeFixUpCase1(Node_t *pNode);
    void DeleteNodeFixUpCase2(Node_t *pNode);
    void DeleteNodeFixUpCase3(Node_t *pNode);
    void DeleteNodeFixUpCase4(Node_t *pNode);
    void DeleteNodeFixUpCase5(Node_t *pNode);
    void DeleteNodeFixUpCase6(Node_t *pNode);
 
    Node_t *m_pRoot;    
};
 
 
 
#endif /* RED_BLACK_TREE_H_ */
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.02.2017, 16:40
Ответы с готовыми решениями:

Red Black Tree Insert
Написал вставку в красно-черное дерево, если вводить случаи по отдельности, то работает, а если...

Организация сети заправок (red black tree)
Помогите пожалуйста решить задачу......

что не так с Красно-темными деревьями (red black trees)?
У меня проблема с RB trees, точнее при вставке в метод RBInput получается ошибка: Вызвано...

Реализация Red-Black Tree
Поставлена задача реализовать RB-Tree, в ходе реализации столкнулся со следующим stack trace, и не...

0
18.02.2017, 16:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.02.2017, 16:40
Помогаю со студенческими работами здесь

Дан массив строк: "red", "green", "black", "white", "blue". Запишите в файл элементы массива построчно (в новой строке)
пишу так но не помогает: static void Main(string args) { string...

Определить предикат maxelem(Tree, Max), чтобы Max равнялось наибольшему из чисел, входящих в дерево Tree
1# Определить предикат maxelem(Tree,Max) так , чтобы Max равнялось наибольшему из чисел, входящих в...

Tree.FullExpand; Tree.FullCollapse;
Я кладу на форму компонент TreeView и строю дерево. И мне нужно чтобы при двойном нажатии на...

Как создать Tree - НЕ ОБЫЧНЫЙ, А как в XSI Render Tree или Maya
Помогите чем можете: ocx, примерами, деньгами :)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru