Python5 [Javascript] 자료구조 - Hash Table 1. 해시 테이블(Hash Table)이란? 해시 테이블은 key와 value의 쌍으로 데이터를 저장하는 자료구조이다. 해시 테이블은 보통 배열을 기반으로 하며, 각각의 키에 대해 고유한 해시 함수를 사용하여 인덱스로 변환한 후 해당 인덱스에 값을 저장해서 빠른 데이터 검색 및 삽입을 가능하게 한다. 해시 테이블은 해시 함수를 사용하여 키를 인덱스로 변환하므로 데이터를 빠르게 검색하고 삽입할 수 있는데 해시 함수의 시간 복잡도가 O(1)에 가까울 경우에 검색 및 삽입 연산의 평균 시간 복잡도도 O(1)에 가깝다. 해시 테이블의 각 키는 해시 함수를 통해 고유한 인덱스로 변환된다. 이로 인해 중복된 키가 발생할 수 없으며, 각 키는 하나의 값과 연결된다. 가끔 해시 테이블의 문제로 해시 충돌이라는 상황이 .. 2024. 4. 2. [Javascript] 자료구조 - Heap 1. Heap이란? 힙(Heap)은 자료구조의 한 종류로, 특정한 규칙을 가지는 이진 트리이다. 주로 우선순위 큐를 구현하는 데 사용된다. 힙은 완전 이진 트리의 일종으로 마지막 레벨을 제외한 모든 레벨에서 노드들이 완전히 채워져있고, 마지막 레벨의 노드들은 왼쪽부터 순서대로 채워져있다. 힙의 각 노드는 일반적으로 부모 노드보다 더 높은 우선순위를 가지고 있다. 이를 최대 힙(Max Heap)이라고 한다. 반대로 각 노드는 부모 노드보다 더 낮은 우선순위를 가지고 있는데 이를 최소 힙(Min Heap)이라고 한다. 힙은 부모노드와 자식노드간의 우선순위 조건이 항상 유지되어야한다. 따라서 삽입이나 삭제연산을 할 때 힙속성을 유지해야한다. 최대힙에서는 최대값을 빠르게 찾아야하며, 최소힙에서는 최소값을 빠르게.. 2024. 4. 2. [Javascript] 자료구조 - 우선순위 큐 1. 우선순위 큐란? 우선순위 큐(Priority Queue)는 자료구조의 일종으로, 각 요소에 우선순위를 할당하고, 우선순위가 높은 요소가 먼저 처리되는 자료구조이다. 보통 큐(Queue)와 유사한 동작을 하지만, 일반적인 큐와 달리 요소를 꺼낼 때에는 해당 요소의 우선순위에 따라 선택된다. 우선순위 큐는 각 요소가 우선순위를 갖고 있으며, 이 우선순위에 따라 요소의 처리 순서가 결정된다. 일반적으로 우선순위가 높은 값이 먼저 처리된다. 이는 일반적인 큐의 형태를 가지고 있으나, 요소의 처리는 우선순위에 따라 이루어진다. 힙이나 이진 검색 트리와 같은 자료구조를 사용하여 구현된다. 힙은 우선순위 큐를 구현하는 데 가장 효율적이며, 삽입, 삭제, 우선순위 변경 등의 연산을 빠르게 수행할 수 있다. 2... 2024. 4. 1. [python] 내가 헷갈렸던 파이썬의 개념 파이썬에 흥미를 갖고 공부를 하면서, 자바스크립트와는 용어와 용법이 달라 헷갈렸던 개념을 오늘 정리해볼까 하는데요. 1. 배열을 리스트라고 부르는 것 # 배열, 리스트입니다. a = [38, 21, 23, 11, 13] a라는 변수안에 5개의 숫자가 들어있는 리스트를 만들었습니다. 파이썬에서 리스트를 만드는 방법은 그냥 대괄호 안에 여러요소 값을 넣는 방법도 있지만, range와 list 함수를 이용해 만들 수도 있습니다. # list 함수 사용 members = list() # range 함수 사용 # 0 ~ 9 까지 숫자를 생성한다. range(0, 10) # 0 ~ 9까지 들어있는 리스트가 만들어진다. nums = list(range(10)) 2. 튜플이라는 자료형이 있다. 튜플은 리스트처럼 요소를.. 2021. 5. 17. [python] 파이썬 클린코드 (1) 저의 회사의 백엔드 기술스택은 파이썬을 기반으로 이루어져있는데요. 그렇기 때문에 요즘 조금씩 찾아보면서 파이썬에 대해 배워가고 있습니다. 프로그래밍 언어 학습이라는 것이 원래 첫 언어, 처음만 버겁고 하나를 어느정도 익히고 나면 다른 언어들도 그 전보다는 수월하게 익힐 수가 있는데요. 그래서 오늘은 학습의 일환으로 파이썬 클린코드에 대해 정리해보려고 합니다. 1. 변수 선언시 의미있는 변수를 사용하고 타입 지정하기 import datetime # 나쁜 예 ymdstr = datetime.date.today().strftime("%y-%m-%d") # 좋은 예 current_date: str = datetime.date.today().strftime("%y-%m-%d") 의미있는 변수, 함수명 사용은 어떤.. 2021. 5. 7. 이전 1 다음