010.10 b
Description: There is very very important selecting proper datastructure for solving problem. So this page some famous basic Datastructures and think about how to choose it.
#000#IT_Knowledge#010#Develop_Knowledge#010.10#Data_Structure_and_Algorithm#010.10 b#Datastructure_overview
적절한 데이터 구조 선정은 문제를 해결하는데 매우매우 큰 도움을 준다. 적절한 데이터를 선정하는 것만으로도 성능이 올라가고 유지관리가 쉬워지는 마법같은 일어나기 때문이다.
실제 예를 들자면 이 웹블로그이다. 어떻게 각 페이지를 구분하고자동으로처리하고 분류하고를계속 시도하다가 실패하였다. 너무많은 예외케이스가 생기고 없는데이터를 참조하려는등 문제가 생겼기때문. 하지만 데이터구조를 명확한 이름으로 잡아서 이에대한 룰이 만들어지고 프로그램이 동작하기 시작했다. 이렇듯 데이터구조는 우리의 문제를 해결하는데 매우 중요한 역할을한다
다음은 대표적인 데이터 구조들의 특징이다
가장 중요한 것은...
데이터구조가 이런게 있고 하지만 제일 중요한 것은 어떤 문제에 어떤 데이터구조를 사용할지 명확히 아는 것.
예를들어 위의 표를 다외운다고해서, 끝나는게 아니다. 내가 처리해야하는 문제가 예를들어 특정 주제에 가장 가까운 유사 컨텐츠를 추천해준다고했을때, 연결성을 생각하고 검색을 생각하여 graph로 만든 후 접근해야겠다! 이런 흐름이 중요하다는 소리이다.
그리고 구현해보면 알겠지만 대부분 많은 데이터구조를 한번에 사용한다. 어떤 함수는 배열, 어떤 함수는 스택. 그리고 어떤 배열에서는 2차원, 어떤 배열에서는 1차원 심지더 배열에서 각 원소는 다른 데이터구조라던가도 필요에 따라 가능하다.
즉 가장 중요한 것은 많이 해결에보고 시간복잡도, 운영 복잡성, 확장성 생각해서 겪어 보면서 성장하는 것이 필요한 영역이다.