본문 바로가기

알고리즘 & 자료구조

(4)
스택(Stack)과 큐(Queue) 스택(Stack)과 큐(Queue) 1. 스택(Stack) 스택 ➙ 일시적으로 데이터를 쌓아놓는 자료구조로써 입력순서와 출력순서가 반대이다. Last In Fist Out(후입선출) 마지막으로 들어온 데이터가 가장 먼저 나간다. 스택에 데이터를 저장(push) 스택으로부터 데이터 추출(pop) 스택 포인터(ptr) : 스택에 쌓여 있는 데이터 수를 나타낸다. 스택이 비어있으면 0이고, 가득 차있으면 capacity와 같은 값이 된다. 위 그림에서 스택의 용량(capacity)은 6이고, 3개의 데이터가 푸시되었다. 가장 먼저 푸시된 데이터는 stk[0]=10이고, 가장 나중에 푸시된 데이터는 stk[ptr-1]=8이다. 스택에서 push,pop은 스택 포인터를 바탕으로 이뤄진다. 따라서 모든 요소를 삭제..
검색 알고리즘(Search algorithm) 검색 알고리즘(Search algorithm) 1. 검색 알고리즘 검색이란 ? 어떤 조건을 만족하는 데이터를 찾아내는 것 1) 선형 검색(linear search) 또는 순차 검색 직선형인 배열에서 검색은 원하는 키값을 찾을 때까지 앞에서부터 순차적으로 찾는 것을 의미한다. 배열 검색의 종료 조건 ① 종료조건 : 종료 검색할 값을 발견하지 못하고 배열의 끝을 지나감 (검색 실패) ② 종료조건 : 종료 검색할 값과 같은 요소를 발견한 경우(검색 성공) ① 또는 ②가 만족될 때 검색이 종료된다. 배열의 길이가 n개일 때 → 원하는 키값이 존재하지 않으면 ①은 n+1회, ②는 n회 판단한다. 배열 요소를 검색할 때 i는 배열의 인덱스를 가리킨다. 선형 검색 선형 검색- 배열의 종료 조건인 반복문 변경 1-2)..
기본 자료구조 배열과 클래스 기본 자료구조 배열과 클래스 자료구조 데이터 단위와 데이터 자체 사이의 물리적 또는 물리적 관계 자료구조는 자료를 효율적으로 사용할 수 있도록 컴퓨터에 저장하는 방법 1.배열 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 기본 배열 배열 복제하기 배열 요소의 최대값 구하기 난수를 사용하여 배열의 요소값 설정하기 난수를 사용하여 배열의 요소값 설정하기-height,num 난수 설정 배열 요소를 역순으로 정렬 길이가 4인 배열 x가 있다. int x={1,2,3,4}; 역순으로 정렬할 경우 1-4, 3-3이 값을 교환하게 된다. 즉 두번 교환하는데, 교환횟수는 "요솟수/2'"번이 된다. 나머지는 버리는데, 요솟수가 홀수일 경우 가운데는 교환할 필요가 없기 때문이다. int x={1,2,3,4}; //n..
알고리즘의 정의와 기본 알고리즘 기본 알고리즘 1. 알고리즘 알고리즘 ? 어떤 문제를 해결하기 위한 절차로 명확하게 정의되고 순서가 있는 유한 개의 규칙으로 이루어진 집합 세 값의 최대값 구하기 세 값의 최대값 구하기- 메서드 활용 네 값의 최대값 구하기 세 값의 중앙값 구하기 입력한 값의 부호(양수/음수/0) 판단하기 조건 판단과 분기 1과 2 비교 1부터 n까지 정수의 합 구하기 정수 a,b를 포함하여 그 사이의 모든 정수의 합을 구하여 반환 양수만 입력받아 1부터 n까지의 합 구하기 정수 a,b를 입력받아 b-a를 출력하는 프로그램 반복 과정에서 조건 판단하기1 반복 과정에서 조건 판단하기2 반복 과정에서 조건 판단하기3 2자리의 양수를 입력받기 다중 루프 다루기 곱셈표 다중 루프 다루기 - 아래의 예제가 출력되도록 하시오 다중 ..