데브코스-데이터엔지니어링

    해시, 그리디

    해시, 그리디

    데이터 엔지니어링 데브코스 Day 4 - 자료구조 및 알고리즘 풀기 4 🚀 해시 (Hash) 해시 함수(hash function)로도 불리며, 임의의 길이를 갖는 임의의 데이터를 고정된 길이의 데이터로 매핑하는 단방향 함수 아무리 큰 숫자를 넣어도 고정된 크기의 숫자가 나옴 단방향 함수이기에 출력된 값을 통해 입력값을 알 수 없음 키(key)를 해시 함수로 돌려 나온 해시 값에 따라 해시 테이블(hash table)에 저장 입력된 값이 조금만 변해도 결과가 크게 달라지는 특성 (눈사태 효과, Avalanche Effect) 서로 다른 입력값에도 동일한 값이 출력되는 경우가 있음 (해시 충돌, Hash Collision) 입력에 비해 출력의 범위가 작기 때문 이 경우, Separate Chaining 또는..

    큐, 트리, 힙

    큐, 트리, 힙

    데이터 엔지니어링 데브코스 Day 3 - 자료구조 및 알고리즘 풀기 3 🚀 큐 (Queue) 자료를 보관할 수 있는 선형 구조 자료를 넣을 때에는 한 쪽 끝에서 넣고, 꺼낼 때는 반대쪽에서 꺼냄 넣는 것은 인큐(enqueue) 연산 빼는 것은 디큐(dequeue) 연산 선입선출 (FIFO, First-In-First-Out) 특징을 가지는 선형 자료구조 e.g. 프린트에 인쇄할 문서 보낼 때, 대기열 등 🚀 환형 큐 (Circular Queue) 원형 큐라고도 불림 큐의 한 종류로 원형 구조를 갖추어 FIFO 방식을 사용 정해진 개수의 저장 공간을 돌려가며 사용 원형으로 데이터를 저장하며 앞과 뒤가 연결되어 순환 Front는 큐의 맨 앞 요소를 가리키고, Rear는 큐의 맨 뒤 요소를 가리킴 데이터 추가..

    연결리스트, 스택

    연결리스트, 스택

    데이터 엔지니어링 데브코스 Day 2 - 자료구조 및 알고리즘 풀기 2 🚀 연결 자료구조 방식 (Linked Data Structure) 순차 자료구조 방식에서 연산 시간 및 저장 공간에 대한 문제를 개선한 자료 표현 방식으로 연결 자료구조와 비순차 자료구조(Nonsequential Data Structure)가 있음 순차 자료구조 방식처럼 원소의 논리적 순서와 물리적 순서가 일치할 필요 X 연속한 메모리 물리주소에 의해 원소 순서를 표현 X 각 원소에 저장되어 있는 다음 원소의 주소에 대한 참조에 의해서 연결되는 방식이기 때문 물리적 순서를 맞추기 위한 오버헤드 발생 X 순차 자료구조는 하나의 고정 크기 메모리 공간이 필요하지만, 연결 자료구조는 여러 개의 작은 공간을 연결하여 전체를 표현하기에 크기 ..

    선형배열, 정렬, 탐색, 재귀, 시간복잡도

    선형배열, 정렬, 탐색, 재귀, 시간복잡도

    데이터 엔지니어링 데브코스 Day 1 - 자료구조 및 알고리즘 풀기 1 🚀 선형 배열 (Linear Array) 배열은 원소들을 순서대로 늘어놓은 것 : [1, 3, -9, 10, 4] 배열의 각각의 원소에는 번호가 있는데 이를 index(인덱스)라 함 index 는 0부터 시작함 마지막 인덱스부터 첫 번째 인덱스까지 접근하려면 -1 부터 -1씩 증가시키면 됨 파이썬에서는 서로 다른 종류의 데이터 또한 줄세울 수 있는 list(리스트) 라는 데이터형 있음 🖥 리스트에 활용할 수 있는 연산들 1. 리스트 길이와 관계 없이 빠른 실행 결과를 보여주는 연산 원소 덧붙이기 : `.append(추가할원소)` 리스트 끝에 추가함 끝에서 원소 하나 꺼내기 : `.pop()' a번째 원소 하나 꺼내기 : `.pop(a..