반응형
SMALL

Recursion 3

[Design Pattern] 복합체 패턴(Composite Pattern)

어느 덧 7월 2020년도 하반기로 접어들었습니다 남은 반년 화이팅하시고 좋은 성과와 행복이 가득하시길 기원합니다 아무튼 오늘의 학습 주제는 복합체 패턴입니다 컴퓨터 파일 시스템(File System)에는 디렉터리(Directory) 혹은 폴더(Folder)가 있고 그 안에는 다른 디렉터리나 폴더가 있을 수 있고 파일도 있을 수 있습니다 그런데 어떤 디렉터리 안을 조회할 때 이것이 디렉터리 인지 파일인지 모르지만 이 둘을 하나의 디렉터리 엔트리(Entry)로 간주하여 재귀적인 구조를 이루게하면 편리해질 수 있습니다 이번 학습 주제인 복합체 패턴(Composite Pattern)은 이와 같은 모습으로 만들기 위한 패턴입니다 오늘도 복합체 패턴에 등장하는 역할들을 정리하고 시작하겠습니다 역할 설명 Leaf(..

Java 2020.07.05

[Python] 순환(Recursion)호출을 이용한 Fractal 프로그램

야근 때문에 한동안 학습을 못하다가 오랜만에 다시 파이썬(Python)학습 시작! 오늘의 주제는 순환(Recursion)호출입니다 순환(Recursion)호출은 함수 내부에서 자기 자신을 다시 호출하는 구조를 말합니다 이를 이용해서 일부가 전체와 비슷한 형태로 무한히 되풀이되는 기하학적인 형태인 Fractal 혹은 자기 유사성(Self-similarity) 프로그램을 작성해보겠습니다 Fractal은 Mandelbrot라는 분이 처음으로 쓴 단어로 해안선이나 나뭇가지와 같은 자연물, 수학적인 분석, 운동 모형에서 많이 발견된다고 합니다 import turtle def tree(length): if length > 5: #length가 5보다 크면 순환호출을 한다 t.forward(length) #거북이가 ..

Python 2019.09.03

[Algorithms] 재귀적 프로그래밍(Recursive Programming)_1

지난 번에 연결리스트를 이용한 큐를 작성하였다 enqueue()함수를 통해 int형 값을 큐(Queue)에 저장하고 dequeue()함수를 통해 큐(Queue)에 저장된 순서대로 하나씩 출력하였는데 큐에 저장된 모든 원소(값)들을 모두 출력하고 싶다면 어떻게 해야할까? 가장 쉽게 떠올릴 수 있는 방법은 head node부터 차례로 출력하는 것이다 자, 그런데 제목이 재귀적 프로그래밍이다 이 dynamic_print_list()함수를 recursive_print_list()함수로 변경해보자 재귀적 프로그래밍(Recursive Programming)을 설명할 때 가장 많이 나오는 인용구는 GNU("GNU's Not Unix!")인데 GNU를 설명하기 위해 자기 자신을 이용하고있기 때문이다 사실 재귀적 프로그..

Algorithms 2019.08.12
반응형
LIST