본문 바로가기

반응형
SMALL

🌈 백엔드/자료구조

자료구조_선형구조 ④ 큐 [1] 큐 (1) 큐의 개념 먼저 들어간 자료는 가장 먼저 나가고 , 마지막에 들어간 자료는 제일 마지막에 나온다 FIFO 구조 선입선출 일괄처리, 스풀 운영에 활용한다 모든 스케쥴링, 버퍼, 트리의 level order에 사용한다 배열, 연결리스트로 구현할수 있으나 오버플로가 발생한다 ->무빙큐 , 원형큐, 연결리스트 대처 맨 앞(front) 에서 자료를 꺼내거나 삭제하고, 맨 뒤(rear)에서 자료를 추가 함 순차적으로 입력된 자료를 순서대로 처리하는데 많이 사용 되는 자료구조 콜센터에 들어온 문의 전화, 메세지 큐 등에 활용됨 [2] 큐의 종류 (1) 선형큐 ※ front : 첫 요소 앞의 인덱스 자리 명칭 / real : 마지막 요소의 인덱스 자리 명칭 rear (뒤) : 삽입 push → 4 3.. 더보기
자료구조_선형구조 ③ 스택 [1] 스택 (1) 스택의 개념 자료를 넣는 push와 자료를 빼는 pop 입구가 같아 먼저 들어간 자료는 마지막에, 나중에 들어간 자료는 첫번째로 나온다 삽입과 삭제가 한쪽으로만 이루어지는 리스트 가장 나중에 입력 된 자료가 가장 먼저 출력되는 자료 구조 LIFO 구조 후입선출 수식계산 , 복귀주소, 이진트리운행 등에 사용한다 배열로 구현시 고정된 크기이므로 오버플로 검사를 수행해야함 연결리스트로 구현시 배열보다 복잡하지만 오버플로 검사할필요없다 가장 최근에 넣은 데이터를 꺼낼때 최근 했던 행동 취소하고 돌아가야하는 상황일때 디피 우선탐색 할때도 사용한다 맨 마지막 위치(top)에서만 자료를 추가,삭제, 꺼내올 수 있음 ( 중간의 자료를 꺼낼 수 없음) 가장 최근의 자료를 찾아오거나 게임에서 히스토리를.. 더보기
자료구조_선형구조 ②연결리스트 LinkedList [1] 연결 리스트 구성 (1) 노드 리스트의 원소 (2) 포인터 변수 메모리 공간의 주소를 저장하는 변수 (3)구조체 여러개의 변수를 묶어서 만든 자료형 C언어, C#언어에 존재 , JAVA는 구조체 정의가 없다 (4) 연결리스트 개요 데이터 삽입, 삭제를 포인트 조작으로 가능하다 자료를 저장하는 노드에는 자료와 다음 요소를 가리키는 링크(포인터)가 있음 자료가 추가 될때 노드 만큼의 메모리를 할당 받고 이전 노드의 링크로 연결함 (정해진 크기가 없음) 기존 데이터 변경없이 노드를 추가할수 있다 데이터 삽입시 사용 공간의 오버플로가 없다 헤드부터 링크를 따라가며 검색한다 동일한 데이터 타입을 순서에 따라 관리하는 자료 구조 [2] 연결 리스트 종류 (1) 단순 연결 리스트 전진검색만 가능하다 처음부터 .. 더보기
자료구조_선형구조 ① 연접리스트 : 행렬 [1] 행렬의 종류 (1) 정방행렬 행의 수와 열의 수가 같은 행렬 (2)희소행렬 전체 원소에서 0이 아닌 값이 적은 행렬 단점 : 기억 공간의 낭비 -> 배열 , 연결리스트로 대처 연산이 복잡해진다 0이 아닌 원소들을 [행,열,값]의 2차원 배열로 표현가능 (3) 삼각행렬 대각선을 기준으로 위쪽 또는 아래쪽으로만 0이 아닌 값을 가진 정방 행렬 더보기
자료구조_선형구조 ① 연접리스트 : 배열 Array [1] 배열 (1) 배열 정의 순차적 자료구조 = 선형 자료구조 동일한 데이터 타입을 순서에 따라 관리하는 자료 구조 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 중복값이 없다는 전제라면 자료구조는 집합을 고려하고 아니라면 자료구조는 배열로 선택해야한다 (2) 배열 특징 물리적 위치와 논리적 위치가 동일하다 인덱스 연산자를 이용하여 참조한다 배열의 순서는 0부터 시작한다 정해진 크기가 있음 배열의 요소를 추가하거나 삭제하면 다른 요소들의 이동에 대해 구현하는 작업을 해야한다 요소의 개수가 배열의 길이보다 커지만 배열을 재할당하고 복사하는 작업이 필요하다 각 저장공간이 연속적으로 배치되어있다 (3) 배열의 길이 배열의 크기는 정해져있다 메모리 공간안에 배열이 저장된다 . 메모리 공간이 배열의 크기만.. 더보기
자료구조_선형구조 ① 연접리스트 : 배열리스트 ArrayList [1] ArrayList (1) ArrayList 정의 배열의 단점을 보완하기 위해 java.util 패키지에서 제공해주는 클래스이다 (2) ArrayList 선언하기 ArrayList arr = new ArrayList(); ArrayList arr = new ArrayList(); ArrayList arr = new ArrayList(); [2] ArrayList 메서드 (1) add() 메서드 boolean add( E e) 요소 하나를 배열에 추가한다 E : 요소의 자료형 add(index , element) : 몇번 인덱스에 어떤 값을 추가한다 ArrayList a1 = new ArrayList(); a1.add(1); a1.add("hi"); a1.add(2); a1.add("안녕"); a1... 더보기
자료구조_ 자료구조 & 알고리즘 [1] 자료구조 (1) 자료구조의 정의 자료를 효율적으로 사용할수 있또록 특성에 따라 분류, 정렬, 저장, 처리하는 표현 방법 (2) 자료 구조의 구성 1. 선형구조 데이터 항목 관계 1:1 선후 관계가 명확한 선 형태를 가지는 리스트 구조 종류 : 배열 Arrays, 리스트 List , 스택 Stack , 큐 Queue , 데크 deQueue 2. 비선형구조 데이터 항목 관계 1 : n 또는 n : m 직선형태가 아닌 구조 종류 : 트리 , 그래프 (3) 자료구조 선택시 고려사항 데이터의 양 데이터의 특성 데이터의 활용빈도 사용 시스템의 프로그램 난이도 데이터의 저장방식 및 기억용량 최선, 최악, 평균의 처리시간 데이터 저장방식 [2] 알고리즘 (1) 알고리즘 정의 문제를 해결하기 위해 컴퓨터로 구체적.. 더보기

반응형
LIST