백준 5639번 (이진 검색 트리, C++) [BAEKJOON]

이진 검색 트리

https://www.acmicpc.net/problem/5639

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초256 MB3544213888982138.260%

문제

이진 검색 트리는 다음과 같은 세 가지 조건을 만족하는 이진 트리이다.

  • 노드의 왼쪽 서브트리에 있는 모든 노드의 키는 노드의 키보다 작다.
  • 노드의 오른쪽 서브트리에 있는 모든 노드의 키는 노드의 키보다 크다.
  • 왼쪽, 오른쪽 서브트리도 이진 검색 트리이다.

전위 순회 (루트-왼쪽-오른쪽)은 루트를 방문하고, 왼쪽 서브트리, 오른쪽 서브 트리를 순서대로 방문하면서 노드의 키를 출력한다.

후위 순회 (왼쪽-오른쪽-루트)는 왼쪽 서브트리, 오른쪽 서브트리, 루트 노드 순서대로 키를 출력한다.

예를 들어, 위의 이진 검색 트리의 전위 순회 결과는 50 30 24 5 28 45 98 52 60 이고, 후위 순회 결과는 5 28 24 45 30 60 52 98 50 이다.

이진 검색 트리를 전위 순회한 결과가 주어졌을 때, 이 트리를 후위 순회한 결과를 구하는 프로그램을 작성하시오.

입력

트리를 전위 순회한 결과가 주어진다.

노드에 들어있는 키의 값은 106보다 작은 양의 정수이다.

모든 값은 한 줄에 하나씩 주어지며, 노드의 수는 10,000개 이하이다.

같은 키를 가지는 노드는 없다.

출력

입력으로 주어진 이진 검색 트리를 후위 순회한 결과를 한 줄에 하나씩 출력한다.

예제 입력 1

50
30
24
5
28
45
98
52
60

예제 출력 1

5
28
24
45
30
60
52
98
50

출처

ICPC > Regionals > Asia Pacific > Thailand > 2011 ACM-ICPC Asia Phuket Regional Programming Contest B번

알고리즘 분류


통과된 코드

#include <iostream>

using namespace std;

struct BinaryNode
{
    int _Num;
    BinaryNode* _Left;
    BinaryNode* _Right;

    BinaryNode(int num)
        : _Num(num), _Left(nullptr), _Right(nullptr)
    {}

    void ArrayBinaryNode(int _n)
    {
        if (_Num > _n) {
            if (_Left == nullptr) _Left = new BinaryNode(_n);
            else _Left->ArrayBinaryNode(_n);
        }
        else {
            if (_Right == nullptr) _Right = new BinaryNode(_n);
            else _Right->ArrayBinaryNode(_n);
        }
    }
};

void PostorderTraverse(BinaryNode& CurrentNode)
{
    if (CurrentNode._Left != nullptr) PostorderTraverse(*CurrentNode._Left);
    if (CurrentNode._Right != nullptr) PostorderTraverse(*CurrentNode._Right);
    cout << CurrentNode._Num << "\n";
}


int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    int _N;
    cin >> _N;
    BinaryNode _RootNode(_N);
    while (true) {
        cin >> _N;
        if (cin.eof() == true)
            break;
        _RootNode.ArrayBinaryNode(_N);
    }

    PostorderTraverse(_RootNode);

	return 0;
}

