목록CS (5)
궁금한게 많은 코린이의 Developer 노트

재귀 알고리즘의 동작 원리와 호출 스택 재귀 알고리즘의 동작원리를 컴퓨터의 관점에서 알아보자.여기서 중요한 개념인, 호출 스택의 개념도 추가로 알아보도록 하자. 재귀 알고리즘의 동작 원리 factorial(3) 이라는 함수를 호출한다고 가정해보자. factorial 함수 구현 코드def factorial(number){ if number == 1 #기저조건 return 1; else return number * factorial(number -1); endendfactorial(3)은 기저조건이 아님. -> 바로 다음 코드 줄로 가서 factorial(2)을 실행한다. ** 기저조건을 추가하는 이유: "스택 오버플로우" 현상 발생 -> 무한대로 같은 함수를 호출스..

재귀 알고리즘은 많은 분야에서 사용되고 있으며, 특히 복잡한 문제를 해결하는데 유용한 도구 중 하나이다.트리 구조나, 그래프 탐색 문제와 같은 복잡한 문제를 간단하게 처리할 수 있고, 최근 인공지능 분야에서 이미지 생성 과정에서 중간 결과를 평가하고 수정하는 방식과 같은 재귀적 접근이 많이 사용되고 있다고 한다. 재귀 알고리즘을 알아보기 전에 먼저 재귀란 무엇일까? 재귀 :재귀란, 반복 호출을 통해 계속해서 문제를 가장 작은 단위까지 쪼개는 것으로, 문제 해결의 한 방식으로 이해할 수 있다. 재귀 알고리즘 :재귀 알고리즘이란, 하나의 함수에서 자기 자신을 다시 호출하여 작업을 수행하는 알고리즘이다. 재귀는 반복 호출을 통해 계속해서 문제를 가장 작은 단위까지 쪼개는 것으로, 문제 해결의 한 방식으..

오늘은 자료구조/알고리즘 카테고리 중, 해시 함수에 대해 알아보고자 합니다. 해시 함수에 대해 알아보기 전에 해시가 무엇인지 알고 계신가요? 해시 == 조각, 조각내다. 해시(Hash) :해시의 본래 의미는 "조각"이나 "조각내다"라는 뜻에서 유래되었으며, 데이터의 내용을 요약하거나 대표하는 작은 조각으로 변환하는 것을 나타냅니다. 해시 함수 (Hash Function) :해시 함수는 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수입니다.해시 함수를 수행하기 전의 원래의 데이터를 키(key),해시 함수를 수행한 결과 값을 해시 값(hash value)라고 합니다. 키를 해시 값으로 매핑하는 전체적인 과정을 해싱 (Hashing)이라고 합니다.해시 함수는 기본적으로 각각의 키에 대해 모두..

프로그램은 대부분 입력값이 최선의 경우일 가능성이 적을 뿐더러 항상 최악의 경우를 대비해야 하기 때문에 시간 복잡도를 확인할 때 빅 오 표기법을 사용한다. 특히 현업에서 복잡도 대부분 빅오 표기법을 따른다고 해도 무방하다. 메모리에 대한 발전으로 중요도가 낮아졌기 때문에 알고리즘의 성능평가는 시간 복잡도로 계산한다.시간 복잡도에는 Big-O O(N) 와 Omega Ω(N) , Seta Θ(N) 표기법이 존재하는데,보통 그 중에서도 빅 오 표기법을 기준으로 한다. 빅오 표기법이란?알고리즘 최악의 실행시간을 표기하는 것.아무리 최악의 상황에서도, 이 정도 성능은 보장한다는 의미라고 보면 된다. 빅 오의 특징시간 복잡도에 미미한 영향을 주는 값(예) 상수)들은 무시한다.1. 상수항을 무시한다. 예) O(N)..

HTTP 프로토콜을 설명하기에 앞서"프로토콜"은 무엇을 의미할까? 프로토콜 (Protocol)정보의 정확한 교환을 위해서는 프로토콜의 사용이 필수적이다. 일정한 약속을 정해 여러 계층으로 나눠진 네트워크에서 동위 계층에서 사용하는 표준 통신 규약을 만들었는데 이것을 프로토콜이라 한다.한국어 -> 한국어 (O) 한국어 -> 독일어 (X) HTTP 프로토콜이란?HTTP는 Hyper Text Transfer Protocal의 약어로 클라이언트-서버 구조로 데이터를 주고받을 수 있다.애플리케이션(응용) 레벨의 프로토콜로 TCP/IP위에서 작동한다. TCP/IP 프로토콜이란?실제 인터넷 통신 시 기반이 되는 모델. 애플리케이션, 전송, 인터넷, 링크 총 4계층으로 이루어져 있음.인터넷 프로토콜 중 가장 ..