본문 바로가기

알고리즘19

[알고리즘] 이진검색 이진 검색 알고리즘(binary search algorithm)이란 오름차순으로 정렬된 리스트에서 특정한 값의 위치를 찾는 알고리즘이다. 처음 중간의 값을 임의의 값으로 선택하여, 그 값과 찾고자 하는 값의 크고 작음을 비교하는 방식을 채택하고 있다. 처음 선택한 중앙값이 만약 찾는 값보다 크면 그 값은 새로운 최댓값이 되며, 작으면 그 값은 새로운 최솟값이 된다. 검색 원리상 정렬된 리스트에만 사용할 수 있다는 단점이 있지만, 검색이 반복될 때마다 목표값을 찾을 확률은 두 배가 되므로 속도가 빠르다는 장점이 있다. (위키백과 출처) 이진 검색은 검색을 반복할때마다 검색 범위가 반으로 줄어서 검색에 필요한 평균 횟수는 log n 입니다. 이진 검색은 정렬이 되어 있음을 가정합니다. import java... 2020. 4. 26.
[알고리즘] 선형검색 선형검색은 배열에서 검색하는 방법 가운데 가장 기본적인 알고리즘입니다. 선형 검색은 데이터가 모인 집합의 처음부터 끝까지 하나씩 순서대로 비교하며 원하는 값을 갖는 요소를 만날때까지 검색하는 알고리즘 입니다. using System; using System.Diagnostics; using System.Text; namespace ConsoleApp4 { class Program { public static int[,] mdays =new int[,] { { 31,28,31,30,31,30,31,31,30,31,30,31}, //평년 { 31,29,31,30,31,30,31,31,30,31,30,31} //윤년 }; //해당 년도는 윤년인가?(윤년 true / 평년 false) static int isL.. 2020. 4. 13.
[알고리즘] 2차원 배열을 이용하여 해당 년도의 월 일을 입력하면 해당년도부터 며칠 째인지 알려주는 프로그램 2차원 배열을 이용하여 해당 년도의 월 일을 입력하면 해당년도부터 며칠 째인지 알려주는 프로그램 using System; using System.Diagnostics; using System.Text; namespace ConsoleApp4 { class Program { public static int[,] mdays =new int[,] { { 31,28,31,30,31,30,31,31,30,31,30,31}, //평년 { 31,29,31,30,31,30,31,31,30,31,30,31} //윤년 }; //해당 년도는 윤년인가?(윤년 true / 평년 false) static int isLeap(int year) { return (year % 4 == 0 && year % 100 != 0 || yea.. 2020. 4. 12.
반응형