정렬 시각화
C ++ 및 SFML로 만든 가벼운 분류 영상화.
나는 프로젝트에 기여하고 싶다!
엄청난! 여기서는 Visualizer에 대한 유용한 정보를 찾을 수 있습니다. 우리는 첫 번째 기고자도 받아들입니다!
또한 Dev Branch에서 마지막 변경 사항을 가져 오십시오!
정렬 유형
- 버블 정렬
- 버블 정렬은 잘못된 장소에있는 서로 옆에 요소를 지속적으로 바꾸어 작동합니다. 데이터 세트의 시작부터 시작하여 각 요소는 '올바른 지점으로'플로팅합니다. 버블 정렬에 대한 자세한 내용은 여기에서 찾을 수 있습니다.
- 선택 정렬
- 선택 정렬은 정렬 된 및 분류되지 않은 섹션의 두 섹션을 가지고 작동하지 않고 분류되지 않은 섹션을 통해 지속적으로 검색하고 가장 작은 요소를 정렬 된 섹션에 배치합니다. 이 분류 알고리즘은 대신 가장 큰 요소가 선택된 곳에서 구현 될 수 있습니다. 선택 정렬에 대한 자세한 내용은 여기에서 찾을 수 있습니다.
- 삽입 정렬
- 삽입 정렬은 정렬되지 않은 섹션을 가지고 있다는 점에서 선택 정렬과 유사합니다. 가장 작은/가장 큰 요소를 지속적으로 선택하는 대신, 선택된 요소를 미 풀린 부분에서 삽입하고 정렬 된 섹션의 올바른 지점에 '삽입'합니다. 삽입 정렬에 대한 자세한 내용은 여기에서 찾을 수 있습니다.
- 빠른 정렬
- 빠른 정렬은 "분할 및 정복"알고리즘입니다. 분할 및 정복 알고리즘은 문제를 더 작은 부분으로 나누고 작은 문제를 해결 한 다음 솔루션을 하나의 최종 솔루션으로 빗질하여 작동합니다. 빠른 정렬은 요소를 '피벗'으로 선택하여 작동하여 피벗보다 요소가 한쪽에있는 곳에서 다른 요소를 움직이고 피벗보다 더 큰 요소가 다른쪽에있는 다음 각 측면에서 해당 프로세스를 지속적으로 수행합니다. 각 요소가 분할되면 솔루션은 정렬 된 배열로 결합됩니다. 빠른 정렬에 대한 자세한 내용은 여기에서 더 많은 부분을 찾을 수 있으며 분할 및 정복 알고리즘에서 더 많은 것을 찾을 수 있습니다.
- 칵테일 셰이커 정렬
- 칵테일 셰이커 정렬은 거품 정렬의 변형입니다. 데이터 세트의 하단에서 올바른 지점으로 요소 'float'만 갖는 대신 요소는 Datset의 상단에서 올바른 위치로 '싱크'를 '싱크'합니다. 칵테일 셰이커 정렬에 대한 자세한 내용은 여기에서 찾을 수 있습니다.
- BOGO 정렬
- Bogo 정렬은 비효율적 인 정렬 알고리즘으로 원래 데이터 세트의 다른 버전을 무작위로 생성하고 정렬되었는지 여부를 확인합니다. Bogo 정렬에 대한 자세한 내용은 여기에서 찾을 수 있습니다.
- Bitonic 정렬
- Bitonic 정렬은 병렬 구현으로 실행할 수있는 비교 기반 정렬 알고리즘입니다. 다른 서브 어레이 내에서 알고리즘은 첫 번째 요소가 두 번째 요소보다 작고 그 반대를 확인합니다. 전체 데이터 세트가 정렬 될 때까지 더 큰 서브 사업에서 지속적으로 수행합니다. Bitonic 정렬에 대한 자세한 내용은 여기에서 찾을 수 있습니다.
- 이상한 정렬
- Odd-Even Sort는 Pararell 프로세서에서 사용하기 위해 개발 된 비교 예비 정렬 알고리즘이며, 버블 정렬을 기반으로하지만 홀수 및 짝수 위상으로 나뉩니다. 홀수 위상 알고리즘에서는 색인화 된 요소의 위상에서 홀수 인덱스 요소에서 기포 정렬을 수행합니다. 홀수에도 더 많은 정렬은 여기에서 찾을 수 있습니다.
? 슬 사용
- 공간 : 정렬을 시작하십시오
- 백 스페이스 : 정렬 중지
- H : 디스플레이 도움말
- F1 : 요소 수를 변경합니다
- F2 : 비교 사이의 시간을 변경하십시오
- 화살표 업 / 화살표 아래 : 정렬 유형을 변경합니다
? 슬 다운로드
요구 사항 :
? 리눅스
- 클론 프로젝트 :
git clone https://github.com/alesbe/sorting-visualizer && cd sorting-visualizer -
./install.sh
Windows / MacOS
릴리스에서 다운로드하십시오
직접 프로젝트를 컴파일하려면 다음 단계를 따라야합니다.
- 공식 웹 사이트에서 SFML을 다운로드하십시오
- cmake를 다운로드하십시오
- 저장소를 복제하십시오
-
CMakeLists.txt 열고 변수 SFML_DIR 찾으십시오. SFML CMAKE 파일이있는 경로로 경로를 설정하십시오. 예를 들어 C:/Program Files (x86)/SFML/lib/cmake/SFML 입니다. - 저장소의 루트 디렉토리에서 실행 :
mkdir build cd build
cmake ..
cmake -G 'Visual Studio 17 2022' ..
/build 디렉토리에서 시각적 스튜디오 솔루션이어야합니다. 이제 솔루션을 열고 평소와 같이 재생 버튼으로 파일을 컴파일 할 수 있습니다!
참고 : Visual Studio 2022를 사용하지 않으려면 대상 컴파일러에 대한 SFML을 다운로드하고 6 단계에서 CMAKE 생성기를 변경하십시오. CMAKE -G를 가진 발전기 목록을 확인할 수 있습니다.