공부기록/Algorithm

BFS, DFS 문제를 풀 때 변수명을 x, y로 적고, 주어진 입력값에서부터 가로/세로를 따로 변수에 넣어주는 문제를 풀다가 놓쳐서 필요 없는 삽질을 했다. x, y 방식은 가로축인 x가 선행하는데, 실제 코드상으론 2차원 리스트의 세로, 즉 y축이 선행하기 때문이다. 알고리즘 테스트를 준비할 때에는 후자로 통일해서 이렇게 생각하기로 했다: arr[y][x]  이 포스트에 앞으로 관련 문제 혹은 혼동으로 오답을 볼 때마다 하나씩 추가해볼까 싶다... arr[y][x] 문제 리스트프로그래머스게임 맵 최단거리: https://school.programmers.co.kr/learn/courses/30/lessons/1844
재귀 : Recursion 자기자신을 직간접적으 호출하는 함수 호출 큰 문제를 작게 나누어 사용하기 위해 사용함. 사용방법 재귀를 멈추는 조건이 필요하다. 이미 알고 있는 정보(base case)에 도달한다면 재귀를 멈추어야 한다. 만약 아직 도달하지 못했다면 다시 호출한다. call stack 지역변수와 매개변수는 새로 자기 자신을 호출할 때마다 전달되고 함수의 상태는 stack memory에 저장된다. 따라서 모든 재귀는 stack에 일정한 메모리를 소모하고, 만약 재귀가 stack에 할당된 메모리를 소모할 만큼 많이 불린다면 stack overflow error가 발생한다. 반복 : Iteration for과 while을 사용하여 일련의 명령어 세트를 반복하는 루프 stack memory를 소모하지..
Linear / Non-Linear Data Structure 선형 자료 구조와 비선형 자료 구조에 대해 설명해주세요. 선형 자료 구조는 데이터 요소들이 순차적으로 일렬로 나열된 자료 구조입니다. 하나의 요소는 하나의 이전 요소와 다음 요소와 연결되어 있습니다. 시작 요소부터 순차적으로 접근이 가능합니다. 대표적인 예로는 배열, 연결 리스트, 스택, 그리고 큐가 있습니다. 구현이 간단하고 직관적이라는 특징이 있습니다. 비선형 자료 구조는 요소들이 계층적/네트워크 형태로 연결된 자료 구조입니다. 하나의 요소는 여러 개의 다른 요소와 관계를 가질 수 있기에 복잡한 관계를 표현할 수 있습니다. 데이터 저장 방법 또한 다양합니다. 비선형 자료 구조의 예시로는 해시 테이블, 그래프, 그리고 트리가 있습니다. 더 ..
J융
'공부기록/Algorithm' 카테고리의 글 목록