N-ary 트리의 구현과 실제 활용
N-ary 트리의 핵심 개념과 프로그래밍 실습
N-ary 트리는 하나의 노드가 최대 N개의 자식을 가질 수 있는 계층적 데이터 구조로, 파일 시스템, 조직도, 탐색 트리 등 다양한 분야에서 활용된다. 이 글에서는 C 언어 기반의 구현 예제를 통해 삽입, 검색, 업데이트, 후위 순회 등의 기본 연산을 다루며, 실제 사례와 함께 그 응용 가능성을 살펴본다.
노드 구조 정의 및 초 ...
9월 8일 09:27에 게시됨
문자열 해시 함수 분석 및 비교
완벽한 해시 함수는 서로 다른 입력 값에 대해 충돌이 발생하지 않는 함수를 의미합니다. 정의역 X와 치환역 Y가 주어졌을 때, |X|=n, |Y|=m이라면 m≥n이어야 하며, 모든 key1≠key2에 대해 h(key1)≠h(key2)인 경우 이를 완벽한 해시 함수라고 합니다. m=n인 경우 일대일 매핑이 가능해 최소 완벽 해시 함수로 불립니다.
대규모 문자열 데이터 처리 시 각 문자열에 고유한 ...
7월 24일 16:01에 게시됨
컨솔 기반의 C 언어로 구현하는 타이핑 게임: 데이터 구조와 제어 흐름의 통합
기본 개념과 프로젝트 설계
C 언어를 학습한 후 실질적인 프로젝트 경험을 쌓고자 하는 개발자는 종종 이론 지식은 이해했지만 실제 코드를 조합해 보여줄 수 없다는 문제에 부딪힌다. 이때 가장 효과적인 방법 중 하나가 바로 단순하지만 전반적인 개념을 아우르는 소규모 프로젝트이다. 본 문서에서는 '타이핑 게임'을 중심으로, 컨솔 환경에서 동작하는 게임을 완성하는 ...
7월 24일 06:59에 게시됨
선형 대수 기초
문제 목록
개인이 작성한 것이 아닌 요약입니다
P3812 [템플] 선형 기저
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int D = 64;
ll base[D];
bool flag;
bool insert(ll x) {
for (int i = D - 1; i >= 0; i--) {
if ((x >> i) & 1) {
if (base[i])
x ^= base[i];
...
7월 16일 04:51에 게시됨
큐 자료구조: 순차적 루프 큐와 연결 리스트 기반 큐 구현
순차적 루프 큐 (순환 큐)
sequeue.h
#define MAX_SIZE 5
typedef int QueueElement;
typedef struct {
QueueElement elements[MAX_SIZE];
int head;
int tail;
} CircularQueue;
CircularQueue* create_queue();
int enqueue(CircularQueue* queue, QueueElement value);
QueueElement dequeue(CircularQueue* queue);
int is_empty(CircularQueue* queu ...
7월 14일 02:00에 게시됨
파이썬 딕셔너리 주요 작업 방법
파이썬 딕셔너리는 순서가 없는 가변 컨테이너 모델로, 문자열, 숫자, 튜플과 같은 다양한 유형의 객체를 저장할 수 있습니다. 본 문서에서는 파이썬에서 딕셔너리(Dict)의 상세한 작업 방법을 다루며, 생성, 접근, 삭제, 기타 작업 등을 포함합니다.
딕셔너리는 키(key)와 값(value)의 쌍으로 구성됩니다. 딕셔너리는 연관 배열이나 해시 테이블로도 알려져 있습니다. 기 ...
6월 24일 03:26에 게시됨
블록 기반 구조와 블록 리스트의 활용
블록 분할 기법
길이가 n인 배열을 약 √n개의 블록으로 나누면, 각 블록의 크기는 최대 √n이 되며, 임의의 구간 연산은 최대 √n개의 완전한 블록과 두 개의 부분 블록으로 표현 가능하다.
시간 복잡도는 기존의 O(n²)에서 O(n√n)으로 개선된다.
기본 구현 틀
#include <iostream>
#include <cmath>
#include <cstdio>
using namespace std;
typedef ...
6월 21일 03:59에 게시됨
데이터 구조에서 맵과 세트 (하)
이전 글에서 다루지 못한 기술적 개념을 찾으세요:
**개인 홈페이지:**我要学编程(ಥ_ಥ)-CSDN 블로그
소속 전문: 데이터 구조 (Java 버전)
이전 글에서는 이진 탐색 트리, 맵과 세트의 기본 개념, 해시 테이블의 충돌 해결 방식 등을 다뤘습니다. 데이터 구조에서 맵과 세트 (상) - CSDN 블로그
이제 나머지 주제를 살펴보겠습니다.
목차
충돌 해결 - 클로즈드 해싱
충돌 ...
6월 20일 01:11에 게시됨
Redis 핵심 기능 및 아키텍처 분석
데이터 타입과 활용 사례
String: 캐싱, 카운터(인크리먼트/디크리먼트), 세션 저장. 최대 512MB 데이터 지원.
Hash: 객체 정보, 상품 상세 정보 저장. 필드-값 구조로 구성되며 HSET, HGET, HGETALL 명령어로 접근 가능.
List: 메시지 큐(예: LPUSH/RPOP), 최신 공지 리스트(LPUSH/LRANGE). 내부적으로 압축리스트 또는 양방향 링크드리스트 사용.
Set: 중복 제거, 친구 ...
6월 11일 17:34에 게시됨
ICPC 중국 난창 국가 초청 및 국제 사모로드 프로그래밍 경쟁 예선 문제 풀이
문제 링크
링크
A 문제
문제 설명
코드 구현은 다음과 같습니다
#include <set>
#include <map>
#include <deque>
#include <queue>
#include <stack>
#include <cmath>
#include <ctime>
#include <bitset>
#include <cstdio>
#include <string>
#include <vector>
#include <cstdlib>
#include ...
6월 8일 00:08에 게시됨