“백준 5639번 (이진 검색 트리, C++) [BAEKJOON]”에 대한 1,111개의 생각

  1. https://www.echobookmarks.win/las-mejores-agencias-de-marketing-digital-en-santiago-chile

    Hola a todos!

    Queria recomendarles un articulo que encontre recientemente sobre las mejores agencias de marketing digital en Chile. Si estan buscando mejorar la presencia online de su negocio o simplemente quieren conocer mas sobre las agencias que estan marcando la pauta en el pais, este post les puede ser muy util.

    Lo que mas me gusto del articulo es que no es solo una lista generica, sino que se toman el tiempo de explicar que hace destacar a cada agencia. Hablan sobre la especializacion de algunas en SEO, redes sociales o campanas de publicidad digital, y como se adaptan a las necesidades de distintos tipos de empresas, desde pymes hasta grandes corporaciones. Ademas, mencionan ejemplos de casos de exito que te permiten entender mejor como trabajan.

    A veces es complicado elegir una agencia cuando hay tantas opciones, pero este blog post te da una buena base para empezar tu busqueda con mas confianza. Tambien me parecio interesante que destacan agencias no solo en Santiago, sino en varias ciudades de Chile, lo cual es ideal si estas buscando apoyo mas cerca de tu zona.

    Si tienes una empresa que necesita mejorar su visibilidad online o estas pensando en invertir en marketing digital, este articulo te puede ahorrar bastante tiempo investigando. Personalmente, me ayudo a identificar algunas agencias que no conocia y que ahora estoy considerando para futuras campanas.

    Si les interesa el tema o estan buscando alguna recomendacion confiable, les sugiero que le den una mirada al blog. Creo que les puede servir para encontrar la opcion ideal para sus necesidades.

    Saludos y exito en sus proyectos!

  2. Юридическая помощь гражданам является одной из самых востребованных услуг в современном обществе, где правовая грамотность играет критически важную роль. Владея необходимыми знаниями, люди могут эффективно защищать свои права и интересы, будь то вопросы семейного права, трудовые споры, жилищные проблемы или деловые взаимоотношения. Компетентные юристы способны предоставлять консультации, разъяснять сложные правовые нюансы и предлагать наилучшие пути разрешения конфликтных ситуаций. Юридическая помощь гражданам включает также подготовку и оформление различных документов, представительство в суде и других государственных органах, что требует высококвалифицированных специалистов, способных адаптировать свои знания под конкретные потребности клиента. Качественное юридическое сопровождение нередко становится залогом успешного разрешения спорных вопросов, предотвращения рискованных ситуаций и соблюдения законных обязательств. Поисковые запросы, связанные с юридической помощью, часто приводят к надежным фирмам и адвокатам, способным оказать неоценимую поддержку в сложных жизненных ситуациях. Используя запрос “юридическая помощь гражданам”, можно найти широкий спектр услуг, который охватывает как ежедневные правовые потребности, так и чрезвычайные обстоятельства, требующие немедленного вмешательства. Такой подход позволяет минимизировать стресс и финансовые затраты, предоставляя каждому гражданину доступ к профессиональной и своевременной правовой помощи.

    Если вам требуется помощь опытного юриста или адвоката более подробную информацию вы найдете в этом источнике

  3. Наследственные споры — это одна из наиболее сложных и эмоционально насыщенных категорий судебных дел, которая требует не только юридической квалификации, но и глубокого понимания семейных и личных отношений участников процесса. В таких делах крайне важно грамотно управлять документами, свидетельствами и иными доказательствами, которые могут существенно повлиять на исход спора. Если вы столкнулись с проблемами распределения наследственного имущества или хотите оспорить завещание, самый разумный шаг — обратиться к профессионалу. Адвокат по делам наследства обладает необходимыми знаниями и опытом, чтобы проконсультировать вас по всем аспектам дела, от анализа правомерности составления завещания до представления ваших интересов в суде. Часто наследственные споры возникают из-за недопонимания правовых норм или недостаточности информации о правах и обязанностях наследников. Здесь также нельзя забывать о налоговых аспектах и возможных задолженностях наследодателя, которые могут стать дополнительным камнем преткновения. Именно адвокат по делам наследства сможет провести полный аудит ситуации и предложить наиболее действенные стратегии для защиты ваших прав. Важно учитывать, что каждое наследственное дело уникально и требует индивидуального подхода. Разрешение таких споров требует не только юридической грамотности, но и тактичного отношения к эмоциональным аспектам сторон. Выбирайте адвоката по делам наследства на основе рекомендаций и проверенного опыта, чтобы доверить свое дело профессионалу, который сможет обеспечить вам наилучшее представление ваших интересов.

    При возникновении споров по вопросам наследства крайне важно обращаться к опытному юристу по наследственным делам

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