본문 바로가기

유데미79

Udemy - Javascript - Binary Heaps Udemy - Javascript - Binary Heaps Udemy JavaScript 이진 힙 MaxBinaryHeap : 부모 노드가 항상 자식 노드보다 크다 MinBinaryHeap : 부모 노드가 항상 자식 노드보다 작다 이진 힙은 항상 오른쪽과 왼쪽의 자식 노드를 채운다 MaxBinaryHeap 에서는 루트 노드가 제일 커야 한다 각 노드는 최대 2개의 자식을 가지고 있다 같은 층에 있는, 자식들은 부모 노드보다 작거나 큰거지, 서로의 관계는 상관이 없 인덱스 0의 자식은 1, 2 인덱스 1의 자식은 3과 4 인덱스 2의 자식은 5와 6 인덱스 3의 자식은 7, 8 즉 인덱스 n의 자식 노드를 구할 때에는 왼쪽 노드는 2n + 1 오른쪽 노드는 2n + 2 반대로 부모 노드를 구할 때에는 (.. 2023. 2. 22.
Udemy - Javascript - Tree Traversal Udemy - Javascript - Tree Traversal Udemy JavaScript 트리 순회 너비 우선 탐색 (Breadth First Search, BFS) Queue를 사용한다 [10, 7, 15, 5, 8, 20] 위의 리스트의 순서대로 탐색을 한다 class Node { constructor(value){ this.value = value; this.left = null; this.right = null; } } class BinarySearchTree { constructor() { this.root = null; } insert(value) { var newNode = new Node(value) if (this.root === null) { this.root = newNode; .. 2023. 2. 21.
Udemy - Javascript - Binary Tree Search Udemy - Javascript - Binary Tree Search Udemy JavaScript Tree 트리는 간선과 노드로 이루어져 있고, 노드들 간에 부모와 자식 노드라는 관계가 있다 1은 루트 노드이다 2와 3은 1의 자식 노드고, 1은 2와 3의 부모 노드다 트리가 아닌 것 이진 트리 / 이진 검색 트리 이진 트리 (Binary Tree) 이진 트리는 부모 노드가, 최대 2개의 자식 노드를 가지는 것이다 3개 이상의 자식 노드를 가지고 있으면 이진 트리가 아니다 이진 검색 트리 (Binary Search Tree) 이진 검색 트리는 정렬이 되어 있다 부모 노드보다 숫자가 적으면 왼쪽에 배치가 되어 있고, 크면 오른쪽에 배치가 되어 있다 루트 노드를 보면, 왼쪽에 있는 자식 노드는, 루트 노.. 2023. 2. 20.
Udemy - Javascript - Stack, Queue Udemy - Javascript - Stack, Queue Stack & Queue 데이터 구조의 모음이다 좀 더 압축적인 데이터 구조이다 데이터를 추가 또는 빼낸다 Stack (스택) LIFO (Last In First Out) 제일 마지막으로 스택에 추가된 것이, 제일 먼저 나간다 예를 들어, 재귀에서, 콜스택 (Call Stack)처럼, 제일 마지막에 추가된 요소를 먼저 빼낸다 배열로 스택 구현하기 // 스택 만들기 var stack = [] stack.push('google') stack.push('instagram') stack.push('youtube') stack.pop() // youtube stack.pop() // instagram stack.pop() // google 스택은 sta.. 2023. 2. 16.
Udemy : Python 스포티파이 재생목록 Udemy : Python 스포티파이 재생목록 설명 팝 음악 기간별 톱 100 차트를 통해서 음악 100개 가지고 오기 스포티파이 uri로 트랙들을 저장하여, 스포티파이의 플레이 리스트에 음악 넣기 from bs4 import BeautifulSoup import requests import os import dotenv dotenv.load_dotenv() date = "20100217" # input("Which year do you want to travel to? Type the date in this format YYYYMMDD: \n") response = requests.get( f"https://www.officialcharts.com/charts/singles-chart/20140216/.. 2023. 2. 15.
Udemy - Javascript - Data Structure Udemy - Javascript - Data Structure Doubly Linked Lists (이중 연결 리스트) 자료구조 자료 구조는 데이터에 적용될 수 있는 값들 및 기능 혹은 작업들 사이의 관계를 포함한다 예를 들어 배열을 생각한다 배열 안에는 값들 사이에 관계가 있다 (정렬을 하거나, 값을 추가할 수 있거나 없앨 수 있다) 자료 구조에는 많은 종류가 있고, 각자 쓰임세가 다르다 이중 연결 리스트 이중 연결 리스트는, 다음 노드를 가리키는 간선이 2개이다 즉 앞에 노드와 뒤의 노드를 가리킨다 단점은 매모리를 단일 연결 리스트보다 더 많이 잡아 먹는다 class Node{ constructor(val){ this.val = val; this.next = null; this.prev = null.. 2023. 2. 14.
Udemy : Python Web Scraping (parsing) Udemy : Python Web Scraping (parsing) Web Scraping 웹 사이트의 html을 사용하여, 웹 사이트에 있는 데이터를 가지고 오는 것이다 웹 스크래핑은 합법인가? 웹 스크래핑은 내 소유가 아닌 다른 사람의 소유의 웹 사이트의 데이터를 사용하는 것이다 주로 저작권이 없거나, 로그인 없이 접근할 수 있을 때에 데이터를 사용할 수도 있다 웹 스크래핑을 한 데이터를 상업화 하면 불법이 될 수 있다 저작권이 있는 데이터를 상업화 시키는 것도 불법이다 웹 사이트에 로그인을 하여, 웹 스크래핑을 할 경우 불법이다 로그인을 해서 데이터를 활용할 수 있는 웹 사이트들은, 회원가입 때에, 해당 사이트의 데이터를 못 쓰도록 인증하도록 되어 있다 웹 스크래핑을 막기 위해 사용되는 도구다 데이.. 2023. 2. 14.
Udemy : Python, 인터넷 Udemy : Python, 인터넷 인터넷은 어떻게 작동하는가? 인터넷이란? 24시간 열려있는 도서관이라고 생각하면 된 24시간 동안 모든 컴퓨터들을 연결해주는 것이다 웹사이트에 접근할 때에, 필요한 데이터 또는 파일을 제공해주는 것이 서버 웹사이트를 접근하고, 일반 유저가 사용하는 것이 클라이언트 웹사이트 작동 HTML 웹 사이트의 구조를 만드는 것 CSS 웹 사이트의 스타일링을 하는 것 (웹 사이트가 어떻게 보이고 싶은지 만들어준다) JavaScript 웹 사이트를 동적으로 만들 수 있다 2023. 2. 13.
Udemy - Javascript - Data Structure Udemy - Javascript - Data Structure Singly Linked Lists (단일 연결 리스트) 자료구조 자료 구조는 데이터에 적용될 수 있는 값들 및 기능 혹은 작업들 사이의 관계를 포함한다 예를 들어 배열을 생각한다 배열 안에는 값들 사이에 관계가 있다 (정렬을 하거나, 값을 추가할 수 있거나 없앨 수 있다) 자료 구조에는 많은 종류가 있고, 각자 쓰임세가 다르다 연결 리스트 제일 앞과 뒤, 그리고 리스트의 길이 속성만 존재한다 즉 리스트 안에 index가 없다 노드로 존재한다 (노드끼리 연결되어 있음) 리스트 vs 배열 리스트 인덱스가 없다 노드들끼리 연결되어 있다. 그리고 노드들은 다음 노드를 POINT한다 랜덤으로 노드를 사용할 수 없다 배열 인덱스에 따라 나열되어 있다.. 2023. 2. 9.