이들은 시연 목적으로 만 사용됩니다. JavaScript 표준 라이브러리에는 성능의 이유로 훨씬 더 나은 종류의 구현이 있습니다.
thealgorithms에 감사드립니다 : https://github.com/thealgorithms
Wikipedia : Bubble Sort, 때로는 싱킹 정렬이라고도하는 Bubble Sort는 정렬 할 목록을 반복적으로 단계적으로 단계적으로 단계적으로 단계적으로 단계적으로 단계적으로 쌍을 비교하여 잘못된 순서에있는 경우 교환하는 간단한 정렬 알고리즘입니다. 목록을 통과하는 패스는 스왑이 필요하지 않을 때까지 반복됩니다. 이는 목록이 정렬되었음을 나타냅니다.
속성
Wikipedia : Insertion 정렬은 한 번에 하나의 항목 씩 최종 분류 배열 (또는 목록)을 작성하는 간단한 정렬 알고리즘입니다. QuickSort, Heapsort 또는 Merge 정렬과 같은 고급 알고리즘보다 큰 목록에서 훨씬 덜 효율적입니다.
속성
Wikipedia에서 : 컴퓨터 과학에서 Merge Sort (일반적으로 철자가있는 Mergesort)는 효율적이고 일반적인 목적 비교 기반 분류 알고리즘입니다. 대부분의 구현은 안정적인 정렬을 생성하므로 구현은 정렬 된 출력에서 동일한 요소의 입력 순서를 유지합니다. Mergesort는 1945 년 John Von Neumann이 발명 한 분열 및 정복 알고리즘입니다.
속성
Wikipedia : QuickSort (때로는 Partition-Exchange 정렬이라고도 함)는 효율적인 정렬 알고리즘으로 배열의 요소를 순서대로 배치하기위한 체계적인 방법으로 사용됩니다.
속성
Wikipedia에서 : 알고리즘은 입력 목록을 두 부분으로 나눕니다. 이미 분류 된 항목의 하위 목록, 목록의 왼쪽에서 왼쪽으로 구축되었으며 나머지 목록을 차별적으로 분류 할 항목의 하위 목록. 처음에는 정렬 된 하위 목록이 비어 있고 분류되지 않은 하위 목록은 전체 입력 목록입니다. 이 알고리즘은 분류되지 않은 하위 목록에서 가장 작은 (또는 정렬 순서에 따라) 요소를 찾아서 가장 왼쪽으로 분류되지 않은 요소로 교환 (스와핑)하고 (정렬되지 않은 순서를 넣음), 하위 목록 경계를 오른쪽으로 이동시켜 진행됩니다.
속성
Wikipedia : Shellsort는 삽입 정렬의 일반화로 멀리 떨어진 항목을 교환 할 수 있습니다. 아이디어는 요소 목록을 정렬하여 어디서나 시작하여 모든 NTH 요소가 정렬 된 목록을 제공하는 것을 고려할 때. 그러한 목록은 H- 분류된다고합니다. 동일하게, 그것은 각각 개별적으로 정렬 된 H 인터리브 목록으로 생각할 수 있습니다.
속성
분류 알고리즘의 복잡성 비교 (버블 정렬, 삽입 정렬, 선택 정렬)
복잡성 그래프
Wikipedia에서 : 선형 검색 또는 순차적 검색은 목록 내에서 대상 값을 찾는 방법입니다. 일치가 발견 될 때까지 또는 모든 요소가 검색 될 때까지 목록의 각 요소를 순차적으로 확인합니다. 선형 검색은 최악의 선형 시간에 실행되며 최대 N 비교를 만듭니다. 여기서 n은 목록의 길이입니다.
속성
Wikipedia : Half-InterVal 검색 또는 로그 검색으로도 알려진 Binary Search는 정렬 된 배열 내에서 대상 값의 위치를 찾는 검색 알고리즘입니다. 대상 값을 배열의 중간 요소와 비교합니다. 그들이 불평등하다면, 대상이 거짓말을 할 수없는 절반은 제거되고 검색이 성공할 때까지 나머지 절반에 검색이 계속됩니다.
속성
Wikipedia에서 : 점프 검색 또는 블록 검색은 주문한 목록에 대한 검색 알고리즘을 나타냅니다. { displaystyle k in mathbb {n}} k in mathbb {n}과 m은 검색 키보다 큰 항목이 발견 될 때까지 블록 크기입니다. 목록에서 검색 키의 정확한 위치를 찾으려면 Subrist L [(K-1) M, KM]에서 선형 검색이 수행됩니다.
속성
암호화에서 Caesar 's Cipher라고도 알려진 시저 암호 는 시스터의 시저 코드 또는 시저 시프트 (Caesar Code 또는 Caesar Shift)가 가장 간단하고 가장 널리 알려진 암호화 기술 중 하나입니다.
그것은 일반 텍스트의 각 문자가 알파벳 아래로 어느 정도 고정 된 수의 위치를 문자로 대체하는 대체 암호의 유형 입니다. 예를 들어, 왼쪽 시프트가 3의 경우, d는 a로 대체되며, e는 b가됩니다.
이 방법은 Julius Caesar의 이름을 따서 명명되었으며, 그는 개인 서신에서 사용했습니다.
시저 암호에 의해 수행되는 암호화 단계는 종종 Vigenère 암호와 같은보다 복잡한 체계의 일부로 통합되며 여전히 ROT13 시스템에 현대적인 응용 프로그램이 있습니다. 모든 단일 알파벳 대체 암호와 마찬가지로 Caesar Cipher는 쉽게 파손되며 현대적인 연습에서는 본질적으로 커뮤니케이션 보안이 없습니다.
Vigenère 암호는 키워드의 문자를 기반으로 일련의 짜여진 시저 암호를 사용하여 알파벳 텍스트를 암호화하는 방법입니다. 그것은 폴리 알파 성 대체의 한 형태 입니다.
Vigenère 암호는 여러 번 재창조되었습니다. 이 방법은 원래 그의 1553 년 책 La Cifra del에서 Giovan Battista Bellaso가 설명했습니다. 시그. Giovan Battista Bellaso; 그러나이 계획은 나중에 19 세기에 Blaise de Vigenère에게 잘못 입력되었으며 현재 "Vigenère Cipher"로 널리 알려져 있습니다.
암호는 이해하고 구현하기 쉽지만 3 세기 동안 그것을 깨기위한 모든 시도에 저항했다. 이것은 Le Chiffre Indéchiffable에 대한 설명을 얻었습니다 ( '고려 할 수없는 암호'에 대한 프랑스어). 많은 사람들이 본질적으로 Vigenère 암호 인 암호화 체계를 구현하려고 노력했습니다. Friedrich Kasiski는 1863 년에 Vigenère 암호를 해독하는 일반적인 방법을 최초로 출판했습니다.
암호화에서 전치 암호는 일반 텍스트 단위 (일반적으로 문자 또는 문자 그룹)에 의해 보유 된 위치가 일반 시스템에 따라 이동하여 암호 텍스트가 일반 텍스트의 순열을 구성하는 암호화 방법입니다. 즉, 단위의 순서가 변경됩니다 (일반 텍스트는 재정렬됩니다).
수학적으로 bijective 함수는 캐릭터의 위치에 사용되어 암호화와 암호 해독 기능을 사용합니다.
"Modulus 10"또는 "Mod 10"알고리즘으로도 알려진 Luhn 알고리즘 또는 Luhn 공식은 신용 카드 번호, IMEI 번호, 미국의 국가 제공 업체 식별자 번호, 캐나다 사회 보험 번호, 이스라엘 ID 번호 및 그리스 사회 보안 번호와 같은 다양한 식별 번호를 검증하는 데 사용되는 간단한 체크섬 공식입니다. 그것은 IBM 과학자 Hans Peter Luhn에 의해 만들어졌으며 1954 년 1 월 6 일에 제출 된 미국 특허 번호 2,950,048에 설명되어 1960 년 8 월 23 일에 부여되었습니다.