개인 재정 알고리즘에서 데이터 정렬이 중요한 이유 - 더미

알고리즘에서 데이터 정렬이 중요한 이유 - 더미

비디오: 정렬 알고리즘이 중요한 이유 2024

비디오: 정렬 알고리즘이 중요한 이유 2024
Anonim

목록에서 항목을 먼저 정렬하지 않고 찾으려고한다고 상상해보십시오. 모든 검색은 시간 소모적 인 순차 검색이됩니다. 그러나 알고리즘에 대한 데이터를 정렬하지 않는 경우를 만들 수 있습니다. 결국 데이터를 정렬하지 않아도 데이터에 계속 액세스 할 수 있으며 정렬에는 시간이 걸립니다. 물론, 정렬되지 않은 데이터의 문제는 부엌의 쓰레기 서랍 (또는 정크 서랍이있는 곳)에서와 같은 문제입니다. 쓸데없는 서랍에 무엇이든 찾는 것은 시간이 많이 걸리는데 어디에서 무엇을 찾을 지 짐작할 수 없기 때문입니다. 손에 들어가서 원하는 것만 가져가는 것이 아니라 원하는 항목 하나를 찾기 위해 원하지 않는 무수한 다른 항목을 가져와야합니다. 불행히도, 필요한 항목은 처음에는 쓰레기 서랍에 들어 있지 않을 수도 있습니다. 쓰레기를 버리거나 다른 서랍에 넣었을 수도 있습니다.

가정의 쓰레기 서랍은 시스템의 정렬되지 않은 데이터와 같습니다. 데이터가 정렬되지 않은 경우 한 번에 하나의 항목 만 검색해야하며 데이터 집합의 모든 항목을 먼저 검색하지 않아도 필요한 항목을 찾을 수 있는지 여부조차 모릅니다. 그것은 데이터로 작업하는 좌절스러운 방법입니다.

물론, 단순히 데이터를 정렬하는 것으로는 충분하지 않습니다. 직원 데이터베이스를 성으로 정렬했지만 생년월일로 직원을 검색해야하는 경우 정렬이 유용하지 않습니다. (특정 날짜에 생일을 가진 모든 직원을 찾고 싶다고 가정합니다.) 필요한 생년월일을 찾으려면 한 번에 전체 데이터 세트를 한 항목 씩 검색해야합니다. 결과적으로 정렬은 특정 요구에 초점을 맞추어야합니다. 예, 한 번에 부서별로 그리고 다른 시간에 성으로 정렬 된 직원 데이터베이스가 필요했지만 데이터 세트를 효과적으로 사용하려면 생년월일별로 정렬해야합니다.

동일한 데이터에 대해 여러 개의 정렬 된 주문을 유지해야하는 필요성 때문에 개발자가 색인을 만들었습니다. 작은 인덱스를 정렬하는 것이 전체 데이터 세트를 정렬하는 것보다 빠릅니다. 이 인덱스는 특정 데이터 순서를 유지하고 전체 데이터 세트를 가리키고 있으므로 매우 빠르게 필요한 것을 찾을 수 있습니다. 각 정렬 요구 사항에 대한 인덱스를 유지함으로써 데이터 액세스 시간을 효과적으로 단축하고 여러 사용자가 액세스해야하는 순서로 동시에 데이터에 액세스 할 수 있습니다.

분류 알고리즘을 분류하는 데는 여러 가지 방법이 있습니다. 이러한 방법 중 하나는 정렬 속도입니다.

비교:

  • 데이터 집합의 한 위치에서 다른 위치로 데이터를 이동하려면 어디로 이동해야하는지 알 필요가 있습니다 이는 대상 데이터를 데이터 집합의 다른 데이터와 비교하는 것을 의미합니다.비교가 적 으면 성능이 향상됩니다. 교환:
  • 알고리즘을 작성하는 방법에 따라 데이터가 첫 번째 시도에서 데이터 세트의 최종 위치에 도달하지 못할 수 있습니다. 데이터가 실제로 여러 번 이동할 수 있습니다. 교환의 수는 속도에 상당한 영향을줍니다. 실제로 현재 메모리에서 한 위치에서 다른 위치로 데이터를 이동하기 때문입니다. 인덱스를 사용할 때와 같이 교환 횟수가 줄어들면 성능이 향상됩니다.

알고리즘에서 데이터 정렬이 중요한 이유 - 더미

편집자의 선택

JavaScript에서 HTML 양식 요소에 액세스하는 방법 - 다른 HTML 요소와 마찬가지로

JavaScript에서 HTML 양식 요소에 액세스하는 방법 - 다른 HTML 요소와 마찬가지로

