> 백엔드 개발 > C++ > 회문을 형성하기 위한 최소 삽입 수를 찾는 C 프로그램

회문을 형성하기 위한 최소 삽입 수를 찾는 C 프로그램

WBOY
풀어 주다: 2023-09-05 17:13:05
앞으로
1355명이 탐색했습니다.

회문을 형성하기 위한 최소 삽입 수를 찾는 C 프로그램

회문은 반전과 동일한 문자열입니다. 문자열이 주어지면 문자열을 회문으로 만드는 데 필요한 삽입된 임의 문자의 최소 개수를 찾아야 합니다. 세 가지 접근 방식을 살펴보겠습니다. 먼저 재귀 접근 방식, 그 다음 이 솔루션을 메모하고 마지막으로 동적 프로그래밍 접근 방식을 구현합니다.

재귀적 방법

으아악

출력

으아악

시간과 공간의 복잡성

위 코드의 시간 복잡도는 O(2^N)입니다. 삽입할 때마다 선택을 하기 때문입니다. 여기서 N은 주어진 문자열의 크기입니다.

위 코드의 공간 복잡도는 O(N), 즉 재귀 호출에 사용되는 경우입니다.

메모리 방식

으아악

출력

으아악

시간과 공간의 복잡성

위 코드의 시간 복잡도는 이미 계산된 결과를 저장하기 때문에 O(N^2)입니다.

위 코드의 공간 복잡도는 여기서 추가 공간을 사용하고 있기 때문에 O(N^2)입니다.

동적 프로그래밍 방법

으아악

출력

으아악

시간과 공간의 복잡성

여기서는 중첩된 for 루프를 사용하기 때문에 위 코드의 시간 복잡도는 O(N^2)입니다.

위 코드의 공간 복잡도는 여기서 추가 공간을 사용하고 있기 때문에 O(N^2)입니다.

결론

이 튜토리얼에서는 주어진 문자열을 회문으로 만드는 데 필요한 최소 삽입 수를 찾는 세 가지 방법을 구현했습니다. 재귀적 방법을 구현한 후 이를 메모해 두었습니다. 마지막으로 테이블 형식 방법 또는 동적 프로그래밍 방법을 구현했습니다.

위 내용은 회문을 형성하기 위한 최소 삽입 수를 찾는 C 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