[이코테] 꼭 필요한 자료구조 기초

2024. 4. 5. 23:51·코테

탐색

탐색이란 ? 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정.

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

대표적으로 DFS, BFS가 있음.

 

사전 지식: 스택, 큐, 재귀함수

 

자료구조

데이터를 표현하고 관리하고 처리하기 위한 구조. 다음의 두 핵심 함수로 구성

삽입(Push): 데이터를 삽입

삭제(Pop) : 데이터를 삭제

  • 오버플로 : 데이터가 이미 가득찬 상태에서 삽입 시 발생
  • 언더플로 : 데이터가 없는 상태에서 삭제 시 발생

스택

박스 쌓기에 비유할 수 있음. (아래 -> 위로 쌓음)

아래에 있는 박스를 치우기 위해선 위에 있는 박스 먼저 내려야 함. = 후입선출

 

큐

대기 줄에 비유할 수 있음. (먼저 온 사람이 먼저 들어감) = 선입선출

 

재귀 함수

자기 자신을 다시 호출하는 함수.

def recursive_function():
	print('재귀 함수를 호출합니다')
    recursive_function()
    
recursive_function()

실행 시 '재귀 함수를 호출합니다'라는 문자열을 무한히 출력. 종료 조건을 반드시 명시해야 함.

재귀함수는 점화식과 매우 닮아있는 형태. 반복문을 이용하는 것과 비교했을 때 더욱 간결한 형태임을 이해할 수 있음.

'코테' 카테고리의 다른 글

[이코테] 탐색 알고리즘 DFS/BFS  (0) 2024.04.09
백준 18111번 : 마인크래프트  (0) 2024.04.07
백준 1195번 : 킥다운  (1) 2024.01.09
백준 1700번 : 멀티탭 스케쥴링  (0) 2024.01.06
백준 1339번 : 단어 수학  (3) 2023.12.24
'코테' 카테고리의 다른 글
  • [이코테] 탐색 알고리즘 DFS/BFS
  • 백준 18111번 : 마인크래프트
  • 백준 1195번 : 킥다운
  • 백준 1700번 : 멀티탭 스케쥴링
Developer03
Developer03
일학습병행제로 SI 기업에 앞으로 4년간 묶여버린 개발자입니다..
  • Developer03
    SI 개발자의 Job다한 이야기
    Developer03
  • 전체
    오늘
    어제
  • Github
    • 분류 전체보기 (39)
      • 일상 (3)
      • Back-End (1)
        • Spring (1)
        • JAVA (0)
        • DATABASE (0)
      • Front-End (1)
        • JSP (0)
        • JAVASCRIPT (1)
      • DEVOPS (2)
      • Data Analysis (1)
      • 강의 (0)
        • 스프링 입문 - 코드로 배우는 스프링 부트 (0)
      • 코테 (18)
      • 학교 (6)
        • 자료구조와 알고리즘 (6)
      • 프로젝트 (2)
      • 기타 (2)
      • 회사 (2)
        • 업무 (1)
        • 과제 (1)
      • 공기업 준비 (1)
        • 토익 (0)
        • NCS (0)
        • 전공필기 (0)
        • 면접 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 인기 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.1
Developer03
[이코테] 꼭 필요한 자료구조 기초
상단으로

티스토리툴바