분류 전체보기132 DB, MySQL 데이터베이스( DB,Database)란? 데이터베이스를 한 마디로 정의하면 ‘데이터의 집합’이라고 할 수 있습니다. 데이터베이스에는 일상생활 대부분의 정보가 저장되고 관리됩니다. 오늘 보내거나 받은 카카오톡 메시지, 인스타그램에 등록한 사진, 버스/지하철에서 찍은 교통카드, 카페에서 구매한 아이스 아메리카노 등의 정보가 모두 데이터베이스에 기록됩니다. 관계형 DMBS 관계형 DBMS(Relational DBMS)는 줄여서 RDBMS라고 부릅니다. MySQL뿐만 아니라, 대부분의 DBMS가 RDBMS 형태로 사용됩니다. RDBMS의 데이터베이스는 테이블(table)이라는 최소 단위로 구성되며, 이 테이블은 하나 이상의 열(column)과 행(row)으로 이루어져 있습니다. SQL: DBMS에서 사용하는 언.. SQL 2022. 11. 30. 자료구조 알고리즘 DFS DFS 자료의 검색, 트리나 그래프를 탐색하는 방법. 한 노드를 시작으로 인접한 다른 노드를 재귀적으로 탐색해가고 끝까지 탐색하면 다시 위로 와서 다음을 탐색하여 검색한다. # 위의 그래프를 예시로 삼아서 인접 리스트 방식으로 표현했습니다! graph = { 1: [2, 5, 9], 2: [1, 3], 3: [2, 4], 4: [3], 5: [1, 6, 8], 6: [5, 7], 7: [6], 8: [5], 9: [1, 10], 10: [9] } visited = [] # 1. 시작 노드(루트 노드)인 1부터 탐색합니다. # 2. 현재 방문한 노드를 visited에 추가합니다. # 3. 현재 방문한 노드와 인접한 노드 중에 방문하지 않은 노드에 방문합니다. # def dfs_recursion(adjace.. 자료구조 알고리즘 2022. 11. 29. 자료구조 알고리즘 그래프란?? 그래프란? 연결되어 있는 정점와 정점간의 관계를 표현할 수 있는 자료구조. 저번에 트리를 배우면서 배웠던 "비선형 구조" 에 대해 기억 나시나요? 비선형 구조는 표현에 초점이 맞춰져 있다고 말씀 드렸는데, 선형구조는 자료를 저장하고 꺼내는 것에 초점이 맞춰져 있고, 비선형구조는 표현에 초점이 맞춰져 있습니다. 이번 자료구조인 그래프는 바로 연결 관계에 초점이 맞춰져 있습니다. 페이스북을 예시로 들어볼게요! 제가 친구 "제니"를 알고 있고, "로제"와 친합니다. 그리고 "로제"는 트와이스 "사나"를 안다고 하면, 저는 "사나"와 2촌 관계라고 말할 수 있겠죠! 그래프에서 사용되는 용어들을 정리해드리면 다음과 같습니다! 노드(Node): 연결 관계를 가진 각 데이터를 의미합니다. 정점(Vertex)이라고도 .. 자료구조 알고리즘 2022. 11. 29. 자료구조 알고리즘 힙이란 무엇인가? 힙이란 무엇인가? 힙은 데이터에서 최대값과 최소값을 빠르게 찾기 위해 고안된 완전 이진 트리(Complete Binary Tree) 항상 최대의 값들이 필요한 연산이 있다면? 바로 힙을 쓰면 되겠죠! 그러면 힙을 구현하려면 어떻게 해야할까요? 힙은 항상 큰 값이 상위 레벨에 있고 작은 값이 하위 레벨에 있도록 하는 자료구조입니다. 다시 말하면 부모 노드의 값이 자식 노드의 값보다 항상 커야 합니다. 그러면 가장 큰 값은 모든 자식보다 커야 하기 때문에 가장 위로 가겠죠! 따라서 최대의 값들을 빠르게 구할 수 있게 되는 것입니다. 참고로, 힙은 다음과 같이 최대값을 맨 위로 올릴수도 있고, 최솟값을 맨 위로 올릴 수도 있습니다! 최댓값이 맨 위인 힙을 Max 힙, 최솟값이 맨 위인 힙을 Min 힙이라고 합.. 자료구조 알고리즘 2022. 11. 29. 자료구조 알고리즘 트리란 무엇인가? 트리란 무엇인가? 뿌리와 가지로 구성되어 거꾸로 세워놓은 나무처럼 보이는 계층형 비선형 자료 구조. 앞서 보인 큐(Queue), 스택(Stack) 은 자료구조에서 선형 구조라고 합니다. 선형 구조란 자료를 구성하고 있는 데이터들이 순차적으로 나열시킨 형태를 의미합니다. 이번에 배울 트리는 바로 비선형 구조입니다! 비선형 구조는 선형구조와는 다르게 데이터가 계층적 혹은 망으로 구성되어있습니다. 선형구조와 비선형구조의 차이점은 형태뿐만 아니라 용도에서도 차이점이 많습니다! 선형구조는 자료를 저장하고 꺼내는 것에 초점이 맞춰져 있고, 비선형구조는 표현에 초점이 맞춰져 있습니다. * 아래 폴더 구조가 대표적인 트리의 형태입니다! 트리는 이름에서부터 느껴지듯이 계층형 구조입니다! 위 아래가 구분되어 있습니다. 트.. 자료구조 알고리즘 2022. 11. 28. 자료구조 알고리즘 Queue 큐란 무엇인가? Queue 큐란 무엇인가? 한쪽 끝으로 자료를 넣고, 반대쪽에서는 자료를 뺄 수 있는 선형 구조.(선입선출/FIFO(First in First out)) 큐도 스택과 마찬가지로 일상생활에 접목해 보면 쉽게 이해할 수 있습니다. 일상생활 속 맛집을 갔을 때 온라인에서 티켓을 구매할 때 저희는 줄을 섭니다. 아래와 같이 먼저 온 사람이 먼저 대기열을 빠져나가게 됩니다 이과 같은 자료구조를 Queue라고 합니다 LinkedList 의 Queue class Node: def __init__(self, data): self.data = data self.next = None class Queue: def __init__(self): self.head = None self.tail = None def enqueue.. 자료구조 알고리즘 2022. 11. 26. 자료구조 알고리즘 Stack 스택이란? Stack 스택이란 무엇인가? 스택이란 한쪽 끝으로만 자료를 넣고 뺄 수 있는 자료 구조.(후입선출/LIFO(Last in First out)) 스택은 일상생활과 비교해 보면 너무나도 쉽게 이해가 가능합니다 프링글스를 먹으면 저희는 가장 위에 있는 감자칩부터 눈에 보이고 가장 위에부터 꺼내 먹을 수 있게 됩니다 다시 새로운 감자칩을 넣게 되더라도 아래부터가 아닌 위에서부터 쌓게 됩니다 이해가 힘들다면 그림을 보고 이해해 봅시다 LinkedList 의 Stack [4] -> [3] -> [2] -> [1] 새로운 Stack을 추가하면 [5] -> [4] -> [3] -> [2] -> [1] 마지막에 들어온 것이 self.head 가 됩니다 class Node: def __init__(self, data):.. 자료구조 알고리즘 2022. 11. 26. 자료구조 알고리즘 이진탐색 finding_target = 14 finding_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16] def is_existing_target_number_binary(target, array): current_min = 0 current_max = len(array) - 1 current_guess = (current_min + current_max) // 2 while current_min 자료구조 알고리즘 2022. 11. 26. 자료구조 알고리즘 Array vs LinkedList LinkedList 사용법 자료구조 알고리즘 Array vs LinkedList 경우 Array LinkedList 특정 원소 조회 O(1) O(N) 중간에 삽입 삭제 O(N) O(1) 데이터 추가 데이터 추가 시 모든 공간이 다 차버렸다면 새로운 메모리 공간을 할당 받아야 한다 모든 공간이 다 찼어도 맨 뒤의 노드만 동적으로 추가하면 된다. 정리 데이터에 접근하는 경우가 빈번하다면 Array를 사용하자 삽입과 삭제가 빈번하다면 LinkedList 를 사용하는 것이 더 좋다 Li nkedList 1) LinkdList 는 self.head 에 시작하는 노드를 저장한다. 2) 다음 노드를 보기 위해서는 각 노드의 next 를 조회해서 찾아가야 한다 class Node: ## Node 를 만들어 줍니다 def __init__(self.. 자료구조 알고리즘 2022. 11. 23. JavaScript 클래스와 객체 함수의 차이? 클래스와 객체 오늘 클래스와 객체 공부를 하던 도중 나온 코드다 class shop { constructor(color, size, price) { this.color = color this.size = size this.price = price } info() { console.log(`color : ${this.color} price : ${this.price} size : ${this.size}`) } } const shirt = new shop('red', 'XL', 20000) const tshirt = new shop('orange', 'M', 15000) console.log(shirt, tshirt) //////////////////////////////////////////////////.. JavaScript&TypeScript 2022. 11. 22. Python 파이썬 map, filter, lambda map people = [ {'name': 'bob', 'age': 20}, {'name': 'carry', 'age': 38}, {'name': 'john', 'age': 7}, {'name': 'smith', 'age': 17}, {'name': 'ben', 'age': 27}, {'name': 'bobby', 'age': 57}, {'name': 'red', 'age': 32}, {'name': 'queen', 'age': 25} ] def check_adult(person): if person['age'] > 20: return '성인' else: return '청소년' result = map(check_adult, people) print(list(result)) 결과 = ['청소년', '성인'.. Python 2022. 11. 21. Python 파이썬 조건문과 반복문 조건문의 사용 아래와 같이 사용!! num = 3 if num%2 == 0: result = "짝수" else: result = "홀수" print(f"{num}은 {result}입니다.") 결과 = 3은 홀수입니다. 하지만 코드를 아래와 같이 짧게 만들수 있다 num = 3 result = "짝수" if num%2 == 0 else "홀수" print(f"{num}은 {result}입니다.") 결과= 3은 홀수입니다. 이와 비슷한 것으로 반목문에도 사용이 가능하다 a_list = [1, 3, 2, 5, 1, 2] b_list = [] for a in a_list: b_list.append(a*2) print(b_list) 보통 이런식으로 반복문을 사용하지만 a_list = [1, 3, 2, 5, 1, .. Python 2022. 11. 21. 이전 1 ··· 7 8 9 10 11 다음 반응형