이 프로젝트는 인하대학교의 오픈소스응용프로그래밍 과제로 진행된 Set STL 구현입니다.
C++로 AVL 트리를 기반으로 한 Set STL을 구현하며, 프로젝트 설계, 구현, 테스트의 전 과정을 경험하기 위해 제작되었습니다.
본 프로젝트는 Set STL의 다양한 기능을 구현하기 위해 다음과 같은 주요 컴포넌트로 구성되어 있습니다.
- Tree Class: Set STL의 핵심 구조. 이진 트리의 기본 구조를 가집니다.
- TreeUtils 및 TreeAnalysis: 트리 상태 관리와 다양한 분석 작업을 처리하는 유틸리티.
- AvlTree 및 AvlTreeModification: Avl트리 관련 구현을 하는 클래스.
- Google Test: 구현된 클래스와 함수의 테스트를 위해 Google Test 프레임워크를 활용.
- CMake: 빌드 및 테스트 환경 관리를 위한 CMake 구성.
- OS: Windows, macOS (크로스 플랫폼 지원)
- IDE: Visual Studio, VS Code, Clion
- C++ 표준: C++14
- 빌드 도구: CMake
- 테스트 프레임워크: Google Test
본 프로젝트에서는 Google Test 프레임워크를 사용하여 철저한 테스트를 수행하였습니다.
테스트는 다음 세 가지로 나누어 설계되었습니다.
- 유닛 테스트: 개별 메서드와 클래스의 동작 검증.
- 통합 테스트: 여러 메서드와 클래스가 함께 작동하는지 확인.
- 전체 테스트: 전체 메서드와 클래스가 함꼐 작동하는지 최종 검증.
각 테스트 케이스는 다양한 입력값과 예상 결과를 기반으로 설계되었으며, 자세한 내용은 test 디렉토리 내 소스 파일에 포함되어 있습니다.
- 실제 STL Set을 트리 구조로 구현하는 경우가 아닌 경우 제한 사항이 있습니다.
- 과제 목적으로 설계되었기 때문에 실무 환경에서는 사용을 권장하지 않습니다.
기여는 받지 않지만, 프로젝트에 대한 질문이나 의견은 언제든 환영합니다.
더 자세한 사항은 CONTRIBUTING.md 파일을 참고해주세요.
이 프로젝트는 MIT 라이선스를 따릅니다.
자세한 내용은 LICENSE 파일을 확인하세요.