개발일지/컴퓨터지식

완전 탐색 알고리즘 (Brute-Force Algorithm)

2022. 10. 1. 18:20
목차
  1. Brute Force Algorithm의 의미
  2. Brute Force Algorithm이 사용될 때
  3. 어디서 사용할까?
728x90
모든 값을 대입하는 방법

 

컴퓨터 과학에서 Brute Force는 시행착오 방법론을 말한다

암호학에서는 Brute Force Attack이라고 한다

이는 특정한 암호를 풀기 위해서 모든 값을 대입하는 방법을 말한다

 

쉽게 말해, 암호를 모르는 0-9 사이의 4자리 숫자로 된 자물쇠가 있다고 했을 때, 이 자물쇠의 비밀번호를 풀기 위해서 0000부터 9999까지의 모든 경우의 수를 대입하여 푸는 방법이다

 

Brute Force Algorithm의 의미

무차별 대입 방법을 나타내는 알고리즘

순수한 컴퓨팅 성능에 의존하여 모든 가능성을 시도

공간 복잡도와 시간 복잡도의 요소를 고려하지 않고 최악의 시나리오를 취하더라도 솔루션을 찾으려고 하는 방법

 

Brute Force Algorithm이 사용될 때

  • 프로세스 속도를 높이는데 사용할 수 있는 다른 알고리즘이 없을 때
  • 문제를 해결하는 여러 솔루션이 있고 각 설루션을 확인해야 할 때

데이터 범위가 커질수록 비효율적이다

프로젝트의 규모가 커진다면 더 효율적인 알고리즘을 사용하자

 

어디서 사용할까?

  • 순차 검색 알고리즘 (Sequential Search) : 배열 안에 특정 값이 존재하는지 검색할 때 인덱스 0부터 마지막 인덱스까지 차례대로 검색
  • 문자열 매칭 알고리즘 (Brute-Force String Matching) : 길이가 n인 전체 문자열과 길이가 m인 문자열 패턴을 포함하는지를 검색
  • 선택 정렬 알고리즘 (Selection Sort) : 전체 배열을 검색하여 현재 요소와 비교하고 컬렉션이 완전히 정렬될 때까지 오름차순 또는 내림차순에 따라 교환하는 정렬 알고리즘
  • 등
728x90
저작자표시 비영리 변경금지 (새창열림)

'개발일지 > 컴퓨터지식' 카테고리의 다른 글

애플리케이션 ? 웹 애플리케이션 ?  (0) 2022.10.01
이진 탐색 알고리즘 (Binary Search Algorithm)  (2) 2022.10.01
탐욕 알고리즘(Greedy Algorithm)  (0) 2022.09.29
시간 복잡도 Big-O  (0) 2022.09.28
자료구조 Deque  (0) 2022.09.28
  1. Brute Force Algorithm의 의미
  2. Brute Force Algorithm이 사용될 때
  3. 어디서 사용할까?
'개발일지/컴퓨터지식' 카테고리의 다른 글
  • 애플리케이션 ? 웹 애플리케이션 ?
  • 이진 탐색 알고리즘 (Binary Search Algorithm)
  • 탐욕 알고리즘(Greedy Algorithm)
  • 시간 복잡도 Big-O
E-room
E-room
나의 성취 기록들
E-room
E-room Achievement Logs
E-room
전체
오늘
어제
  • 분류 전체보기
    • 개발일지
      • 돌픽
      • Spring
      • Algorithm
      • Java
      • Node.js
      • Python
      • DataBase
      • 웹개발
      • JavaScript
      • 컴퓨터지식
      • Django
    • 이것저것
    • 피드백 감사히 받겠습니다

블로그 메뉴

  • 태그
  • Github
  • 돌픽-이상형월드컵

인기 글

최근 글

최근 댓글

태그

  • 완전탐색
  • algorithm
  • 백준
  • Django
  • 다이나믹
  • boot
  • 순열
  • SQL
  • 조합
  • Java
  • Spring
  • 탐색
  • 재귀
  • 스파르타코딩클럽
  • 자바
  • API
  • javascript
  • dp
  • python
  • mysql
  • 수열
  • 백트래킹
  • dfs
  • 알고리즘
  • search
  • 프로그래밍
  • 자료구조
  • JPA
  • 생활코딩
  • 파이썬

공지사항

hELLO · Designed By 정상우.
E-room
완전 탐색 알고리즘 (Brute-Force Algorithm)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.