[전자책] 그림으로 정리한 알고리즘과 자료구조 - 자바 + 파이썬
조민호 지음 / 정보문화사 / 2018년 10월
평점 :
장바구니담기


 알고리즘은 공대를 다니는 사람들이라면 중요한 영역입니다. 예전 정보처리기사 시험에서도 알고리즘 영역이 높은 배점으로 포함되어 있을 정도 입니다.
알고리즘은 주어진 문제를 해결하기 위한 절차로서, 정해진 입력에 정해진 출력이 나와야 하고, 무한히 반복되어서는 안됩니다.
알고리즘 종류에는 크게 4가지로 볼수 있습니다.
첫째 정렬 - 한 줄로 모여 있는 데이터를 오름차순이나 내림차순으로 배치하는 방법입니다.
예로 단순 정렬, 선택 정렬, 퀵 정렬 등이 있습니다.

둘째 검색 - 데이터 중에서 원하는 것을 찾아내는 방법입니다.
예로 순차 검색, 이진 검색 등이 있습니다.

셋째 문자열 패턴 매칭 - 주어진 문자열에서 지정한 문자열과 일치하는 부분을 찾아내는 방법입니다.
예로 문자열검색, KMP 검색, BM 검색 등이 있습니다.

넷째 계산 - 수학이나 공학의 문제 해결을 위한 방법입니다.
예로 최단 경로 찾기, 방정식 풀기 등이 있습니다.

알고리즘 표현방법에는 다양한 방식으로 표현 하고 있지만 가장 많이 사용하는 방법은 흐름도를 사용하는 것입니다. 즉 Flow Chart를 이용합니다.
주어진 과제의 수행을 위해 단위 작업을 어떻게 수행 할 것인지를 결정하는 과정입니다.
이 과정이 끝나면 코드로 변화해서 적용시키면 됩니다. 큰 규모의 프로그램은 구조화 단계를 거쳐서 구성됩니다.

알고리즘 구현하고 자세히 알기 위해서는 자료구조를 알아야 합니다.
자료구조는 컴퓨터가 다루어야 하는 자료가 많은 경우에, 이것을 다루는 방법으로 알고리즘을 구현하는 데 사용합니다.자료구조를 구현하는 방법에는 리스트와 연결 리스트가 있습니다.
리스트는 각 데이터를 연이어 저장하는 기술이고 연결 리스트는 각 데이터를 임의의 위치에 저장하고 서로를 연결하는 기술입니다.
자료구조 - 단순구조 - 2진수, 정수,실수, 문자, 문자열
           - 선형구조 - 리스트, 연결리스트, 데크,스택, 큐
    - 비선형구조 - 트리(일반트리, 이진트리), 그래프(방향그래프, 무방향 그래프)
    - 파일구조 - 순차파일, 색일파일, 직접파일

형태로 구성되어 있습니다.
알고리즘은 계속 진화하고 있습니다. 검색이나 정렬이 알고리즘에서 중요한 위치를 자치하던 시절도 있었지만, 이제는 검색이나 정렬은 어느 정도 최적회 된 분야라고 할 수 있습니다.
그래서 실제 컴퓨터 활용 단계에서 수행되어야 하는 작업에 대한 알고리즘이 중요해지고 그 예가 구글의 랭킹 알고리즘 입니다.
선택된 페이지를 대상으로 어떤 페이지가 고객의 요구에 더욱 부합하는 것인지 결정하는 랭킹 알고리즘이 뜨고 있습니다.
인공지능과 빅데이터 등 4차산업혁명의 키워드는 알고리즘 기반으로 돌아갑니다. 남들보다 앞서고 4차산업에 핵심이 되기 위해서 알고리즘에 대해 열심히 공부하고 익히는데 시간을 투자하여야 합니다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
l 공유하기 l 북마크하기찜하기 lthankstoThanksTo