목록자료구조 (2)
한결과 레지아이스

영어 단어 Stack은 무더기, 더미를 의미합니다. 자료구조에서도 같습니다. 선형 자료구조의 하나로, 데이터의 더미를 의미합니다. 근데 무언가의 더미라는 건 어떤 특성을 가질까요? 박스 더미를 생각해보면, 우리는 기존에 놓인 박스 위에 새로운 박스를 얹습니다. 밑에 얹을 수는 있지만 잘 그러지 않지요. 박스를 가져갈 땐 맨 위부터가 가져갑니다. 역시 밑에서부터 가져갈 수는 있지만 잘 그러지 않지요. 자료구조에서도 비슷합니다. 데이터를 쌓는데, 먼저 들어온 것들을 밑에 두고 새로운 것이 항상 맨 위에 쌓이는 구조를 스택이라고 합니다. 스택에 접근할 때는? 가장 위의 데이터에 접근이 되겠죠. 저는 ‘뭐야? 배열로, 리스트로 어디에도 접근을 잘하고 있었는데 이런 귀찮은 것은 왜쓰는겨??’ 라는 생각을 했었습니..

자료구조는 선형과 비선형으로 나뉜다. 하나의 자료 뒤에 하나의 자료가 위치하면, 관계가 1:1이면 선형 자료구조라고 한다. 하나의 자료 뒤에 n개의 자료가 위치하면, 관계가 1:n 혹은 n:n이라면 비선형 자료구조라고 한다. 선형 자료구조에는 배열, (연결)리스트, 스택, 큐 등이 있고 비선형 자료구조에는 트리와 그래프 등이 있다. 배열과 연결 리스트부터 스터디는 시작된다. 배열 (Array) 배열은 데이터가 메모리상에 연속적으로, 순서대로 저장된다. 자료의 크기가 같아야 하고, 이런 특성들 덕분에 시작 메모리 주소에 인덱스를 더해서 바로 접근할 수 있다. 그래서 자료의 조회가 바로 빠르다. 크기는 처음에 할당 받은 대로 한정된다. arr[100]으로 선언했다면 이 배열의 크기는 계속해서 100이다. 크..