일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 정렬
- mysql
- asp.net core
- C++
- sql
- C#
- .NET
- dfs
- docker-compose
- 자료구조
- BFS
- 백준
- 도커
- quick sort
- maui
- Merge Sort
- Get
- 탐색
- Docker
- REDIS
- 큐
- .net maui
- 스택
- asp.net
- 알고리즘
- API
- 파이썬
- 재귀
- 시간복잡도
- .net core
- Today
- Total
목록컴공의 일상/Python programming (3)
코젤브
오늘은 이어서 탐색 알고리즘 DFS, BFS 에 대해 공부하겠다! 더보기 사실 차근차근 진도를 나가면서 블로그에 정리하려고 했으나, 항상 밀려서 급하게 정리한다. 알고리즘 개념에 해당하는 간단한 세미코테 문제들도 곧 올리겠다! 탐색 알고리즘 : 리스트/배열 내에서 특정 원소를 탐색하는 방법 DFS, BFS를 공부하기 전, Stack과 Queue의 자료구조와 그래프에 대해 간단하게 복습하자. 자료 구조 데이터를 표현 관리 처리하기 위한 구조 Stack : 선입후출 구조 먼저 들어온 것이 나중에 나간다 first in last out (FILO) Queue : 선입선출 구조 들어온 순서대로 나간다 first in first out (FIFO) 그래프 유한개의 꼭지점 Vertex의 집합 V와 두 꼭지점을 원소..
💡 내용 순차탐색 이진탐색 보간탐색 속도 비교 탐색 알고리즘 : 리스트/배열 내에서 특정 원소를 탐색하는 방법 순차 탐색 가장 기본적인 탐색 알고리즘 주어진 데이터를 찾기 위해 처음부터 하나씩 차례로 확인 시간복잡도: O(n) 단점 : 데이터가 큰 경우에는 적합하지 않음 장점 : 데이터가 작거나 중간 정도는 적당 / 미리 정렬 필요 X L=[9,8,1,2,7,3,6,4,5] def LinearSearch(L, n): for i in range(0, len(L)): if L[i] == n: return i return -1 print(LinearSearch(L, 3)) Binary Search (이진 탐색) 배열 내부 데이터가 정렬되어 있어야만 사용 가능 배열 크기 작으면 효율적이지 않음 각 단계에서 배열..
알고리즘 : 어떤 문제를 해결하기 위한 정해진 절차 정렬 알고리즘 : 데이터를 특정 기준에 따라 순서대로 나열 naive sort : 선택 정렬 가장 작은 원소를 찾아 맨 앞으로 이동 그 다음 작은 원소를 찾아 두 번째로 이동 위 과정의 반복 시간복잡도: O(n²) L=[4,2,1,0,5,3,6] def sort_list_naive(L): nlen= len(L) for i in range(0, nlen): idx = i for j in range(i+1, nlen): if L[idx]>L[j]: idx = j L[i], L[idx] = L[idx], L[i] return L print(sort_list_naive(L)) insert sort : 삽입 정렬 현재 위치 이전은 정렬되어 있다 가정하고, 이후의..