태그: 배열
9편
-
배열과 연결 리스트: 메모리 구조, 연산별 시간 복잡도, 코딩 테스트 활용
배열과 연결 리스트가 메모리에 놓이는 방식 때문에 인덱스 접근, 중간 삽입·삭제의 비용이 어떻게 달라지는지 설명하고, 투 포인터·슬라이딩 윈도우로 배열 회전, 중복 제거, k번째 큰 수 같은 문제를 Python과 C++로 풉니다.
-
C++ 배열: 메모리 레이아웃, std::array, 캐시 최적화
C 배열이 함수 인자로 넘어갈 때 포인터로 쇠퇴하는 규칙과 2차원 배열의 함정, std::array 설계와 C 배열·vector의 선택 기준, 행 우선 레이아웃에 맞춘 캐시 친화 순회, C++23 std::mdspan까지 다룹니다.
-
C 언어 시리즈 #06 — 배열·디케이(decay)·문자열 리터럴·VLA | 실전 가이드
배열 decay·sizeof 예외·함수 매개변수에서 길이 소실, 문자열 리터럴의 읽기 전용 세그먼트, VLA가 스택 예산을 흔드는 방식과 대안(고정 버퍼·힙), UTF-8 리터럴과 다국어 처리 경계를 프로덕션 관점에서 정리합니다. 실무에서 바로 적용 가능한 5가지 핵심 패턴을 배우세요.
-
자료구조 입문: 배열·리스트·스택·큐·트리·그래프의 특징과 고르는 기준
배열, 연결 리스트, 스택, 큐, 트리, 그래프, 해시 테이블이 각각 어떤 연산에 빠르고 어떤 연산에 느린지 시간 복잡도로 비교합니다. 브라우저의 최근 방문 페이지 기능을 예로 들어 요구사항에서 자료구조를 고르는 과정을 보여줍니다.
-
JavaScript 배열과 객체: 자주 쓰는 Array·Object 메서드
push·splice·find·map·filter·sort 같은 배열 메서드와 Object.keys·entries·assign 정적 메서드, 배열·객체 구조 분해, spread와 rest 연산자, reduce 심화와 메서드 체이닝을 데이터 변환 예제로 익힙니다.
-
C++ C 배열 vs std::array vs vector: 성능과 안전성 비교
C 스타일 배열, std::array, std::vector를 크기 고정 여부, 스택·힙 배치, 범위 검사 관점에서 비교하고 접근·생성·순회 벤치마크로 성능 차이를 확인합니다. operator[]와 at()의 차이, 함수로 넘길 때 크기 정보가 사라지는 문제도 다룹니다.
-
C++ std::vector 기초: 생성·삽입·삭제와 배열 대신 쓰는 이유
크기가 고정되고 범위 검사도 없는 C 배열 대신 std::vector를 쓰는 이유를 선언, 추가·삭제, operator[]와 at() 차이, 2차원 벡터, sort·find 예제로 보여줍니다. size()를 int로 받는 실수, 반복 중 삭제, reserve와 resize 혼동도 다룹니다.
-
C++20 std::span 심화: 정적·동적 extent, subspan, 읽기 전용 뷰
C++20 std::span의 동적 크기와 정적 크기(extent) 차이, subspan·first·last로 부분 범위를 자르는 법, span<const T>로 읽기 전용 뷰를 만드는 법을 행렬 연산·슬라이딩 윈도우·이미지 처리 예제로 익힙니다. 임시 객체로 생기는 댕글링 span도 짚습니다.
-
NumPy 기초: 배열 연산, 브로드캐스팅, 벡터화
ndarray 생성과 벡터화 연산, 브로드캐스팅 규칙, 불린 인덱싱, reshape, 통계 함수와 행렬 연산을 예제로 설명합니다. 이미지 배열 처리와 정규화된 배치 벡터 연산 예제로 Python 리스트 루프 대신 배열 연산을 쓰는 방식을 익힙니다.