본문 바로가기

알고리즘3

[알고리즘] 완전탐색 알고리즘 종류 및 공부법 완전탐색 알고리즘이란 모든 경우의 수를 고려하는 탐색 기법 완전탐색 알고리즘 종류 1. Brute-Force 가장 노가다적인 방법으로 for와 if문을 통해 모든 case를 만들어 답을 구현하는 형태이다. 코테에서는 나오지 않는다. 2. Bitmask bit 연산을 통해 계산하는 방법이다. 3. 재귀 함수 자기 자신을 호출하는 방법이다. 4. 순열 임의의 수열이 주어졌을때, 그것을 다른 순서로 연산하는 방법이다. 5. BFS / DFS BFS - 너비 우선 탐색 / DFS - 깊이 우선 탐색 2021. 9. 15.
[자료구조 기초] (1) 배열, Queue, Stack, Linked List 배열 - 같은 타입의 변수들로 이루어진 집합 - 같은 종류의 데이터를 효율적으로 관리하기 위해 사용 - index를 통해 빠른 접근 가능 (하지만 데이터 추가, 삭제가 어렵고 길이를 미리 지정해야함) Queue - 한쪽 끝에서는 삽입, 다른 한쪽 끝에서는 삭제 연산만 이루어지는 유한 순서 리스트 - 보통은 FIFO 형태 - 멀티 태스킹을 위한 프로세스 스케쥴링 방식을 구현하기 ㅜ이해 사용됨 import queue # 일반 Queue 만들기 data_queue = queue.Queue()# queue 지정 data_queue.put("1번째") # queue에 값 넣기 data_queue.get()# queue에서 값 빼기 # Priority Queue 만들기 data_priority_queue = que.. 2021. 5. 30.
개발자가 자료구조 및 알고리즘에 대해서 알아야 하는 이유 전공이 소프트웨어학과와 같은 컴퓨터공학 관련 학과라면 자료구조 및 알고리즘은 필수과목으로 꼭 수강을 해야만 했을 것이다. 산업공학과를 전공한 나는 3학년 1학기때 자료구조 및 알고리즘을 일주일 듣고 어려워서 포강했다. (IT업계로 오게될 줄 알았다면 죽이되던 밥이되던 들을껄 ^^.. ) 아무튼 자료구조 및 알고리즘에 대해서 알아보자면 자료구조 대량의 데이터를 효율적으로 관리할 수 있는 데이터의 구조다. 자료구조를 우리 실생활에서 사용한 예시를 살펴보자면, 학교에서는 전교생을 효율적으로 관리하기 위해서 모든 학생에게 번호를 부여한다. (고등학교 3학년 3반 14번 김00) 알고리즘 어떤 문제를 풀기 위한 절차와 방법이다. 우리가 프로그래밍을 하는 이유는 어떤 문제를 해결하기 위해서다. 입력값이 존재하면 항.. 2021. 5. 3.