CS

    [자료구조] 스택 (Stack) - 정의, 특징, 그리고 자바스크립트로 구현하기

    [자료구조] 스택 (Stack) - 정의, 특징, 그리고 자바스크립트로 구현하기

    Stack의 정의 쌓다, 쌓이다, 포개지다 데이터(data)를 순서대로 쌓는 자료구조 Stack의 특징 입력과 출력이 하나의 방향으로 이루어지는 제한적 접근 LIFO (Last In First Out) = FILO (First In Last Out) 먼저 들어간 것이 가장 나중에 나오는 자료구조 일상생활의 예시 다섯 대의 자동차가 순서대로 좁은 골목을 지나고 있습니다. 좁은 골목에 진입한 차량은 곧 맞이할 미래를 모르고 있지만, 이 골목의 끝은 막혀 있습니다. 첫 번째 자동차는 이 골목을 통과하기 위해 직진했고, 나머지 자동차도 앞 자동차의 꽁무니를 따라 직진했습니다. 그러나 첫 번째 차량이 막다른 길을 맞이했습니다. 마지막으로 들어온 다섯번 째 자동차가 먼저 후진하여 나와야 하는 상황이 되어버린 겁니다..

    [자료구조] 자료구조(Data Structure)의 정의 및 종류

    [자료구조] 자료구조(Data Structure)의 정의 및 종류

    자료구조(Data Structure)란? 자료구조: 여러 데이터들의 묶음을 저장하고, 사용하는 방법을 정의한 것 데이터(Data)란? 문자, 숫자, 소리, 그림, 영상 등 실생활을 구성하고 있는 모든 값 우리의 이름, 나이, 키, 집 주소, 목소리 혹은 유전자 DNA까지 데이터로 분류할 수 있음 그러나 데이터는 그 자체만으로 어떤 정보를 가지기 힘들고, 분석하고 정리하여 활용해야만 의미를 가짐 예를 들어 나이라는 데이터만 알고 있다면, 사람의 나이인지, 강아지의 나이인지, 나무의 나이인지 알 수 없음 데이터를 사용 목적에 따라 분류하여 사용하는 이유 데이터를 정해진 규칙없이 저장하거나, 하나의 구조로만 정리하고 활용하는 것보다 데이터를 체계적으로 정리하여 저장해두는 게, 데이터를 활용하는 데 있어 훨씬 ..

    트랜잭션의 특성 - ACID

    트랜잭션 데이터베이스에서 데이터에 대한 하나의 논리적 실행단계 여러 개의 작업을 하나로 묶은 실행 유닛 각 트랜잭션은 하나의 특정 작업으로 시작을 해 묶여 있는 모든 작업들을 다 완료해야 정상적으로 종료함 만약 하나의 트랜잭션에 속해있는 여러 작업 중에서 단 하나의 작업이라도 실패하면, 이 트랜잭션에 속한 모든 작업을 실패한 것으로 판단 즉, 작업이 하나라도 실패하면 트랜잭션도 실패이고, 모든 작업이 성공적이면 트랜잭션 또한 성공 성공 또는 실패라는 두 개의 결과만 존재하며 미완료된 작업없이 모든 작업을 성공해야 함 예를 들어, 은행에서의 계좌이체를 트랜잭션이라고 할 수 있는데, 계좌이체 자체의 구현은 내부적으로 여러 단계로 이루어질 수 있지만 전체적으로는 '송신자 계좌의 금액 감소', '수신자 계좌의 ..