나름 개발자의 IT블로그

  • 홈
  • 태그
  • 방명록

분리집합 1

[알고리즘] smaller to larger를 사용해서 분리집합을 구현하자!

이 글에는 지극히 주관적인 내용이 많이 들어있습니다. 분리집합을 구현할 때 보통 가리키는 포인터를 옮기는 방식으로 구현하곤 한다. 하지만 이런 방법은 경로압축도 해야 하고 개인적으로 비직관적이었다. 사실 나는 재귀적인 코드와 작동 과정이 아직 완벽히 이해가 되지 않는다. 그래서 상대적으로 직관적인 smaller to larger(a.k.a 작은거 큰거)를 사용한 분리집합 구현을 소개하고자 한다. (물론 기존 방식보다 느리고 공간도 많이 사용한다.) smaller to larger라는게 애초에 집합을 합치기 위한 연산을 최적화하기 위한 기법이기 때문에 분리집합에도 사용할 수 있다. 기초적인 구조 class DisjointSet { public: vector p; vector ix; int n; } 우선 멤..

프로그래밍/알고리즘 2023.04.13
1
더보기
프로필사진

  • 분류 전체보기 (176)
    • 프로그래밍 (117)
      • 개발 (19)
      • 분산시스템 (1)
      • 알고리즘 (57)
      • 도커 (16)
      • 쿠버네티스 (8)
      • DevOps (7)
      • 개발환경 (0)
      • 스프링 (9)
    • 프로그래밍 언어 (8)
      • 취업 필수 언어 (3)
      • 엘릭서 (3)
      • C++ (2)
    • 수학 (20)
      • 현대대수학 (12)
      • 정수론 (7)
    • 기타 (31)
      • 암호학 (24)
      • 기타 (7)

Tag

쿠버네티스, 건국대학교, 컴퓨테이션, UCPC, 수학, 개발, 도커, 코드포스, cicd, 암호학, 스프링, 데이터베이스, 정수론, aws, Github Actions, 대회, 알고리즘, 백엔드, 자바, 능지,

최근글과 인기글

  • 최근글
  • 인기글

공지사항

Copyright © Kakao Corp. All rights reserved.

티스토리툴바