Ethan's Coding Letter

  • 홈
  • 태그
  • 방명록

Programming/Algorithm 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

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

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

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

티스토리툴바