일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 최대 힙
- 백준 장학금
- HTTP
- heapq
- 알고리즘
- 백준장학금
- 최소힙
- 완전이진트리
- python
- JVM
- 운영체제
- JPA
- SpringSecurity
- MSA
- 점근적 표기법
- 자료구조
- 엔티티 그래프
- 프로세스
- 연결리스트 종류
- jpa n+1 문제
- posix
- 힙트리
- Kruskal
- spring
- 멀티프로세서
- 강화학습
- 스케줄링
- 연결리스트
- AVL트리
- 이분탐색이란
- Today
- Total
목록전체 글 (106)
KKanging

stack이란 자료구조에 대해 알아보겠습니다. 스택(Stack)은 컴퓨터 과학에서 중요한 개념 중 하나입니다. 위에 테니스 공 통에 테니스 볼을 넣는 거와 같이 한쪽 끝에서 입력과 출력이 이루어지고 마지막에 들어간 공이 먼저 꺼낼 수 밖에 없는 것처럼(Last In First Out) 스택이란 자료구조도 동일하게 작동하는 자료구조 입니다. 스택이란? 삽입과 삭제 연산이 한쪽 끝에서 이루어지는 자료구조 LIFO (Last In First Out) 스택을 구현할 수 있는 방법? 배열→ 구현이 쉬우나 정적인 크기라 제한이 있음 리스트 ( 연결리스트 ) → 구현이 배열에 비해 어려우나 자료구조의 크기가 동적이다는 장점이 있음 이 글에서는 배열로 구현한 예만 보여드립니다. 연결리스트 구현이 그렇게 어려운 것 아니..

파이썬은 매우 다양한 자료형을 지원하며, 특히 리스트는 그 중에서도 매우 유연한 자료형입니다. 리스트는 여러 개의 값을 하나의 변수에 저장할 수 있는 자료구조로, 값을 추가, 삭제, 변경할 수 있습니다. 동적 배열과 리스트 파이썬의 리스트는 내부적으로 C언어 처럼 배열을 가지고 있습니다. 하지만 차이점이 있다면 동적 배열로 구현되어 있습니다. 동적 배열은 크기를 동적으로 조정할 수 있는 배열입니다. 이를 통해 리스트는 요소의 추가, 삭제, 탐색 등에 효율적인 작업을 수행할 수 있습니다. numbers = [1, 2, 3, 4, 5] 위 코드는 숫자 1부터 5까지의 값을 가진 리스트를 생성한 것입니다. 이때 리스트에 추가로 요소를 삽입하거나 기존 요소를 삭제하는 등의 작업을 수행하면, 파이썬은 자동으로 리..

연결리스트 종류 단일 연결리스트(Single linked list) 이중 연결리스트 (Doubly linked list) 원형 연결리스트 (Circular linked list) 원형 이중 연결리스트 (Doubly Circular linked list) 단일 연결리스트(Single linked list) 참고 사이트: 연결리스트란 연결리스트의 개념이 궁금하시면 연결리스트가 뭔지 보고 오시면 좋을거 같습니다. 이중(양방향) 연결리스트 (Doubly linked list) 이중 연결리스트는 각 노드가 두 개의 참조를 가지며, 하나는 다음 노드를 가리키고 다른 하나는 이전 노드를 가리킵니다. 이로 인해 리스트를 양방향으로 탐색할 수 있습니다. 이를 파이썬으로 구현하는 경우 Doubly_linked_list 클..

연결리스트란(Linked List) 연결리스트는 배열과 다른 종류의 데이터를 저장하는 자료구조 연결 리스트는 선형 자료구조로서, 각 노드가 다음 노드를 가리키는 형태를 가지고 있습니다. 이것은 마치 서로 꼬리를 물고 있는 것처럼 보일 수 있습니다. 각 노드는 동적으로 할당되므로, 노드들 사이의 주소 값은 연속적이지 않습니다. 반면에 배열은 연속된 메모리 주소에 데이터를 저장하는 자료구조입니다. 각 값들은 연속된 주소에 위치하므로 인덱스를 사용하여 빠르게 접근할 수 있습니다. 하지만, 연결 리스트는 배열과 달리 중간 값을 인덱싱하여 바로 접근하는 것이 불가능합니다. 연결 리스트의 탐색은 보통 헤드로부터 시작하여 각 노드가 가리키는 다음 노드로 이동하며 이루어집니다. 이런 특성 때문에 연결 리스트는 노드의 ..

서론 자동차중 뭐가 더 빠른지 확인하기 위해 km란 단위를 사용합니다. 단거리 육상 선수가 얼마나 빠른지 몇초만에 50m를 주파하는지 검사합니다. 알고리즘에서는 뭐가 더 좋은 알고리즘일까요? 만약 어떤게 더 좋은 알고리즘이라면 어떤 기준으로 정할까요? 이번 게시물에는 어떤 기준으로 정하는지 어떻게 그 기준을 구하는지 배워 보겠습니다. 좋은 알고리즘이란 수행시간이 적음 사용된 메모리 공간이 적음 알고리즘의 평가 기준 공간 복잡도: 알고리즘 수행에 필요한 메모리 공간 시간 복잡도: 알고리즘의 수행시간 (일반적으로 시간복잡도로 많이 비교) 공간 복잡도란(Space Complexity) 공간 복잡도: 고정 공간 + 가변 공간 고정 공간: 문제의 instance에 무관한 일정한 양의 메모리 공간 가변 공간: 문제..

이 글을 읽는 분들은 자료구조에 대해 궁금하거나 이제 막 시작한 분들이라 생각합니다. 자료구조란 자료구조란 저희가 평소에 프로그래밍하면서 맨날 쓰는 배열과 같은 구조들이 자료구조인데요. 자료구조(Data Structure)란 컴퓨터 과학에서 데이터를 구성하고 조직화하는 방법을 의미합니다. 데이터를 효율적으로 저장, 검색, 조작하기 위한 방법과 연산을 포함합니다. 즉, 자료구조는 데이터의 특성과 목적에 따라 적합한 형태로 데이터를 구성하는 방법입니다. 자료구조를 왜 쓰는가? 그럼 "배열을 계속 쓰면 되는거 아닌가?" 라고 생각할 수 있습니다. 우선 저 질문에 대한 답을 쓰자면 맞습니다 그냥 배열을 꾸준히 쓸 수 있지만 한정된 자원과 더 효율적이고 빠른 프로그램을 위해 자료구조를 사용해야 합니다. 자료구조의..