본문 바로가기

computer science/자료구조6

[자료구조] 배열과 list(LinkedList, ArrayList) 이번시간에는 배열과 list에 대해서 알아보겠습니다. 배열 크기가 정해져 있다, 따로 추가적인 기능이 없다 데이터에 대한 인덱스를 가지고 데이터의 인덱스를 변하지 않는다 인덱스를 사용하여 빠르게 데이터 조회가 가능하다 크기가 정해져 있기 때문에 추가적인 데이터를 넣을 수 없다 데이터를 삭제해도 크기가 줄어들지 않는다 Object[] ary = new Object[4]; ary[0]="something1"; ary[1]="something2"; ary[2]="something3"; ary[3]="something4"; 배열은 다수의 데이터를 그룹핑해서 효율적으로 관리할 수 있는 데이터 자료구조입니다. 위의 코드를 보시면 먼저 크기가 4인 배열을 선언했습니다. 이런 배열의 가장큰 장점은 무엇일까요 ? 바로 .. 2019. 6. 2.
[자료구조] 스택(Stack) 자료구조 첫번째 시간의 주제를 스택입니다. 사전에서는 "(깔끔하게 정돈하여) 쌓다[포개다]; 쌓이다, 포개지다" 정도로 설명되는 데요, 만약 저희가 뷔페에 가서 음식을 담을 접시를 사용할 때, 가장 위에부분을 가져가죠? 접시가 부족해서 다시 채울때도 위에 부터 다시 쌓습니다. 스택은 이와 똑같이 동작하는 데요, 스택을 LIFO(Last In First Out)구조를 유지합니다. 마지막에 들어가는 녀석이 처음 나오는 구조죠. 스택에 자료를 넣는 동작은 push, 빼는 동작은 pop이라고 합니다. 근데 만약, push할 때 스택이 모두 차있으면 어떻게 될까요 ? 이런 경우는 "stack overflow"라고 합니다. 반대로 pop할 때, 스택이 비어있는 경우를 "stack underflow"라고 합니다. 그.. 2019. 6. 1.