민철튜터님의 알고리즘 강의가 있었다
스택 , 큐 개념
스택은
한쪽 끝이 막혀있는 통과 같은 구조로 마지막에 들어간 데이터가 먼저 나오는 구조이다
푸쉬 , 팝
데이터를 저장하는걸 푸시라고 하고 가장 나중에 저장한 데이터를 빼내는걸(pop) 이라고 한다
스택은 후입선출 자료구조이다
스택의 경우에는 이전에 앱강의 종합반에서 설명을 들었던게 있어서 그랬는지 아니면 민철튜터님이 설명을 잘 해주셔서 그랬는지 이해가 잘됬다 홈페이지같은곳을 돌아다닐때 뒤로가기 버튼이라고 생각하니 편했다
큐 개념
양쪽 끝이 뚫려있는 통과 같은구조
Enqueue , dequeue
먼저 삽입된 데이터가 먼저 나오는 구조
선입선출 자료구조
큐 개념은 대기시간이 항상 있는 맛집이라고 생각했다
첫번째로 온 손님이 예약을 먼저 하고 대기하면 두번째 세번째 손님들이 와도 첫번째로 들어가게 된다
활용
스택의 활용
데이터를 임시저장하고싶을때
최근에 임시저장한데이터를 가장먼저 활용해야할때
쌍을맞추어 활용해야할때
뒤로가기 기능을 만들고 싶을때
1문자열을 순회하며 (룰 만나면 푸시 )를만나면 팝
문자열 순회가 끝나고 스택이 비어있다면 올바를 괄호
스택은 코드로 구현할때 리스트로 구현
큐의 활용
큐를 버퍼로 활용
임시저장된 데이터를 차례차례 내보냐야할때
줄을 세우고 싶을때
변형 1. 원형 큐
변형 2. 더블 스택 큐
변형 3. 우선순위 큐 - 이진트리에 대한 기본지식이 필요
큐 개념같은경우에는
양쪽 끝이 뚫려있는 통과같은 구조라고 설명해주셔서 왜 한쪽으로 들어가서 선입선출만 될까?? 라는 의문만 가지고있었는데 나중애 설명해주시는걸 들어보니 역시 변형을 사용해서 양쪽 모두꺼낼 수 있는 구조가 되었다