주의 사항! 이 글은 제가 직접 공부하는 중에 작성되고 있습니다. 따라서 제가 이해하는 그대로의 내용이 포함됩니다. 따라서 이 글은 사실과는 다른 내용이 포함될 수 있습니다. 들어가기 전... 자바를 배우고 있는데 사실 제가 공부하고 있는 책의 초반 내용은 C나 C++를 배우면서 이미 알고 있는 내용을 다루고 있어서 '이런 내용을 굳이 정독하면서 여기에 기록을 해야 할까?' 하고 생각했습니다. 그래도 이런 내용을 그냥 건너뛰기에는 제 성격상 맞지 않아서 한 번 정독이나 하고 가자고 생각했는데 보다 보니 뭔가 약간씩의 다른 점이 눈에 보여서 그냥 차근차근 기록해 가기로 했습니다. 이런 것도 기록해두면 나중에 다 쓰일 데가 있겠죠 변숫값 저장 변수에 값을 저장할 때는 대입 연산자(=)를 사용합니다. 변수를 ..
자바 개발 환경으로 무엇이 좋을지 여럿 찾아본 결과, Eclipse가 가장 적합하다고 생각했습니다. 따라서 Eclipse를 설치하도록 하겠습니다. 먼저 아래의 링크를 통해, 이클립스 사이트에 접속합니다. https://www.eclipse.org/ The Community for Open Innovation and Collaboration | The Eclipse Foundation The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 375 open source projects, including runtimes, tools and frameworks. www.eclipse.org 그리고 사이트 ..
오늘부터 자바 공부를 시작합니다. 이번 시간에는 자바 개발 환경을 구축해 보겠습니다. 우선은 아래의 링크를 클릭해서 오라클 사이트에 접속합니다. https://www.oracle.com/index.html 링크를 타면 위와 같은 사이트에 접속할 수 있습니다. 상단의 메뉴에서 'Product'를 클릭합니다. 메뉴바가 내려오면 'Java'를 클릭합니다. 'Java'를 클릭하면 위와 같은 페이지가 뜹니다. 여기서, 'Download Java'를 클릭합니다. 'Download Java'를 클릭하면 위와 같은 페이지가 뜰 겁니다. 여기서, 'JDK Download'를 클릭합니다. 그리고 스크롤을 조금 내리면 다음과 같이 운영체제에 따라 정리되어 있는 설치 파일들이 보일 겁니다. 자신의 운영체제에 맞게 선택해서 클..
주의 사항! 이 글은 제가 직접 공부하는 중에 작성되고 있습니다. 따라서 제가 이해하는 그대로의 내용이 포함됩니다. 따라서 이 글은 사실과는 다른 내용이 포함될 수 있습니다. 사실 트리는 그래프의 한 유형입니다. 다음 그래프를 보겠습니다. 위 그래프의 정점 A로부터 D로 가는 경로들을 찾아보면 다음과 같이 찾을 수 있습니다. A - B - D A - C - D A - B - C - D A - C - B - D 이렇듯 두 개의 정점을 잇는 간선을 순서대로 나열한 것을 가리켜 '경로'라고 합니다. 그리고 위의 네 경로와 같이 동일한 간선을 중복하여 포함하지 않는 경로를 가리켜 '단순 경로'라고 합니다. 정점 A에서 D로 이르는, 단순 경로가 아닌 경로를 찾으면 다음과 같은 경로를 찾을 수 있습니다. A - ..
주의 사항! 이 글은 제가 직접 공부하는 중에 작성되고 있습니다. 따라서 제가 이해하는 그대로의 내용이 포함됩니다. 따라서 이 글은 사실과는 다른 내용이 포함될 수 있습니다. 이제 너비 우선 탐색 방법인 BFS를 구현해 볼 차례입니다. BFS의 구현을 위해서는 큐와 배열이 필요합니다. 배열은 DFS와 마찬가지로 각 정점에 방문한 정보를 기록하기 위해 사용됩니다. 그리고 DFS의 스택이 떠나온 정점을 저장하기 위해 사용됐다면, BFS에서 큐는 새로 방문한 정점들을 저장하기 위해 사용됩니다. DFS의 구현 방법을 설명할 때 사용한 것과 같은 그래프입니다. 이번에도 지율을 시작으로 모든 정점들을 방문할 것입니다. 지율이 시작 정점이므로 방문 기록을 남깁니다. 지율은 동수와 민석 모두에게 연락합니다. 다만, 동..
주의 사항! 이 글은 제가 직접 공부하는 중에 작성되고 있습니다. 따라서 제가 이해하는 그대로의 내용이 포함됩니다. 따라서 이 글은 사실과는 다른 내용이 포함될 수 있습니다. DFS가 한 사람에게 연락을 취하는 방식이라면, BFS는 자신에게 연결된 모든 사람에게 연락을 취하는 방식입니다. 다음과 같은 그래프에서, 지율에게 비상 메시지가 도착했고, 지율로부터 시작해서 모두에게 비상 메시지를 전달해야 합니다. 이번에는 DFS와는 달리, 지율이 연락할 수 있는 모든 사람들에게 연락합니다. 그리고 동수와 민석도 각각 자신이 연락할 수 있는 모든 사람들에게 연락합니다. 다만 순서를 임의로 정했습니다. 동수와 민석이가 동시에 연락을 하지 않게 하기 위해 동수가 먼저 연락 가능한 모든 사람들에게 연락하고 이어서 민석..