티스토리챌린지

큐(Queue)란 무엇인가?큐는 First-In-First-Out(FIFO) 원칙을 따르는 기본적인 자료구조입니다. 마치 은행 창구에서 대기하는 사람들의 줄과 같죠. 먼저 줄을 선 사람이 먼저 서비스를 받는 것처럼, 큐에서도 먼저 들어온 데이터가 먼저 처리됩니다. 이러한 FIFO 특성 덕분에 큐는 작업 스케줄링, 프린터 작업 관리, 고객 서비스 요청 처리 등에 이상적입니다.💡 Tip: 큐의 FIFO 특성은 순서대로 처리해야 하는 모든 상황에서 유용하게 활용됩니다.큐의 핵심 특징1. FIFO 동작 방식요소는 뒤쪽(rear)에서 추가됩니다 (enqueue)요소는 앞쪽(front)에서 제거됩니다 (dequeue)입력된 순서를 그대로 유지합니다2. 주요 구성 요소Front: 첫 번째 요소를 가리키는 포인터Re..
1. 미국 증시, 고금리 우려로 하락세   - 나스닥 지수 5거래일 연속 하락 마감   - 미중 패권 경쟁 격화로 반도체 관련주 약세2. 테슬라, 전기차 인센티브 폐지에도 반등   - 5% 급락 후 금요일 반등 마감   - 강력한 시장 경쟁력으로 향후 성장 기대3. 트럼프 정책, 수혜주와 피해주 엇갈려   - 수혜주: 중소형주, 암호화폐, 금융   - 피해주: 빅도체, 헬스케어, 방산   - 정부 예산 감축 영향4. 고용지표, PPI 등 미국 시장 견고함 입증   - 12월 금리인하 확률 50%로 하락   - 10년 미국채금리 4.5% 터치5. 트럼프 이민자 추방 정책, 인플레이션 우려 자극   - 저임금 노동자 방출시 인건비 상승 → 물가 상승 가능성6. 일론 머스크, 정보 효율위원회(DOGE) 수장 ..
연결 리스트란 무엇일까요?연결 리스트는 컴퓨터 과학에서 가장 기본적이면서도 강력한 데이터 구조 중 하나입니다. 배열과는 달리, 연결 리스트는 서로 연결된 노드로 구성됩니다. 각 노드에는 데이터와 다음 노드를 가리키는 참조(포인터)가 포함되어 있습니다.💡 연결 리스트의 가장 큰 장점은 동적인 특성입니다. 실행 시간에 크기가 늘어나거나 줄어들 수 있으며, 전체 구조의 메모리 재할당이 필요하지 않습니다.연결 리스트의 핵심 특징1. 동적 크기실행 시간에 크기가 변할 수 있습니다.초기화 시 크기를 지정할 필요가 없습니다.메모리 사용이 효율적입니다.2. 메모리 구조비연속적인 메모리 할당각 노드에는 데이터와 다음 노드를 가리키는 참조가 포함됩니다.마지막 노드는 null을 가리킵니다.3. 성능 특성삽입 및 삭제: 위..
스택이란?스택은 컴퓨터 과학에서 가장 기본적인 자료구조 중 하나로, 후입선출(LIFO - Last-In-First-Out) 원칙을 따릅니다. 쌓아 놓은 접시더미를 생각해 보세요. 접시는 오직 위에서만 추가하거나 제거할 수 있죠.💡 LIFO 원칙은 스택에 마지막으로 추가된 요소가 가장 먼저 제거된다는 것을 의미합니다.주요 연산스택은 두 가지 주요 연산을 지원합니다:Push: 스택 맨 위에 요소 추가Pop: 스택 맨 위의 요소 제거추가적인 보조 연산으로는 다음과 같은 것들이 있습니다:Peek: 맨 위 요소를 제거하지 않고 보기isEmpty: 스택이 비어있는지 확인size: 스택의 요소 개수 얻기러스트로 구현하기이제 어떤 데이터 타입과도 함께 사용할 수 있는 제네릭 스택을 러스트로 구현해 보겠습니다: // ..
자료구조를 배워야 하는 이유프로그래밍 세계에서 효율성은 매우 중요합니다. 자료구조는 이러한 효율성을 달성하는 데 핵심적인 역할을 합니다.✨ 자료구조의 중요성메모리 효율성: 최적의 메모리 자원 활용처리 속도: 올바른 사용 시 더 빠른 데이터 처리신뢰성: 안정적인 데이터 처리 보장상황별 최적화: 각 상황에 맞는 최적의 구조 선택 가능알고리즘과 자료구조의 관계자료구조와 알고리즘은 동전의 양면과 같습니다:자료구조: 데이터를 조직화하고 저장하는 방법알고리즘: 데이터를 처리하는 단계별 절차이 둘은 함께 작동하여 최적의 솔루션을 만들어냅니다.배열(Array): 첫 번째 자료구조배열이란?배열은 프로그래밍에서 가장 기본적인 자료구조 중 하나입니다.📌 배열의 특징연속된 메모리 공간에 순차적으로 저장고정된 크기동일한 타입..
· AI/OpenCV
Rust와 OpenCV를 사용하여 기본적인 이미지 처리 방법에 대해 알아보도록 하겠습니다. 이미지를 표시하고 저장하는 기본적인 작업부터 차근차근 시작해볼게요! 🎨📚 목차환경 설정이미지 표시하기이미지 저장하기전체 구현 코드자주 발생하는 문제와 해결방법🔧 환경 설정이미지 처리의 첫 걸음! 먼저 필요한 OpenCV 모듈들을 가져와야 합니다: use opencv::{ core::{self, MatTraitConst}, highgui, imgcodecs, Result}; 🖥️ 이미지 표시하기OpenCV에서 가장 기본이 되는 작업은 이미지를 불러와서 화면에 표시하는 것입니다. pub fn display_image() -> Result { // Load the image l..
· AI/OpenCV
export PATH="/opt/homebrew/opt/llvm/bin:$PATH"export LDFLAGS="-L/opt/homebrew/opt/llvm/lib"export CPPFLAGS="-I/opt/homebrew/opt/llvm/include"export PATH="/usr/local/opt/llvm/bin:$PATH"📚 목차OpenCV 소개주요 기능설치 가이드핵심 모듈구현 예제다음 단계 소개OpenCV(Open Source Computer Vision Library)는 Intel의 실시간 컴퓨터 비전을 위한 강력한 도구킷입니다. 전통적으로 C++와 Python과 연관되어 있었지만, Rust에서는 바인딩 하여 사용할수 있습니다.  https://github.com/twistedfall/open..
Hebi_log
'티스토리챌린지' 태그의 글 목록