본문 바로가기

CS6

[Algorithm] 스택(Stack), 큐(Queue) 안녕하세요! 공대남입니다. 오늘은 stack에 대해 알아볼게요. 스택(Stack)이란? 한 쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO(Last In First Out) 형식의 자료 구조 만약 스택이 비어있을 때 자료를 꺼내려고 시도를 하면 스택 언더플로우(Stack Underflow)가 발생하고 반대로, 스택이 꽉 차있을 때 자료를 넣으려고 하면 스택 오버플로우(Stack Overflow)가 발생하게 됩니다. 웹 브라우저 뒤로가기 : 가장 나중에 열린 페이지부터 뒤로 가기를 실행합니다. 문서작업에서 Ctrl+Z : 가장 나중에 수정한 내역부터 되돌립니다. 역순 문자열 만들기 : 맨 끝의 문자열부터 차례대로 만들어집니다. 후위 표기법 계산 재귀적 알고리즘 큐(Queue) 란? 선입선출(FIFO, Fir.. 2023. 3. 13.
[Algorithm] 재귀(Recursion) 안녕하세요! 공대남입니다. 오늘은 재귀 알고리즘에 대해 알아볼게요. 재귀(Recursion) 알고리즘이란? 하나의 함수에서 자기 자신을 다시 호출하여 작업을 수행하는 알고리즘이다. 재귀함수 ? 재귀호출 ? 자기자신을 호출하는 함수를 재귀함수라고 하며, 이때 하는 호출을 재귀호출이라고 합니다. 재귀함수의 장점과 단점 직관적이다 무한루프에 빠질수있다. 재귀 호출의 깊이가 너무 깊어지면 너무 많은 메모리를 사용한다. 불필요한 반복 연산을 하게 될 가능성이 있다. => 메모이제이션을 통해 해결가능 팩토리얼 문제 def factorial(n): if n 2023. 3. 13.
728x90