자바 스크립트에서 HTML5 요소와 직접 상호 작용할 수 있습니다. 트릭은 선택한 요소가 지원해야하는 브라우저 및 플랫폼에서 작동하는지 확인하는 것입니다. 이 예제에서는 및 태그를 다음과 같은 솔루션의 일부로 사용하는 방법을 보여줍니다.

CSS 값 정의에 대한 빠른 가이드 구문 - 인형

CSS 값 정의에 대한 빠른 가이드 구문 - 인형

W3C (World Wide Web Consortium)에서 모든 CSS 속성의 구문과 가능한 값을 정의합니다. 정의를 가능한 한 정확하게 만들기 위해 W3C는 CSS 값 정의 구문이라는 공식 시스템을 사용합니다. 정의 구문은 가능한 값을 매우 정확하게 정의하지만 CSS 값 정의 구문을 읽는 중 ...

JavaScript로 동적 HTML 요소를 작성하는 방법 - 더미

JavaScript로 동적 HTML 요소를 작성하는 방법 - 더미

모든 페이지에 대한 특수 효과는 페이지에 동적 HTML 변경 기능을 제공하는 것입니다. 예를 들어 다음 예제와 같이 선택한 요소에 특수 효과를 만들 수 있습니다. function ChangeStyles (event) {// 요소에 대한 참조를 얻습니다. var ThisElement ...

편집자의 선택

Excel 2013 통합 문서의 변경 내용 수락 또는 거부 방법 - 변경 내용 추적을 설정하면 더미

Excel 2013 통합 문서의 변경 내용 수락 또는 거부 방법 - 변경 내용 추적을 설정하면 더미

Excel 2013 통합 문서의 경우 리본의 검토 탭에있는 변경 내용 추적 명령 단추의 드롭 다운 메뉴에서 Alt / RGC를 눌러 변경 내용 적용 / 거부 옵션을 선택하여 수락 또는 거부 할 변경 내용을 결정할 수 있습니다. 이렇게하면 Excel이 강조 표시된 모든 변경 내용을 검토합니다 ...

Excel에서 셀에 설명을 추가하는 방법 2016 - 문자

Excel에서 셀에 설명을 추가하는 방법 2016 - 문자

Excel 2016 워크 시트의 특정 셀에 주석을 달 수 있습니다. 댓글은 스티커 메모의 전자 팝업 버전과 유사합니다. 셀에 주석을 추가하려면 다음과 같이하십시오. 셀 포인터를 이동하거나 주석을 추가 할 셀을 클릭하십시오. 새 주석을 클릭하십시오.

Excel 피벗 테이블에 계산 된 필드를 추가하는 방법 - 더미

Excel 피벗 테이블에 계산 된 필드를 추가하는 방법 - 더미

피벗 테이블 내부의 값을 계산합니다. 계산 된 필드 및 항목을 표에 추가 할 수 있습니다. 계산 된 필드를 추가하면 새로운 행이나 열을 피벗 테이블에 삽입 한 다음 수식을 사용하여 새 행이나 열을 채울 수 있습니다. 예를 들어 다음과 같이 나타납니다.

편집자의 선택

포토샵 CS6에서 히스토리 기능으로 채우기를 사용하는 방법 - 더미

포토샵 CS6에서 히스토리 기능으로 채우기를 사용하는 방법 - 더미

채우기 Adobe Photoshop의 기능 Creative Suite 6는 선택을 원할 때 유용합니다. 특정 상태로 바꿀 영역을 쉽게 선택할 수 있으면 기록으로 채우기 기능을 사용할 수 있습니다. 특정 이미지에서 하늘이 마음에 들지 않는다고 가정 해보십시오. 선택한 항목 ...

Photoshop CS6에서 패싯 필터를 사용하는 방법 -

Photoshop CS6에서 패싯 필터를 사용하는 방법 -

Photoshop CS6의 이미지는 먼지와 스크래치를 줄이거 나 날카로운 모서리를 부드럽게하는 것입니다. 패싯 필터는 포스터 라이징 효과를 사용하여 이미지를 분할합니다. Photoshop CS6에서 이미지를 흐리게 처리하려는 한 가지 이유는 먼지 및 스크래치를 줄이거 나 밝기를 비슷하게하는 픽셀 블록을 모아서 기하학적 모양을 사용하여 단일 값으로 변환하기 때문입니다.

Photoshop CS6에서 손 도구 사용 방법 - 인형

Photoshop CS6에서 손 도구 사용 방법 - 인형

Photoshop CS6 손 도구는 이미지 문서에서 빠르게 이동하고 스크롤 막대와 유사하게 작업하여 작업을보다 신속하게 수행 할 수 있습니다. 손 도구는 손 도구를 클릭 할 필요가 거의 없기 때문에 실제 도구보다 기능이 더 많습니다. 간단히 ...