정렬된 원소 리스트를 받고 리스트에 원하는 원소가 있으면 그 원소의 위치를 반환하고, 아니면 null 값을 반환한다.단순 탐색은 1,2,3,... 차례로 답을 말하는 거지만 이진 탐색은 1~100사이의 중간인 50 부터 시작하여 50이 작다고 대답하면 51~100사이의
배열과 연결 리스트 생활속에서 예시를 들어보면 3명의 친구와 영화티켓을 예매했는데 중간에 2명의 친구가 추가 되었지만 나란히 앉을수 없어 다시 예약을 했다. 또 얼마 지나 1명이 추가 되어 총6명이 앉을수 있는 좌석을 예매 했다. 이런식으로 매번 친구(원소)가 추가될때
배열 안에 원하는 값을 찾기 위해서 사용하는 방법이 두가지가 있는데 하나는 반복문을 사용하는것과 나머지 하나는 재귀를 사용하는 것이다.재귀란?함수가 자기 자신을 호출하는 것.재귀를 쓴다고 해서 성능이 더 나아지는건 아니다. 재귀를 사용하면 프로그래머의 능력을 향상시킬수
재귀적 기술중 하나 이다.분할 정복 젼략선택 정렬보다 빠르고 실제로 자주 사용된다.기준 원소를 고른다(배열에서 고른 원소 하나)배열을 기준 원소보다 작은 원소의 배열과 기준 원소보다 큰 원소의 배열, 이렇게 두개의 하위 배열로 분할 한다.하위 배열에 대해 재귀 적으로
해시 함수 해시함수는 문자열을 받아서 숫자를 반환 하는 함수이다. (문자열에 대해 숫자를 할당 한다.) 해시 함수의 요건 일관성이 있어야 한다 예를 들어 'apple'을 넣었을 때 '4'를 반환한다면 'apple'을 넣을 때마다 반환되는 값은 항상 '4'이어야 한다
그래프 그래프란 연결의 집합을 모형화 한 것이다. 그래프는 정점(node) 과 간선(edge)로 이루어져 있는데, 정점은 여러 개의 다른 정점과 바로 이어질 수 있다. 이렇게 바로 이어진 정점을 이웃이라고 한다. 그래서 2는 1의 이웃이다. 너비 우선 탐색 최단 경
다익스트라 알고리즘 A -> B 로 가는 경로를 구해야 할경우 너비 우선 탐색은 최단거리를 구하고 다익스트라 알고리즘은 최단 시간 경로를 구하는 것이다. 다익스트라의 단계 가장 가깝거나/짧은 곳 즉 도달하는데 가장 적게 걸리는 정점을 찾는다 이 정점의 이웃 정점에