본문 바로가기

공부/자료구조

열혈 자료구조 [1장]

반응형

 자료구조.pptx

 

열혈 자료구조라는 책을 보며 공부하는 중이고 정리를 해보려고 합니다

알아 보기 쉽고 깔끔한 형태로 글을 쓸거예요 ^^

 

start~!

 

data struct를 주로 배울 것이고 그와 관련된 약간의 algorithm을 공부할 것입니다.

 

1.

data struct

영어를 해석하면 알듯이 데이터의 표현 및 저장방법을 말하는 겁니다

 

algorithm

영어를 해석하면 문제의 해결 방법을 말하는 겁니다

 

2.

data struct의 종류를 보자면

 

 

위와 같이 됩니다

이것중 저희는 선형구조와 비선형 구조를 공부할 거예요

 

3.

알고리즘을 평가할 때 사용되는 요소

1) 시간복잡도(time complexity) - 속도

연산의 횟수가 증가하면 속도는 느려지게 됩니다.

연산 중 비교연산자(==)을 연산의 횟수로 생각합니다

이유는 비교연산자(==)에 다른 연산들이 의존적이기 때문입니다.

 

2) 공간복잡도(space complexity) - 공간

요즘은 점차 메모리 용량이 증가하면서 거의 필요성을 느끼지 못하는 공간복잡도

하지만 어느 특정한 경우에는 꼭 필요합니다.

 

이 2가지를 이용하게 됩니다.

 

4.

알고리즘을 평가

1) 최선의 경우 - 최선의 경우는 서로 다른 알고리즘끼리 평가하는 데 사용할 수 없죠?

                       최선의 경우는 거의 나타나지 않을 것이기 때문이죠 

2) 평균적인 경우 - 그냥 생각할 때 이것이 필요할 것 같이 느껴지죠?

                           하지만 이것을 이용하지는 않습니다.

                           이유는 ? 계산이 어렵다

                                        다양한 이론이 적용되어야 하고 분석에 필요한 여러가지 시나리오와

                                        데이터를 현실적이고 합리적으로 구성하기 어렵기 때문에

3) 최악의 경우 - 알고리즘을 평가하는 데 가장 쓸모있는 부분입니다.

 

5.

이진 탐색 알고리즘

전제 조건 : 배열에 저장된 데이터는 정렬되어 있어야 함

 

알고리즘 처리방식 및 순서

1. 검색범위의 가운데 값이 찾는 값인지 확인

2. 그 값보다 찾는 값이 왼쪽에 있는지 오른쪽에 있는지 확인

3. 검색 범위를 조정하여 다시 검새

 

값을 찾을 때까지 1~3의 과정을 반복

 

수학적인 기호를 써야겠는데 이거 힘드네요

시간이 있을 때 추가해야겠네요

 

오늘은 여기까지~

일단 마무리 짓도록 하겠습니다.

 

 

반응형