Как мне спроектировать структуру данных, имеющую операции push () и popMin () с push () в O (log (n)) и popMin в постоянном времени, то есть O (1)? - PullRequest
0 голосов
/ 27 апреля 2019

Мой собственный ответ - бинарное дерево поиска со следующим указателем, например:

 struct Node{
    int key;
    Node* left;
    Node* right;
    Node* next; 
    Node* parent;
};
typedef struct Node MyNode;
MyNode* myTable;
MyNode* leftNode;

Я прав, или есть какой-то другой ответ?

1 Ответ

0 голосов
/ 27 апреля 2019

Вам нужна куча: https://en.wikipedia.org/wiki/Heap_(data_structure)

вставка O (logN) * ​​1005 *

найти мин. O (1)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...