본문 바로가기

자료구조

(2)
소프트웨어 생명 주기 소프트웨어를 단순히 컴퓨터 프로그램이라고 생각하는 경우가 많은데 소프트웨어는 프로그램의 개발과 운영 및 유지 보수에 관련된 모든 정보와 작업을 포함한다. 소프트웨어나 프로그램의 개발 프로젝트에서 원하는 결과물을 얻었다고 해서 프로젝트가 성공했다고 할 수는 없다. 결과물의 출력은 물론, 얼마나 정확하고 효율적으로 개발 및 사용, 관리가 이루어질 수 있는가 하는 것도 중요하다. 이는 더 나은 삶의 질을 추구하는 현대인의 생활 방식과도 유사하다. 정확하고 효율적인 소프트웨어를 개발하기 위해서는 개발할 소프트웨어를 정확히 이해하고, 사용할 자료와 자료 간의 연산 관계를 분석하여 자료구조를 정의하고, 이에 대한 가장 효율적인 구조를 고려해야 한다. 결국 자료구조에 대한 이론적, 실제적 고려가 없다면 좋은 소프트웨..
자료구조란 우리는 인터넷, TV, 책 등 매일 엄청난 양의 자료 속에서 살아가고 있다. 사회가 정보화 다양화 될수록 우리가 사용할 수 있는 자료 또한 더욱 풍부해지고 다양해진다. 정보의 홍수라고 할 만큼 자료가 방대한 지금은 얼마나 많은 자료를 가지고 있느냐 보다는 가지고 있는 자료를 얼마나 효울적으로 사용하느냐가 중요한 시대가 되었다.예를 들어, 문구점에서 필기구를 진열하는 방법을 살펴보자. 종류와 색상에 관계없이 판매하는 모든 종류의 필기구르 같은 상자 안에 넣어둘 수도 있고, 종류별 색상별로 분류해서 진열 할 수도 있다. 원하는 필기구를 찾을 때 어떤 방법이 더 효과적일까? 단순하게 생각해봐도 종류별 색상별로 분류하는 방법이 더 효과적이다. 이와 마찬가지로 자료를 효율적으로 표현한고 저장, 처리하기 위해 정리..