
3. 알고리즘 [버블소트] 버블소트는 서로 인접한 두 원소를 비교하여 정렬하는 알고리즘입니다. 0번 인덱스부터 n-1번 인덱스까지 n번까지의 모든 인덱스를 비요하여 정렬합니다. 시간복잡도는 O(n2)입니다. [힙소트] 힙소트는 주어진 데이터를 힙 자료구조로 만들어 최대값 또는 최소값부터 하나씩 꺼내어서 정렬하는 자료구조입니다. 힘소트가 가장 유용한 경우는 전체를 정렬하는 것이 아니라 가장 큰 값 몇개만을 필요로 하는 경우입니다. 시간복잡도는 O(nlog2n) 입니다. [머지소트] 머지소트는 주어지 배열을 크기가 1인 배열로 분할하고 합병하면서 정렬을 진행하는 분할/정복 알고리즘입니다. 시간복잡도는 O(nlog2n) 입니다. [퀵소트] 매우 빠른 정렬 속도로 자랑하는 분할 정복 ..

2, 자료구조 [자료구조와 알고리즘] 자료구조는 데이터를 원하는 규칙 또는 목적에 맞게 저장하기 위한 구조이고, 알고리즘이란 자료구조에 쌓인 데이터를 활용해 어떠한 문제를 해결하기 위한 여러 동작들의 모임이다. [스택, 큐, 트리, 힙 구조 설명] 스택 : 세로로 된 바구니와 같은 구조로 먼저 넣게 되는 자료가 마지막으로 나오게 되는 FILO(First-In-Last-Out) 구조이다. 큐 : 가로로 된 통과 같은 구조로 먼저 넣게 되는 자료가 가장 먼저 나오는 FIFO(First-In-First-Out) 구조이다. 트리 : 정점과 간선을 이용해 사이클을 이루지 않도록 구성한 Graph의 특수한 형태로, 계층이 있는 데이터를 표현하기에 적합하다. 힙 : 최댓값 또는 최솟값을 찾아내는 연상을 쉽게 하기 위..

1. 프로그래밍 공통 [OOP: Object-oriented Programming, 객체지향프로그래밍] OOP는 현실 세계를 프로그래밍으로 옮겨와 현실 세계의 사물을 객체로 보고 그 객체로부터 개발하고자 하는 특징과 기능을 뽑아와 프로그래밍하는 기법입니다. OOP로 코드를 작성하면 재사용성과 변형 가능성을 높일수 있습니다. ex. C++, python, JAVA etc.... 절차지향언어 : C [ OOP 장점 ] 캡슐화, 다형성, 상속 [OOP의 5가지 설계 원칙] SRP(Single Responsibility Principle, 단일 책임 원칙) : 클레스는 단 하나의 목정을 가져야 하며, 클래스를 변경하는 이유는 단하나의 이유여야한다. OCP(Open-Closed Principle, 개방 폐쇄 원칙..