자료구조

dev.dave·2023년 7월 26일

개발지식

목록 보기
35/53

자료구조 >

서비스나 어플리케이션에서 필요한 데이터를 메모리에 어떻게 구조적으로 잘 정리해서 담고, 관리하고, 최종적으로 가장 효율적인 방식으로 필요한 데이터에 가장 빨리 접근하고, 수정, 삽입, 삭제 를 할 수 있도록 도와줍니다.

서비스에서 클라이언트에게 데이터를 제공하거나, 어플리케이션에서 사용자에게 필요한데이터를 보여주거나 수정 할 떄 , 효율적으로 일을 처리하기 위해서는, 기능에 적합한 알맞는 자료구조를 쓰는것이 정말 중요합니다.

어떤 자료구조를 쓰냐에 따라서, 사용자가 원하는 기능을 수행하는데 ,

0.2초가 걸릴수도있고, 2초가 걸릴수도 있기 떄문이죠.

자료구조 종류는 굉장히 다양한데요,

그중에 대표적으로,

배열 , 단일 연결 리스트 , 이중연결 리스트 , 스택 , 해쉬 테이블

이런 아이들이 있습니다.

자료구조를 공부할때, 조금 포인트를 두고 공부하실 것은,

자료구조안에 있는 데이터들의 순서가 보장이 되는지,

중복된 데이터가 들어갈 수 있는지,

검색 할 때 얼마나 효율적인지,

우리가 원하는 기능에 따라서 수정할 때 얼마나 효율적인지,

이런 것들을 위주로 공부 하시면 좋을 것 같습니다.

————————————

알고리즘 >

제한된 공간과 시간 안에서, 데이터를 어떻게 처리할 것인지를 정의해 놓은 로직인데요.

즉, 주어진 인풋으로 정의된 계산을 수행한 다음에 아웃풋 즉, 결과값을 내는것을 말합니다.

그리고

알고리즘을 공부하시다보면,

0을 때놓을 수가 없는데요,

빅 O는 동일한 알고리즘의 로직으로,

인풋의 사이즈가 점점 커질수록,

시간이 얼마나 더 많이 걸리느냐를 정의한 복잡도를 나타내는,

표기할수있는 방법입니다.

이렇게 알고리즘은

주어진 데이터를 검색하거나,

정렬,

총점,

을 구하는 등

다양한 계산을 할 수있는 것을 말하는데요.

알고리즘을 공부할떄,

알고가시면 좋은 포인트는요.

인풋의 사이즈가 커질수록 ,빅오가 어떻게 변화하는지,

그리고

공간과 시간의 복잡도는 어떤지,

그리고 어떤 자료구조를 이용해서, 알고리즘을 쓰는게 좋은지 등을 공부하시면 좋습니다.

제일 좋은 알고리즘은요,

제공된 데이터를 정말 작은 공간과 빠른 시간안에서 효율적으로 처리할수있는것이 가장 좋습니다.

———————————

팁>

이 자료구조는 어느상황에 쓰이는 것이 좋고 또 어떤식의 api들이 있는지 이런 큰 그림을 보면서 공부하는 것이 좋다.

profile
🔥개인 메모 / 다른블로그 자료 참조 / 다른블로그 자료 퍼옴 (출처표기) /여기저기서 공부 했던 내용 개인메모 & 참고 / 개인 기록 용도 블로그 입니다.🔥

0개의 댓글