본문 바로가기

문제2

algorithms/자료구조 & 알고리즘에 대하여 자료구조? 자료구조=데이터 구조=data structure 자료구조란, 현실 세계의 정보를 디지털 형태(데이터)로 저장 및 관리할 수 있게 하는 데이터 구조다. 특히, 적절한 자료구조를 이용해 대량의 데이터를 효율적으로 관리할 수 있다. 효율적인 데이터 처리를 위해서는 데이터가 가진 특성이 무엇이냐에 따라 어떤 데이터 구조를 사용할 것인지가 결정된다. 적절한 데이터 구조를 사용할수록 효율적인 코드가 된다. 데이터를 관리하는 대표적인 예로는 백과사전, 그리고 주민등록번호가 있다. 백과사전은 알파벳의 순서대로 지식들이 나열된 커다란 자료구조라고 볼 수 있다. 또한, 대한민국 국적을 가진 모든 성인남녀의 신원이 명확히 구분하기 위해 도입된 주민등록제도에 따라, 한국인은 모두 앞 6자리와 함께 추가적으로 7자리.. 2019. 12. 30.
algorithms/알고리즘이란? 알고리즘이란, 컴퓨터가 어떤 문제를 해결하기 위한 자세한 방법이다. 따라서 컴퓨터가 이해할 수 있는 방식으로 정리되어 있는 해결 방법으로 기술되어야 한다. 같은 문제를 해결하기 위해서도 다양한 알고리즘이 존재할 수 있다. 그렇다면 다양한 알고리즘 중에 좋은 알고리즘이란 무엇일까? 좋은 알고리즘은 두 가지 조건을 충족시켜야 한다. 문제를 해결하는 것 문제를 더 잘 해결하는 것 알고리즘 프로그래밍 언어를 이용하여 구현된다. 그래서 프로그래밍과 알고리즘은 뗄래야 뗄 수 없는 관계다. 유능한 개발자들의 대부분은 알고리즘적 사고력을 갖추고 있고, 대표적인 알고리즘 정도는 꿰고 있다. 개발자가 되면 이런 식의 대화가 오간다: "여기서는 BFS 알고리즘이 적합하다." "Divide and Conquer 방식으로 접근.. 2019. 12. 30.