카테고리: CS

CRUD

CRUD란?CRUD란 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 CREATE(생성), READ(읽기), UPDATE(갱신), DELETE(삭제)를 묶어서 일컫는 말입니다. 이 4가지 기능을 하지 못하는 소프트웨어는 완전하다고 할 수 없다는 말이 있을 정도로 기본적인 기능입니다. 주로 MySQL과 같은 DB에서 사용합니다. CRUD와 S

Thread

Threadthread은 실을 의미하는 단어입니다. 하지만 컴퓨터공학에서의 thread는 실과는 전혀 관련이 없습니다. thread의 사전적 의미는 다음과 같습니다. 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위 이와같이 thread는 실과는 관련이 없지만 뭔가 흐름과 전혀 연관이 없진 않아 컴퓨터공학에서 thread라는 단어를 사용

Process

Processprocess의 사전적 의미는 다음과 같습니다. 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램 프로세스를 얘기하는데 프로그램이라는 단어가 나옵니다. 여기서 프로세스와 프로그램은 다릅니다. 프로그램은 하드디스크에 저장된 코드를 의미하고 프로그램은 생명이 없습니다. 하지만 이러한 프로그램들이 명령어와 함께 메모리에 올라가게 되면 생명이 있는

Tree

Tree Tree는 비선형이고 계층을 갖고있는 자료구조입니다. 나무와 유사하게 계층적 구조를 갖고 있는 것을 의미합니다. 트리의 주된 목적은 탐색이며, 검색엔진, 댓글 구현 등 매우 다양한 곳에서 응용이 되고 있습니다. Binary Tree Structure(이진 트리)최대 2개의 자식을 갖는 트리 구조입니다. 이진트리의 탐색 전위 순회(pre-order

Linked List

Linked List란?Linked List는 Array List와는 다르게 엘리먼트와 엘리먼트 간의 연결(link)을 이용해서 리스트를 구현한 것을 의미합니다.각 element에는 data와 다음 element의 주소를 갖고있습니다.마지막 element의 주소는 null입니다. Array vs Linked ListArray는 메모리를 순서대로 할당합니다.

Queue

Queue란?위 파이프 사진처럼 Queue는 순서대로 들어오고 순서대로 나간다고 생각하면 됩니다. Queue (DFS, 너비탐색) Queue는 FIFO (First Input First Out) 구조를 갖습니다. 들어오는 순서대로 인덱스를 지정해서 순서대로 실행 할 수 있도록 만들어진 구조입니다. 일반적으로 javascript는 Stack의 구조를 갖는데

Stack

Stack이란?위 사진과 같이 서류는 순서대로 쌓여지고 맨 위 서류부터 읽는다고 생각하면 스택을 이해하기 쉽습니다. Stack (BFS, 깊이탐색) Stack은 LIFO(Last In First Out) 구조를 갖습니다. Stack은 축약 자료형이고 push와 pop을 사용합니다. push로 데이터를 넣어주고 pop을 이용하여 데이터를 뽑아옵니다. 가장 나