큐 (Queue)
데이터 처리의 순서가 중요한 상황에서 스택(Stack)과 함께 가장 기본적이면서도 중요한 자료구조 중 하나다 바로 큐(Queue)이다. 큐는 ‘선입선출(First In First Out, FIFO)’이라는 원칙을 따르며, 이는 가장 먼저 삽입된(Enqueue) 데이터가 가장 먼저 제거되는(Dequeue)구조를 의미한다. 일상생활에서 ‘줄 서기’와 같다 큐의 기본 개념과 원리…
데이터 처리의 순서가 중요한 상황에서 스택(Stack)과 함께 가장 기본적이면서도 중요한 자료구조 중 하나다 바로 큐(Queue)이다. 큐는 ‘선입선출(First In First Out, FIFO)’이라는 원칙을 따르며, 이는 가장 먼저 삽입된(Enqueue) 데이터가 가장 먼저 제거되는(Dequeue)구조를 의미한다. 일상생활에서 ‘줄 서기’와 같다 큐의 기본 개념과 원리…
데이터를 저장하고 관리하는 방식은 프로그램의 효율성과 복잡성에 큰 영향을 미친다. 다양한 자료구조 중 스택(Stack)은 ‘후입선출(Last In First Out, LIFO)’이라는 단순하지만 강력한 원칙을 따르는 추상 자료형(Abstract Data Type)이다. 이 원칙은 가장 나중에 삽입된(Pushed) 데이터가 가장 먼저 제거되는(Popped)구조를 의미한다 스택의 기본 개념과…
데이터를 효율적으로 저장하고 관리하는 것은 프로그래밍의 기본과 기초이자 핵심 과제이다. 여러 자료구조 중에서도 배열(Array)과 연결 리스트(Linked List)는 기본적인 형태이며, 각각의 고유한 특성으로 인해 다양한 상황에서 활용된다. 배열의 한계와 연결 리스트의 등장 배열의 장점 배열의 단점 배열의 단점을 해결하기 위해 고민했고,…
시간 복잡도 (Time Complexity) 평균을 구하는 문제를 두 종류의 자료구조(변수, 배열)를 사용해서 각각에 맞는 알고리즘으로 해결할 수 있다. 변수는 변수에 맞는 알고리즘, 배열은 배열에 맞는 알고리즘을 이용해서 해결한다. 심지어 같은 자료구조를 쓰더라도 알고리즘은 여러 가지가 될 수 있다는 것도 확인할…
자료구조 (Data Structure) 자료구조란, 데이터가 어떤 방식으로 저장되고 그 저장된 데이터를 어떻게 효율적으로 관리・사용할지를 정의하는 방법을 의미한다. 프로그래밍을 배우면서 의식하지 못했더라도 이미 다양한 자료구조들을 사용해왔을 것이다가장 단순한 자료구조는 변수(Variable)이다. 숫자나 문자열과 같은 단일 데이터를 저장하기 위해 변수를 사용한다. 그리고 저장한…
배열은 모든 프로그래밍 언어에서 기본적으로 제공하는 자료구조이며 자바에서도 마찬가지이다. 배열을 제대로 이해하기 위해서는 배열이 메모리에서 어떤 모습을 하고 있는지 아는 것이 중요하다.자바에서는 배열을 선언할 때 배열의 크기를 지정해야 한다. 예를 들어 int[] arr = new int[10];과 같이 선언하면, 운영체제(JVM)는 메모리에서…
비대칭키 암호화 시스템은 한 쌍의 서로 다른 키(공개키와 개인키)가 상호작용하는 구조를 갖는다. 이 두 키 중 하나로 암호화하면, 반드시 쌍을 이루는 다른 키로만 복호화할 수 있다. 이는 공개키 기반 구조 (PKI: Public Key Infrastructure)의 핵심 기술이며, 현대 인터넷 보안의 근간을…
대칭키 암호화 시스템은 하나의 키로 데이터를 암호화하고 복호화하는 방식이다. 비대칭키 방식에 비해 효율적이라는 장점이 있으며, 우리의 일상생활에서 흔히 볼 수 있는 자동차 키나 보안 카드와 유사하게 작동한다고 이해할 수 있다 주요 특징 대표적인 알고리즘 대칭키는 크게 두 가지로 나뉜다 XOR(Exclusive…
Hash 함수의 핵심 특징 단방향성의 이해 고정된 결과값 길이 데이터 무결성 확보 해시 함수의 주된 용도 중 하나는 데이터 무결성(Data Integrity) 확보이다. 데이터 무결성은 데이터가 전송되거나 저장되는 과정에서 변조되거나 위조되지 않았음을 증명하는 것을 의미한다. 해시는 Checksum보다 훨씬 강력한 방식으로 데이터…
Checksum(검사합)은 데이터 오류 여부를 확인하는 데 널리 사용되는 방법이다. 데이터가 전송되거나 저장되는 과정에서 손상되었는지 검증하는 데 목적이 있다. 하지만 Checksum 자체는 데이터의 무결성을 보장하지만, 보안성(기밀성이나 위변조 방지)은 제공하지 않는다. 즉, 의도적인 데이터 변조를 막지는 못한다. Checksum의 작동 원리와 보안성의 한계…