멀티캠퍼스 풀스택 과정170 알고리즘1-6. 정렬(Sorting): 버블정렬, 선택정렬, 삽입정렬, 퀵정렬 정렬이란? 데이터를 특정한 기준에 따라 순서대로 나열하는 것 키 값이 작은 작은 데이터를 앞쪽에 넣으면 오름차순(ascending order)정렬, 그 반대로 놓으면 내림차순(descending order)정렬 정렬 알고리즘의 핵심요소는 교환, 선택, 삽입이다. 내부정렬 정렬할 모든 데이터를 하나의 배열에 저장할 수 있는 경우에 사용하는 알고리즘 외부정렬 정렬할 데이터가 너무 많아서 하나의 배열에 저장할 수 없는 경우에 사용하는 알고리즘 1. 버블정렬(Bubble Sort) 오름차순 또는 내림차순으로 정렬할 때 인접한 데이터 두개의 대소 관계를 비교해서 크기 순서대로 교환하는 작업 오름차순으로 정렬할 경우 왼쪽값이 오른쪽 값보다 작아야 한다. 예제) 버블정렬을 구현한 코드 1) 버블정렬을 구현하는 myS.. 2022. 1. 26. 알고리즘1-5. 재귀알고리즘 재귀 함수(Recursive Functions) 하나의 함수에서 자신을 다시 호출하는 함수 일반적으로 재귀적 정의를 이용해 재귀함수를 구현한다. (기본부분:basic part와 유도 파트(inductive part)로 구성 재귀적 프로그램을 작성하는 것은 반복 구조에 비해 간결하고 이해하기 쉽다. 함수 호출은 프로그램 메모리 구조에서 스택을 사용한다. 재귀 호출은 반복적인 스택의 사용을 의미하고 계속 재귀함수를 호출하면 메모리 및 속도에서 성능저하가 발생한다. 재귀 함수를 문제 풀이에서 사용할 때는 재귀함수의 종료 조건을 반드시 명시해야 한다.(종료 조건을 명시하지 않으면 함수가 무한히 호출될 수 있다.) 예제) 팩토리얼 구하기 1. for문을 이용한 팩토리얼 구하기 import java.util.Sca.. 2022. 1. 26. 알고리즘1-4. 큐(Queue) 큐(Queue) - 스택과 마찬가지로 데이터를 일시적으로 쌓아 놓은 자료구조이다. - 가장 먼저 넣은 데이터를 가장 먼저 꺼내는 선입선출(FIFO)이다. 인큐(enqueue): 큐에 데이터를 넣는 작업 디큐(dequeue): 큐에서 데이터를 꺼내는 작업 프론트(front): 꺼내는 쪽 리어(rear): 데이터를 넣는 쪽 링버퍼로 큐 만들기 더보기 front = 5, rear = 5 디큐할 경우: 36(queue[0])을 디큐한 후 front값을 que[1]로 업데이트 해준다. (그 다음에 디큐할 경우를 대비해서) 인큐할 경우: queue[5]자리에 64를 저장하고 나서 rear값을 que[0]으로 업데이트 해준다. - 링퍼버: 배열의 처음과 끝이 연결되었다고 보는 자료구조 - 여기서 어떤 요소가 첫 번째.. 2022. 1. 26. 알고리즘1-2. 검색 알고리즘(선형검색, 이진검색) 1. 검색 알고리즘 1-1. 선형검색(Sequential Search) 또는 순차검색(Linear Search) - 무작위로 모인 데이터를 검색하는 수행 알고리즘 - 데이터가 모인 집합(배열, 링크드리스트 등)의 처음부터 끝까지 하나씩 순서대로 비교하며 원하는 값을 찾아내는 알고리즘 1. for문을 사용해 linearSearch 메서드를 생성하고, 메서드 호출 1) main 메서드에서 데이터의 갯수를 입력받아서 배열을 생성하고 2) for문을 실행해서 배열에 입력받은 데이터를 삽입하고 3) 찾을 데이터를 입력받는다. public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.print("데이터수 ->".. 2022. 1. 25. 알고리즘1-1. 알고리즘이란? 알고리즘이란? - ‘문제나 과제를 해결하기 위한 처리 절차를 하나하나 구체적인 순서에 따라 표현한 아이디어나 생각’ 알고리즘의 조건 입력 외부에서 제공되는 자료가 0개 이상 존재한다. 출력 적어도 2개 이상의 서로 다른 결과가 나와야 한다. (즉 모든 입력에 하나의 출력이 나오면 안된다.) 명확성 수행 과정은 명확하고 모호하지 않은 명령어로 구성되어야 한다. 유한성(종결성) 유한 번의 명령어를 수행 후(유한 시간 내)에 종료한다. 효율성 모든 과정은 명백하게 실행 가능(검증 가능)한 것이어야 한다. 프로그램 작성의 흐름(프로그램 알고리즘) - 기획 → 설계 → 프로그래밍(코딩) → 디버깅 → 문서 작성 1. 알고리즘 성능 - 좋은 알고리즘의 분석 기능 정확성 얼마나 정확하게 동작하는가? 작업량 얼마나 적.. 2022. 1. 25. 데이터베이스6-1 조인(JOIN) 조인(Join) - 둘 이상의 테이블을 연결해 데이터를 검색하는 방법 - 보통 둘 이상의 행들의 공통된 값 Primary key 및 Foreign key 값을 사용해 조인한다. - 두 개의 테이블을 SELECT 문장 안에서 조인하려면 적어도 하나의 칼럼이 그 두 테이블 사이에서 공유되어야 한다. * 조인 종류 * INNER JOIN (Equi join 동등 조인, 내부조인) 조인하고자 하는 두개의 테이블에서 공통된 요소를 통해 결합하는 조인 방식 NON-EQUIJOIN (비 동등 조인) 조인 조건이 정확히 일치하지 않는 경우에 사용 (등급, 학점 값이 범위 안에 있음) SELF JOIN 조인을 할 때에 기본 테이블 이외에 참조하는 테이블이 다른 테이블이 아닌 자기 자신 LEFT OUTER JOIN(=LE.. 2022. 1. 21. 이전 1 ··· 14 15 16 17 18 19 20 ··· 29 다음