컴퓨터 기초/알고리즘&자료구조
-
알고리즘 - 선형탐색, 이진탐색컴퓨터 기초/알고리즘&자료구조 2020. 6. 26. 01:34
탐색이란? 특정 데이터의 모음에서 원하는 숫자를 찾아내는 것을 말한다. 탐색을 하는 알고리즘은 다양하게 있으며 그 중에서 현재 자료의 상태에 따라 가장 효율적인 알고리즘을 선택해서 사용할 수 있다. 선형 탐색 (linear search) inear는 직선모양의란 뜻을 가진 단어로서 순차 검색 (sequential search)이라고도 불리는 선형탐색은 원하는 데이터가 발견될 때까지 처음부터 마지막 자료까지 차례대로 탐색하는 것을 말한다. 선형 탐색 알고리즘은 정확하지만 아주 효율적이지 못한 방법이다. 운이 좋으면 금방 찾을 수 있지만 운이 나쁘다면 원하는 값을 얻어내기까지 오랜 시간이 걸린다. 그리고 이러한 선형탐색의 한계를 느끼면 오히려 자료의 정렬 등이 왜 중요한지 알 수 있다. 다만 정렬이 되어있지..
-
알고리즘의 이해컴퓨터 기초/알고리즘&자료구조 2020. 6. 26. 01:11
알고리즘이란? 어떤 문제를 단계적으로 풀어가는 명령어의 집합. 즉 입력값을 출력값의 형태로 바꾸기 위해 어떤 명령들이 수행되어야 하는지에 대한 규칙들의 나열. 알고리즘의 중요한 두 가지 요소 정확성 알고리즘은 정확해야 함. 특히 컴퓨터가 알고리즘을 따르고자 할 때 정확하지 않으면 예상치 못한 버그가 발생할 수 있다. 효율성 알고리즘은 효율적이어야 함. 효율적이지 못한 알고리즘도 존재함. 알고리즘 없이 일을 처리하는 것에 비해 더 시간이 걸리는 알고리즘이라면 굳이 사용할 이유가 없음. 알고리즘은 가급적이면 자원을 효율적으로 쓸 수 있도록 설계되야 함. 같은 답을 내더라도 알고리즘의 순서나 구조에 따라서 답을 내는 속도 즉 효율성을 천차만별일 수 있다.