/minecode-s_Algorithm

초보자를 위한 알고리즘, 자료구조 스터디

Primary LanguageJupyter NotebookMIT LicenseMIT

차례

Chapter Title
1 소개
2 알고리즘의 기본구조
3 반복하는 알고리즘

서문

이 repository에서는 알고리즘(algorithm)과 자료구조(Data Structure)에 대하여 함깨 서술한다. 프로그램이란 컴퓨터에게 일을 하라고 지시하는 명령의 모음이라고 비유할수 있다. 컴푸터는 그 프로그램의 명령에 따라 순서대로 일을 처리하는데, 이떄 효율적인 결과를 얻기 휘해 필요한것이 바로 알고리즘이다. '문제 해결 순서' 라는 의미가 달겨있는 알고리즘은 4차산업을 이끄는 한 축인 인공지능의 바탕이자 핵심 기술이다. 그리고 이러한 알고리즘을 구현하는데 뺴놓을 수 없는것이 바로 자료구조이다. 자료구조란 컴퓨터에 정보를 효율적으로 저장하고 관리하는 방법이다. 효율적인 자료구조를 선택하면 알고리즘의 성능도 향상된다. 이처럼 알고리즘과 자료구조는 상호 보완 관계에 있다. 즉 자료구조를 만드는 과정은 알고리즘으로 순서화되어 있으며 다시 이 자료구조를 가지고 효율적인 알고리즘을 구현한다. 이제 함꺠 이 흥미로운 분야에 대하여 알아보자.

사용하는 언어에 대햐여

알고리즘을 짜는데 가장 좋은 언어 하나를 꼽으라면 나는 c++이라고 말할것이다. c++은 속도도 무척 빠르고 메모리 최적화까기 볼수 있기 때문이다. 하지만 프로그래밍에 막 입문한 사람이라면 다소 어려운 언어이기 떄문에 이 repository에서 사용하는 언어는 대부분 Python 이 될 것이다. 파이썬의 특징은 가독성이 매우 좋고, 속도가 느린대신 영어와 비슷해서 초보자가 이해하지 제일 적합하다고 생각되기 떄문이다. 그러나 이 repository는 파이썬 문법을 따로 설명하지는 않는다. 파이썬의 문법이 아직까지 익숙하지 않은 사용자는 각종 책을 구입하여 공부하는것을 권장한다.

깃허브 버그에 대하여

이상하게도 .ipynb 확장자를 깃허브에서 볼떄 Sorry, something went wrong. Reload? 라는 메시지가 나온다. 만약 이 메시지가 나온다면 Reload 를 클릭해 다시 로드시킨다. 일반적인 경우라면 약 3번만에 로드가 정상적으로 된다.

참고 문헌

Do-it! 자료구조와 함깨 배우는 알고리즘 입문

wikipedia