본문 바로가기

패스트캠퍼스 챌린지

패스트캠퍼스 챌린지 4일차

반응형

<학습일기>

Ch 06. 자료구조 - 스택

 

스택
-데이터를 제한적으로 접근할 수 있는 구조
 -한쪽 끝에서만 자료를 넣거나 뺄 수 있는 구조
- 가장 나중에 쌓은 데이터를 가장 먼저 빼낼 수 있는 데이터 구조

1. 스택 구조
- 스택은 LIFO(Last-in, First-out) or FILO(First-in, Last-out) 데이터 관리 방식을 따름
 - LIFO : 마지막에 넣은 데이터를 가장 먼저 추출하는 데이터 관리 정책
 - FILO : 처음에 넣은 데이터를 가장 마지막에 추출하는 데이터 관리 정책

- 대표적인 스택의 활용
 - 컴퓨터 내부의 프로세스 구조의 함수 동작 방식

- 주요기능
 - push(): 데이터를 스택에 넣기
 - pop() : 데이터를 스택에서 꺼내기
 
2. 스택 구조와 프로세스 스택
- 스택 구조는 프로세스 실행 구조와 가장 기본
 - 함수 호출시 프로세스 실행 구조를 스택과 비교해서 이해 필요

    def recursive(data):
        if data < 0:
            print("ended")
        else:
            print(data)
            recursive(data-1)
            print("returned",data)

    recursive(4) --> 4 3 2 1 0 ended returned 0 returned 1 returned 2 returned 3 returned 4

    --> 재귀함수를 스택구조로 이해해보기

3. 자료 구조 스택의 장점
- 장점
 - 구조가 단순해서 구현이 쉽다
 - 데이터 저장/읽기 속도가 빠르다
- 단점 (일반적인 스택 구현시)
 - 데이터 최대 개수를 미리 정해야한다.
   - 파이썬의 경우 재귀 함수는 1000번까지만 호출이 가능하다
 - 저장공간의 낭비가 발생할 수 있음
   - 미리 최개 개수만큼 저장 공간을 확보해야함.
- 스택은 단순하고 빠른 성능을 위해 사용되므로, 보통 배열 구조를 호라용해서 구현하는 것이 일반적이다. 이 경우에는 위에서 열거한 단점이 있을 수 있다.

<수강인증>

강의 수강

 

실습


*본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.*

https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기

#알고리즘기술면접완전정복올인원패키지Online

 
반응형