배열 요소의 빈도를 계산하는 JavaScript 프로그램
빈도를 계산한다는 것은 배열의 요소가 주어진 배열에 나타나는 횟수를 계산해야 함을 의미합니다. 빈도를 얻기 위해 지도와 같은 내장 데이터 구조를 사용할 수도 있고, 배열 요소의 빈도를 얻기 위해 배열을 정렬할 수도 있습니다. 두 가지 방법에 대해 논의하고 하나씩 살펴보겠습니다 -
배열 정렬
이 방법에서는 배열을 정렬하고 현재 요소가 이전 요소와 동일한지 확인하고 현재 배열이 동일하지 않은 경우 이는 새 요소이고 개수가 변수가 될 때까지 이전 요소의 빈도입니다. we 이는 요소 수를 늘리는 데 사용됩니다.
방법
먼저 내장된 정렬 방법을 사용하여 배열을 정렬하겠습니다.
주어진 배열의 요소와 해당 주파수를 저장할 배열을 만듭니다.
현재 요소의 발생 횟수를 저장하기 위해 변수 "count"를 생성합니다.
우리는 배열을 반복하고 각 반복마다 현재 요소가 이전 요소와 같은지 확인합니다.
현재 요소가 이전 요소와 같으면 카운트 값이 증가합니다.
-
현재 요소가 이전 요소와 같지 않으면 이전 요소의 개수를 현재 요소의 빈도를 나타내는 배열의 키 쌍으로 저장합니다.
李> 또한 카운트 값을 1로 업데이트하겠습니다.
배열을 반복한 후 정렬된 배열의 마지막 요소의 빈도는 저장되지 않고 루프가 종료되므로 저장합니다.
예
위 메소드를 구현한 코드를 보고 좀 더 나은 방법으로 추가하고 이해해 봅시다.
으아악시간과 공간의 복잡성
위 코드의 시간 복잡도는 O(N*log(N))입니다. 왜냐하면 배열을 정렬했고 필요한 시간은 N*log(N)이고 배열을 한 번 순회했기 때문에 O( N ) 시간, 여기서 N은 주어진 배열에 존재하는 요소의 수입니다.
위 코드의 공간 복잡도는 추가 공간을 사용하지 않기 때문에 O(1)입니다. 그러나 주파수를 저장하려면 추가 공간이 있어야 하며 이는 O(N)입니다.
지도의 모든 요소가 사용되는 빈도
맵은 키 쌍 형태로 값을 저장하는 데이터 구조이며, 해당 데이터는 나중에 업데이트될 수 있습니다. 지도에 데이터를 추가하거나 업데이트하는 데는 로그 시간이 걸리지만 배열을 정렬할 필요가 없습니다. 즉, 이전 프로그램에서 했던 것처럼 배열을 변경할 필요가 없습니다. 먼저 방법을 살펴보고 코딩 부분으로 들어가겠습니다 -
방법
먼저 새로운 키워드를 이용해 지도를 생성해보겠습니다.
배열을 반복하고 각 요소를 확인하겠습니다.
현재 요소가 맵에 존재하는 경우 현재 요소에 대해 저장된 값, 즉 빈도가 증가합니다.
요소가 저장되지 않은 경우 이를 맵에 키로 추가하고 값 1을 지정합니다.
배열을 반복한 후 맵에 저장된 값을 키-값 쌍으로 인쇄할 수 있습니다.
예
코드가 어떻게 구현되는지 살펴보았습니다. 이제 코드를 더 잘 이해하기 위해 구현 부분으로 이동하겠습니다. -
으아악시간과 공간의 복잡성
위 코드의 시간 복잡도는 O(N*log(N))입니다. 여기서 N은 매핑 작동 방식에 따라 배열, 요소 또는 로그의 크기입니다. 위 코드는 O(N)의 공간 복잡도를 가지며 맵에 요소를 저장해야 합니다.
지도를 사용하여 주파수를 찾는 것은 주어진 배열을 변경할 필요가 없기 때문에 좋습니다.
결론
이 튜토리얼에서는 배열 요소의 빈도를 계산하는 JavaScript 프로그램을 소개합니다. 빈도를 계산한다는 것은 배열의 요소가 주어진 배열에 나타나는 횟수를 계산해야 함을 의미합니다. 우리는 주어진 문제를 해결하는 두 가지 방법을 살펴보았습니다. 하나는 내장된 정렬 기능을 사용하여 요소를 정렬하는 것이고, 다른 하나는 내장된 맵 데이터 구조를 사용하여 수행하는 것입니다.
위 내용은 배열 요소의 빈도를 계산하는 JavaScript 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











