모두 알다시피, 삽입 및 삭제에는 모두 O (log n)가 필요합니다. AVL 트리는 O (로그 n)을 삽입해야하고 O (로그 n)을 사용하여 균형을 유지해야하므로 O (로그 n)이 필요합니다.AVL 트리 회전 및 빨강 - 검정 트리 색상 뒤집기
RB 트리는 삽입하기 위해 O (log n)가 필요하기 때문에 O (log n)가 필요합니다. RB-INSERT-FIXUP은 케이스 1 (색상 뒤집기)에 O (log n) 회전시 최대 2 배. AVL은 2O (log n)을 필요로하지만 RB 트리는 2O (log n) + C를 필요로합니다.
왜 우리는 RB 트리가 삽입시 AVL보다 더 빠르다고 생각합니까? 회전이 컬러 뒤집기보다 더 많은 시간을 필요로하기 때문에? 회전 및 색상 뒤집기 둘 다 O (1)가 필요합니다. 왜 회전이 색상 뒤집기보다 시간이 오래 걸리나요? 고마워요 :)
질문이 업데이트되었습니다. 감사합니다. – Aleeee
@Aleeee 업데이트 된 답변을 확인하십시오. – Max
삽입 필요 O (log n). RB-INSERT-FIXUP에서는 case 1이 발생하는 경우에만 while 루프가 반복되고 포인터 z는 트리의 두 레벨 위로 이동합니다. 따라서 while 루프가 실행될 수있는 총 횟수는 O (lg n)입니다. 이것은에서 온 것입니다. 따라서 전체 RB 트리 삽입에는 2O (log n) + C가 필요합니다. AVL은 또한 2O (log n)을 필요로한다. –
Aleeee