KWiOS
KWiOS0101
KWiOS
  • 분류 전체보기 (108)
    • Algorithm (41)
      • 이코테 (14)
      • 이코테 문제풀이 (21)
      • 프로그래머스 (6)
    • CS (1)
      • 모두를 위한 컴퓨터 과학(CS50 2019) (0)
    • iOS (15)
    • Swift (36)
      • Swift문법 (32)
      • 기타 (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 6

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
KWiOS

KWiOS0101

탐색/자료구조
Algorithm/이코테

탐색/자료구조

2022. 6. 18. 01:03
본 내용은 '이것이 취업을 위한 코딩테스트다 with 파이썬' 책을 기반으로 포스팅 하였습니다.

 

탐색이란?

많은 양의 데이터 중에서 원하는 데이터를 찾는 과정이다.

프로그래밍에서는 그래프, 트리 등의 자료구조 안에서 탐색을 하는 문제를 자주 다룬다.

 

대표적인 탐색 알고리즘 2가지

  1. DFS - 깊이 우선 탐색 (그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘)
  2. BFS - 너비 우선 탐색 (가까운 노드부터 탐색하는 알고리즘)
위 두가지 알고리즘을 이해하려면 기본 자료구조인 스택과 큐에 대한 이해가 전제되어야 한다.

 

자료구조란?

데이터를 표현하고 관리하고 처리하기 위한 구조를 의미한다.

그중 스택과 큐는 자료구조의 기초 개념으로 다음 두 핵심적인 함수로 구성된다.

  1. 삽입 - 데이터를 삽입한다.
  2. 삭제 - 데이터를 삭제한다.
단, 실제로 스택과 큐를 사용할 때는 삽입과 삭제 외에도 오버플로와 언더플로를 고민해야한다.

 

오버플로우란? 

특정한 자료구조가 수용할 수 있는 데이터의 크기를 이미 가득 찬 상태에서 삽입 연산을 수행할 때 발생한다.

즉, 저장 공간을 벗어나 데이터가 넘쳐흐를 때 발생한다.

 

언더플로우란?

반대로 특정 자료구조에 데이터가 전혀 들어 있지 않은 상태에서 삭제 연산을 수행할 때 발생한다

즉, 데이터가 전혀 없는 상태일때 발생한다.

 

 

'Algorithm > 이코테' 카테고리의 다른 글

그래프  (0) 2022.06.18
재귀함수  (0) 2022.06.18
스택/큐  (0) 2022.06.18
구현 알고리즘  (0) 2022.06.10
그리디 알고리즘  (0) 2022.06.09
    'Algorithm/이코테' 카테고리의 다른 글
    • 재귀함수
    • 스택/큐
    • 구현 알고리즘
    • 그리디 알고리즘
    KWiOS
    KWiOS

    티스토리툴바