Ethan's Coding Letter

  • 홈
  • 태그
  • 방명록

C++ 1

C++에서 Set 사용시 주의할 점

struct Node{ int x,y; }; set Nset; 을 사용하다가 Nset.insert({x,y})를 하려던 도중, 컴파일 에러가 발생하여 조사를 시작하였다. Set 자료구조는 내부적으로 Balanced Binary Tree(C++의 set은 레드블랙 트리)로 이루어져 있으며 삽입할때 정렬이 이루어 진다. 한 데이터의 최대 탐색속도는 Tree의 높이가 결정짓고, 높이는 데이터 수가 N개 일 때 logN이 된다.(정확히는 로그 2의 N) 따라서 삽입 연산은 적지만, 탐색 연산이 많은 경우 set을 사용하면 logN의 시간복잡도로 탐색을 마칠 수 있다는 장점이 있다. 그런데 Binary Tree에서 insert를 할 때 한 노드의 왼쪽 자식으로 넣을지, 오른쪽에 넣을지 결정은 어떻게 할까? int..

Programming/Algorithm 2021.06.08
1
더보기
프로필사진

  • 분류 전체보기
    • Programming
      • Android
      • AWS
      • Kotlin
      • Algorithm
      • Computer Science
      • Github
      • Kotlin Multiplatform
    • 일상

Tag

Android Studio, unit test, java, Rxjava, ListAdapter, MVVM, Computer Science, animation, RecyclerView, livedata, Proxy 프로그램, Kotlin, android, DiffUtil, 네트워크 디버깅, GitHub, LifeCycle, open source, viewmodel, Event Handling,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

«   2025/05   »
일 월 화 수 목 금 토
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

방문자수Total

  • Today :
  • Yesterday :

Copyright © Kakao Corp. All rights reserved.

  • github

티스토리툴바