본문 바로가기
반응형

Java29

자바(Java) 언어의 역사 자바는 현재까지도 가장 널리 사용되는 프로그래밍 언어 중 하나로, 다양한 분야에서 필수적인 역할을 하고 있습니다. 이 글에서는 자바의 탄생 배경, 발전 과정, 주요 특징, 그리고 관련된 흥미로운 일화까지 상세히 살펴보겠습니다.  1. 자바의 탄생 배경1.1. "Green Project"의 시작자바의 역사는 1991년으로 거슬러 올라갑니다. 당시 Sun Microsystems의 James Gosling, Mike Sheridan, Patrick Naughton 등은 가전제품용 소프트웨어를 개발하기 위해 "Green Project"라는 비밀 프로젝트를 시작했습니다. 이들은 가정용 전자기기를 제어할 수 있는 플랫폼 독립적인 언어를 만들고자 했습니다.  1.2. Oak 언어의 탄생처음에 이들은 "Oak"라는 이.. 2025. 1. 27.
쉘 정렬(Shell Sort) 총 정리 - 개념, 원리, 동작 예시, 시간 복잡도, C언어, Java, Python 예시코드, 주의점, 장단점 0. [사전 지식] 삽입 정렬쉘 정렬은 삽입 정렬을 개선한 정렬 알고리즘입니다. 삽입 정렬에 대해 먼저 살펴보시기를 추천드립니다. 삽입 정렬에 대해서는 아래 링크에 자세히 정리했습니다.2024.12.31 - [알고리즘] - 삽입 정렬(Insertion Sort) 총 정리 - 개념, 원리, 동작 예시, 시간 복잡도, C언어, Java, Python 예시코드, 주의점, 장단점 삽입 정렬(Insertion Sort) 총 정리 - 개념, 원리, 동작 예시, 시간 복잡도, C언어, Java, Python 예시코드,1. 삽입 정렬이란?삽입 정렬은 정렬되지 않은 데이터를 하나씩 가져와 이미 정렬된 부분에 적절한 위치에 삽입하는 방식으로 동작하는 정렬 알고리즘입니다. 간단한 구현과 적은 데이터에서는best-coding.. 2025. 1. 3.
버킷 정렬(Bucket Sort) 총 정리 - 개념, 원리, 동작 예시, 시간 복잡도, C언어, Java, Python 예시코드, 장단점, 주의점 버킷 정렬은 데이터를 여러 개의 "버킷"으로 나누고 각 버킷에 저장된 데이터를 정렬한 뒤, 이를 합쳐 최종 정렬을 완성하는 분산 기반 정렬 알고리즘입니다. 데이터가 균등 분포되어 있을수록 높은 효율을 발휘하며, 비교 기반 정렬보다 더 빠를 수 있습니다.  1. 버킷이란?버킷에 대한 자세한 개념은 아래 글에 상세한 예시와 함께 작성했습니다. 버킷 자체만으로도 코딩 테스트에 자주 나오는 개념이라 꼭 숙지하는 것이 중요합니다.2024.12.20 - [알고리즘] - 버킷(Bucket) 알고리즘 - 코딩테스트에서 시간을 단축하는 비법(시간복잡도, C언어,Java,Python 예시코드) 버킷(Bucket) 알고리즘 - 코딩테스트에서 시간을 단축하는 비법(시간복잡도, C언어,Java,Python 예시코코딩테스트 문제.. 2025. 1. 3.
기수 정렬 (Radix Sort) 총 정리 - 개념, 원리, 동작 예시, 시간 복잡도, C언어, Java, Python 예시코드, 주의점, 장단점 1. 기수 정렬이란?기수 정렬은 정수를 자리수별로 비교하여 정렬하는 정렬 알고리즘입니다. 가장 낮은 자리수부터 높은 자리수까지 순차적으로 정렬하는 방식(LSD: Least Significant Digit) 또는 높은 자리수부터 낮은 자리수로 정렬하는 방식(MSD: Most Significant Digit)을 사용합니다.계수 정렬을 서브 루틴으로 활용하며, 데이터의 크기와 범위에 따라 매우 효율적입니다. 기수 정렬을 이해하기 위해서는 계수정렬(Counting Sort)에 대한 이해가 선행되어야 합니다.해당 개념은 아래 포스팅에 자세히 정리했습니다.2025.01.02 - [알고리즘] - 계수 정렬 (Counting Sort) 총 정리 - 개념, 원리, 동작 예시, 시간 복잡도, C언어, Java, Pytho.. 2025. 1. 2.
반응형