Algoritm에 대해 학습하며, Java를 통해 구현해봅니다.
이 포스팅은 BOJ(Beakjoon Online Judge)의 @jh05013 님 께서 관리하고 계신
단계별로 풀어보기를 기준으로 작성됩니다.
이 포스팅이 올라가는 저장소 : https://github.com/hwk0911
혹시 이 포스팅을 보고 알고리즘 공부를 시작하시거나, 복습하시는 분들은
노트와 펜을 준비하시고 직접 그려보면서 하시면 좋습니다.
시작하기를 Java Tutorials 끝나면 바로 올려야지! 하고 생각을 했지만,
의욕이 앞서 병행해서 포스팅한다.
나를 비롯한 미래의 개발자들에게 도움이 되었으면 좋겠다.
우선 알고리즘이란 단어를 자주 들어본 사람도 있고, 생소한 사람도 있을 것이다.
알고리즘의 유래 및 간단한 정의 (알기 쉬운 알고리즘 책 일부 인용)
알고리즘이란 용어는 9세기경 페르시아 수학자인 알 콰리즈미(al-Khwarizmi)의 이름으로부터 유래되었다.
알고리즘은 문제를 해결하기 위한 단계적인 절차를 의미한다.
흔히 알고리즘은 요리법과 유사하다고 한다. 단계적인 절차를 따라 하면 요리가 만들어지듯이, 알고리즘도
단계적인 절차를 따라 하면 주어진 문제의 답을 주기 때문이다.
꼭 수학이나, 컴퓨터 프로그래밍의 문제를 해결하는 것만 알고리즘을 요구하는 것은 아니다.
실 생활에 적용하여 문제를 해결하는 방법에 응용하여보자.
Data_Structure의 간단한 정의 (출처 : 위키백과)
자료구조(資料構造, 영어: data structure)는 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미한다. 더 정확히 말해, 자료 구조는 데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미한다. 신중히 선택한 자료구조는 보다 효율적인 알고리즘을 사용할 수 있게 한다. 이러한 자료구조의 선택 문제는 대개 추상 자료형의 선택으로부터 시작하는 경우가 많다. 효과적으로 설계된 자료구조는 실행시간 혹은 메모리 용량과 같은 자원을 최소한으로 사용하면서 연산을 수행하도록 해준다.
더 나은 개발자, 그리고 알고리즘의 효율적인 사용을 위해 필수적으로 알아야 한다.
단계별로 풀어보기의 문법 사용법은 Java Tutorials에서 서술합니다.
자료구조 - 선형 구조: 링크드 리스트 (0) | 2021.03.20 |
---|---|
자료구조 - 선형 구조: 배열 (0) | 2021.03.20 |
자료구조 - 선형 구조 : 데크 (혹은 디큐, 데큐) (0) | 2020.03.03 |
자료구조 - 선형 구조 : 큐 (0) | 2020.02.29 |
자료구조 - 선형구조 : 스택 (0) | 2020.02.22 |