본문 바로가기
[DB] SQL vs NoSQL SQL은 사전에 정의된 스키마를 모델링하는 관계형 데이터베이스로 행과 테이블과 같은 구조화된 데이터를 관리할 수 있도록 하는 기존 접근 방식의 프로그래밍 언어이다.  반면 ‘Not Only SQL’의 약자인 NoSQL은 보다 유연한 비관계형 접근 방식을 제공하여 구조화되지 않은 데이터 또는 동적 데이터를 처리하는데 이상적이다. 프로젝트에 사용 되는 데이터가 점점 다양해지고 시작할 때 프로젝트에 맞는 데이터베이스를 결정하는 것이 중요함에 따라 SQL과 NoSQL의 핵심적인 차이점을 이해하는 것이 중요하다. SQL 이란?관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어다. 사용자가 관계형 데이터베이스에서 데이터를 저장, 수정, 삭제 및 검색 할 수 있다.. 2024. 11. 27.
[알고리즘] 병합 정렬 (Merge Sort) 현재 차근차근 해보자는 생각에 기초적인 부분을 공부하고 있다. 좀 더 구체적인 내용은 다른 글에 작성하거나 추후 글을 수정하는 방향으로 해보겠다.틀린 내용이 있거나 궁금한게 있다면 편하게 댓글 남겨주시면 감사하겠습니다.📌 개념병합 정렬은 정렬할 수열을 거의 같은 길이의 수열 두 개로 분할한다. 더 이상 분할 할 수 없게 되면(즉, 각 그룹의 숫자가 한 개가 되면) 그룹끼리 통합하기 시작한다. 통합할 때는 정렬된 수열 두 개를 통합하여 하나로 정렬한다. 이러한 과정을 정렬된 수열이 하나가 될 때까지 반복한다. 1부터 7까지의 임의의 수열로 예를 들어 보겠다.먼저 수열을 반으로 분할해 간다. 먼저 두개로 분할 하고... 다시 분할하여.. 하나씩 될 때 까지 분할해 준다. 이제 분할이 완료되었으니 그룹을 합.. 2024. 10. 16.
[알고리즘] 퀵 정렬 (Quick Sort) 현재 차근차근 해보자는 생각에 기초적인 부분을 공부하고 있다. 좀 더 구체적인 내용은 다른 글에 작성하거나 추후 글을 수정하는 방향으로 해보겠다.틀린 내용이 있거나 궁금한게 있다면 편하게 댓글 남겨주시면 감사하겠습니다.📌 개념퀵 정렬은 기준이 되는 수(피봇(pivot)이라고 함)를 수열 안에서 임의로 하나 선택한다. 그리고 피봇 이외의 수를 '피봇보다 작은 수'와 '피봇보다 큰 수'의 두 그룹으로 나누고, 이것을 다음과 같이 배치한다.[피봇보다 작은 수] 이제 각 [ ] 안을 정렬하면 전체가 정렬된다. [ ] 안을 정렬할 때도 다시 퀵정렬을 사용한다. 임의의 수열로 퀵정렬을 실시해 보겠다. 기준이 되는 수(피봇)을 임의로 하나 선택한다. 여기서는 6을 선택해 보겠다.  피봇 이외의 각 숫자를 피봇과 비.. 2024. 10. 14.
[알고리즘] 힙 정렬 (Heap Sort) 현재 차근차근 해보자는 생각에 기초적인 부분을 공부하고 있다. 좀 더 구체적인 내용은 다른 글에 작성하거나 추후 글을 수정하는 방향으로 해보겠다.틀린 내용이 있거나 궁금한게 있다면 편하게 댓글 남겨주시면 감사하겠습니다.📌 개념힙정렬은 힙이라는 데이터 구조를 사용하는 것이 특정이다. [자료구조] 힙 (Heap)오늘 공부한 내용은 힙(Heap)이다. 이제 점점 낮선 자료구조들이 나오기 시작한다.확실하게 이해하고 넘어가도록 해야겠다. 현재 차근차근 해보자는 생각에 기초적인 부분을 공부하고 있다. 좀twd0622.tistory.com 먼저 힙에 모든 숫자를 삽입한다. 힙은 내림차순이 되도록 구성한다.내림차순 힙은 큰 값부터 순서대로 데이터를 꺼내는 성질이 있기 때문에 숫자를 역순으로 나열하면 정렬이 완료된다... 2024. 9. 9.
[알고리즘] 이진 탐색 (Binary Search) 현재 차근차근 해보자는 생각에 기초적인 부분을 공부하고 있다. 좀 더 구체적인 내용은 다른 글에 작성하거나 추후 글을 수정하는 방향으로 해보겠다.틀린 내용이 있거나 궁금한게 있다면 편하게 댓글 남겨주시면 감사하겠습니다.📌 개념이진 탐색(Binary Search)은 배열에서 데이터를 찾는 알고리즘이다. 전에 공부했던 선형 탐색과 달리 데이터가 정렬된 경우에만 적용할 수 있다. 찾으려는 데이터와 배열의 정중앙의 데이터를 비교하면 중앙 기준으로 왼쪽에 있는지 오른쪽에 있는지 알 수 있다. 따라서 한 번 비교하여 검색해야 할 범위를 절반으로 줄일 수 있다. 데이터를 찾거나 데이터가 없다는 것이 확실해질 때까지 이 방법을 반복한다. 예시를 살펴보겠다.1부터 9까지 정렬된 배열이 있다. 6을 찾는다고 가정해보자 .. 2024. 9. 4.
[알고리즘] 삽입 정렬 (Insertion Sort) 현재 차근차근 해보자는 생각에 기초적인 부분을 공부하고 있다. 좀 더 구체적인 내용은 다른 글에 작성하거나 추후 글을 수정하는 방향으로 해보겠다.틀린 내용이 있거나 궁금한게 있다면 편하게 댓글 남겨주시면 감사하겠습니다.📌 개념삽입 정렬은 수열의 왼쪽부터 순서대로 정렬한다. 알고리즘의 진행에 따라 왼쪽에는 숫자가 점차 정렬되고, 오른쪽에는 아직 확인 하지 않은 숫자가 남는다. 오른쪽의 미탐색 영역에서 숫자를 하나씩 꺼내서 정렬이 끝난 영역의 적절한 위치에 삽입해 나가며 정렬을 완성한다. 예시로 살펴 보겠다.1부터 9까지 랜덤으로 정렬된 수열이 있다. 처음에는 왼쪽 끝의 숫자 2를 정렬이 끝난 것으로 보고 넘어간다.2는 정렬이 완료된 상태며 이렇게 1라운드를 종료한다. 2라운드부터는 탐색하지 않은 숫자를 .. 2024. 8. 21.