본문 바로가기

알고리즘2

완전 탐색 완전 탐색이란? 여러 알고리즘 풀이에 쓰이는 방법, 쉽게 설명하면, 가능한 모든 경우의 수를 다 체크해서 정답을 찾는 방법입니다. 주로 이용되는 기법들은 다음과 같다. 단순, 비트마스크, 재귀함수, 순열, BFS/DFS 단순 for문, if문으로 모든 case를 만들어 답을 구한다. 비트마스크 2진수를 이용, 비트 연산(AND, OR, NOT, XOR, shift)을 통해서 부분집합을 표현하는 방법 재귀함수 단순 박복문이 아님, 자기 자신을 호출함으로써 다음 숫자를 선택할 수 있도록 이동시킨다. 순열 대표적 유형, n개의 원소 중 r개의 원소를 중복 허용 없이 나열하는 방법 BFS/DFS 그래프 자료 구조에서 쓰인다. 2022. 1. 12.
#1 Linked List 1. Linked List 주 사용 : 일렬로 연결된 데이터를 저장할 때 사용된다. Linked List는 다음 데이터의 주소를 가지고 있다. 2. Linked List와 배열의 차이 배열의 경우 배열은 크기를 정하면 다시 변경할 수 없다. Linked List의 경우 1. 중간 데이터 삽입 가능하다. (데이터 A 대신 데이터 D로 교체 가능하다.) 2. 링크를 뺄 수도 있다.(데이터 D를 뺄 수도 있다.) LinkedList에서 노드 D는 Linked List에서 삭제되었지만 메모리를 차지하고 있다. 자바에서는 이렇게 안 쓰이는 변수를 처리해준다. ( 알아서 처리해줌) c/c++ 경우에는 안 쓰겠다고 명시해야 한다. LinkedList는 주소를 일일이 찾아다녀야 해서 배열보다 속도가 느릴 수 있다. 하.. 2021. 7. 12.