안녕하세요 

오늘의 이것저것입니다.

오늘은 프로그래밍을 하는 개발자들은 모두 알것입니다. 자료구조

과연 이 자료구조가 어떤 것인지에 대한 것인지 어떤 역할을 하는지를 알아보도록 하겠습니다.

 

 

자료구조

자료구조는 컴퓨터 과학에서 효율적ㅇ니 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미하며, 데이터값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미합니다.

쉽게 말해 데이터를 어떻게 저장하고 어떻게 꺼내는 것인가입니다.

자료구조를 신중하게 선택하면 보다 효율적인 알고리즘을 사용할 수 있게 합니다.

그리기에 자료구조는 필요한 알고리즘에 대해 논하는 기초이론, 혹은 과목이라 말하며, 컴퓨터 과학/공학에서 알고리즘과 함꼐 중용한 기초이론이라고 말합니다.

 

 

 

자료구조의 장단점

배열 : JS를 제외하고 메모리 사용이 비효율적이고 데이터 이동 및 재구성이 느린 반면에 접근성이 빠릅니다.

큐 : 계속 앞으로 나아가는 구성이기 떄문에 불필요한 데이터 공간이 남지만 구현이 굉장히 간단하여 편합니다.

연결 리스트 : 늑정 데이터를 찾기가 어렵고 pointer 데이터가 추가적으로 사용이 되지만 동적 메모리가 사용이 가능하며, 메모리를 효율적으로 사용이 가능하고 데이터 삭제 및 추가, 대용량 데이터를 처리에 용이합니다.

이중 연결 리스트 : pointer 데이터가 두 배로 들어가지만 싱글 연결 리스트에 비래 양방향으로 볼 수 있어서 각 노드의 노드, 후 노드를 알 수 있습니다.

해시 테이블 : 효율적인 측면에서 25% 정도가 비워졌기 댸문에 저장 공간을 상대적으로 많이 차지합니다. 하지만 적은 리소스로 많은 데이터를 효율적으로 관리하고 원하는 데이터를 바로바로 찾을 수 있습니다.

BST : 불균형이 생기지만 검색 속도가 빠릅니다.

 

 

 

자료구조를 사용하느 목적

자료구조는 데이터를 보다 더 효율적으로 저장하고 관리하기 위해 사용되고 있으며, 잘 선택을 한 자료구조는 실행 시간을 단축시키거나 메모리의 용량의 절약을 낼 수 있습니다. 자료구조의 선택 기준은 자료의 처리 시간, 자료의 크기, 자료의 활용 빈도, 자료의 갱신 정도, 프로그램의 용이성입니다. 즉, 자료구조를 구현할 때 중용한 것은 어느 시점에 데이터를 삽입하고, 어느 시점에서 이 데이터를 어떻게 사용할 것이닞에 대해 초점을 맞출 수 있기 떄문에 수현 외적인 부분에 더 시간을 쏟고 알고리즘 자체에는중점을 두지 않습니다. 그리고 자료구조는 재사용성이 좋습니다. 

자료구조를 설계 할 때 특정한 프로그램에 맞춰서 동작하게 설계하지 않아 다른 프로그램에도 사용할 수 있게 설계하기 떄문에 해당 프로젝트에서도 사용할 수 있습니다.

 

 

마무리

프로그래밍을 하는데에는 자료구조가 필요합니다 하지만 자료구조가 없으면 프로그램을 못만드냐라는 질문에는 자료구조가 없어도 된다고 말을 합니다. 왜냐 자료구조는 프로그래밍을 할 때 더 필요 쉽게 프로그램을 만들 수 있게 해주는 역할을 하고 있고 더 효율적인 방법을 제시하며, 시대가 변해도 큰 변화가 없기에 배워두면 프로그래밍 실력의 수준을 높일 수 있다는 것입니다. 그렇기에 자료구조를 배우는 것을 강조하는 것입니다.

 

끝으로 개발자에 대한 궁금증이나 IT에 대한 궁금증이나 어려움이 있는 분들은

아래의 링크를 참고로 하시고 링크를 통해 무료상담이 진행되고 있으니 많은 참여로 진로에 대한 방향을 잡으셨으면 좋겠습니다.

http://it.kg아이티뱅크.kr 

 

 

KG아이티뱅크교육기관

케이지아이티뱅크 전화번호ㅣ 상담전화ㅣ 문의전화ㅣ수강전화ㅣ수강료전화ㅣ상담문의전화

it.xn--kg-jz1j901a9vcw7s0ie.kr

 

https://open.kakao.com/o/sCmJdzsd

 

it분야 취업, 입시, 자기개발, 자격증 등 무료상담방

it분야에 대해서 자신이 필요로 하는 정보와 자신한테 맞을 커리큘럼 상담을 받아보세요. #정보보안#클라우드#개발자#국비지원#학점은행제#상담가능

open.kakao.com

+ Recent posts