JavaScript 문자열 교체 방법 및 FAQ에 대한 자세한 설명 이 기사는 JavaScript에서 문자열 문자를 대체하는 두 가지 방법 인 내부 JavaScript 코드와 웹 페이지의 내부 HTML을 탐색합니다. JavaScript 코드 내부의 문자열을 교체하십시오 가장 직접적인 방법은 대체 () 메소드를 사용하는 것입니다. str = str.replace ( "find", "replace"); 이 메소드는 첫 번째 일치 만 대체합니다. 모든 경기를 교체하려면 정규 표현식을 사용하고 전역 플래그 g를 추가하십시오. str = str.replace (/fi

기사는 JavaScript 라이브러리 작성, 게시 및 유지 관리, 계획, 개발, 테스트, 문서 및 홍보 전략에 중점을 둡니다.

이 기사는 브라우저에서 JavaScript 성능을 최적화하기위한 전략에 대해 설명하고 실행 시간을 줄이고 페이지로드 속도에 미치는 영향을 최소화하는 데 중점을 둡니다.

프론트 엔드 개발시 프론트 엔드 열지대 티켓 인쇄를위한 자주 묻는 질문과 솔루션, 티켓 인쇄는 일반적인 요구 사항입니다. 그러나 많은 개발자들이 구현하고 있습니다 ...

이 기사는 브라우저 개발자 도구를 사용하여 효과적인 JavaScript 디버깅, 중단 점 설정, 콘솔 사용 및 성능 분석에 중점을 둡니다.

이 기사는 스크립트의 성능을 크게 향상시키기위한 10 가지 간단한 단계를 간략하게 설명합니다. 이러한 기술은 간단하고 모든 기술 수준에 적용 할 수 있습니다. 계속 업데이트 : Vite와 같은 번들과 함께 NPM과 같은 패키지 관리자를 활용하여

속편은 약속 기반 Node.js ORM입니다. PostgreSQL, MySQL, MariaDB, Sqlite 및 MSSQL과 함께 사용할 수 있습니다. 이 튜토리얼에서는 웹 앱 사용자를위한 인증을 구현할 것입니다. 그리고 우리는 인기 인증 중간 인 여권을 사용할 것입니다

이 기사에서는 jQuery 라이브러리를 사용하여 간단한 사진 회전 목마를 만들도록 안내합니다. jQuery를 기반으로 구축 된 BXSLIDER 라이브러리를 사용하고 회전 목마를 설정하기위한 많은 구성 옵션을 제공합니다. 요즘 그림 회전 목마는 웹 사이트에서 필수 기능이되었습니다. 한 사진은 천 단어보다 낫습니다! 그림 회전 목마를 사용하기로 결정한 후 다음 질문은 그것을 만드는 방법입니다. 먼저 고품질 고해상도 사진을 수집해야합니다. 다음으로 HTML과 일부 JavaScript 코드를 사용하여 사진 회전 목마를 만들어야합니다. 웹에는 다양한 방식으로 회전 목마를 만드는 데 도움이되는 라이브러리가 많이 있습니다. 오픈 소스 BXSLIDER 라이브러리를 사용할 것입니다. BXSLIDER 라이브러리는 반응 형 디자인을 지원 하므로이 라이브러리로 제작 된 회전 목마는
