Algorithm/Study Algorithm/Study 2021. 9. 30. [10주차] 연결리스트/트리구조 ✍ PlayData 10주차 연결리스트 / 트리구조 수강 후 기록 연결리스트 / 트리구조 연결리스트는 배열 기반의 리스트(선형 리스트)와 비슷한 기능을 가진 자료구조 이지만, 선형 리스트와 다르게 노드의 동적 할당과 포인터를 기반으로 구현되기에 메모리 크기에 유연하게 대처가 가능. 트리구조는 부모-자식 관계로 정의하고, 부모에서 자식으로 간선이 이어져 있는 유향 그래프. 부모 노드 밑에 여러 자식 노드가 연결되고, 자식 노드 각각에 다시 자식 노드가 연결되는 재귀적 형태의 자료구조. Algorithm/Study 2021. 9. 15. [9주차] 탐욕법 ✍ PlayData 9주차 탐욕법 수강 후 기록 탐욕법 그리디 알고리즘이라고 불리는 탐욕법은 매 선택에서 지금 이 순간 당장 최적인 답을 도출할 때 쓰임. 현재 처한 상황에서 최적의 해를 구하는것이기 때문에 적절한 값으로 인식하여 문제를 해결하는 기법. 따라서 각 상황에서의 최적의 값이 무조건 종합적인 최적의 값을 보장하지는 않기에 성격을 잘 파악하여 대입하는것이 중요. 즉, 탐욕법이 적용 가능한 문제인지 판별해야 함. Algorithm/Study 2021. 9. 12. [8주차] 다익스트라 ✍ PlayData 8주차 다익스트라 수강 후 기록 다익스트라 다이나믹 프로그래밍을 활용한 대표적인 최단 경로 탐색 알고리즘. 특정한 하나의 정점에서 다른 모든 정점으로 가는 최단 경로를 알려줌. Algorithm/Study 2021. 9. 2. [7주차] 동적계획법 ✍ PlayData 7주차 동적계획법 수강 후 기록 동적계획법 문제의 최적해를 구하거나 답의 개수를 세는 과정에 사용할 수 있는 알고리즘 설계 기법 불필요한 계산을 줄이고, 효율적으로 최적해를 찾을 수 있음 전체 문제를 작은 문제로 단순화한 다음 점화식으로 만들어 재귀적인 구조를 활용해 전체 문제를 해결하는 방식 Algorithm/Study 2021. 8. 29. [6주차] 재귀함수 ✍ PlayData 6주차 재귀함수 수강 후 기록 재귀함수 어떤 함수에서 자신을 다시 호출하여 작업을 수행하는 방식의 함수를 의미 재귀호출, 되부름이라고 부르기도 함 재귀함수를 작성할 때는 함수 내에서 다시 자신을 호출한 후 그 함수가 끝날 때까지 함수 호출 이후의 명령문이 수행되지 않는다는 사실과 종료 조건이 꼭 포함 되어야 함 Algorithm/Study 2021. 8. 21. [5주차] 해시(Hash) ✍ PlayData 5주차 해시 수강 후 기록 해시(Hash) 데이터를 다루는 기법 중 하나. 데이터를 검색할 때 사용할 key와 실제 데이터 값이 한 쌍으로 존재하고, key 값이 배열의 인덱스로 변환되기 때문에 검색과 저장이 아주 빠르게 진행된다. Algorithm/Study 2021. 8. 14. [4주차] 진법변환/비트연산 ✍ PlayData 4주차 진법변환/비트연산 수강 후 기록 진법변환 10진법의 수를 2진법, 8진법으로 바꾸는 것 진법 : 수를 셀 때 자릿수가 올라가는 단위를 기준으로 하는 셈법의 총칭 사용하는 숫자의 개수가 진법의 숫자를 의미 비트연산 한 개 혹은 두 개의 2진수에 적용 되는 연산 NOT, OR, XOR, AND 등이 있다. Algorithm/Study 2021. 8. 9. [3주차] BFS/DFS ✍ PlayData 3주차 BFS/DFS 수강 후 기록 BFS (Breadth First Search) 너비 우선 탐색. 하나의 경우의 수에 대한 다음 단계의 모든 경우의 수를 조사하면서 해를 찾는 과정 시작 정점으로부터 가까운 정점을 먼저 방문하고, 멀리 떨어져 있는 정점을 나중에 방문하는 순회 방법. 두 노드 사이의 최단 경로 혹은 임의의 경로를 찾고 싶을 때 많이 사용 while len(queue) > 0: # queue에 데이터가 있다면 count = len(queue) # 같은 거리에 있는 queue 데이터 개수 for time in range(count): # 같은 거리에 있는 queue 개수 만큼 검사 now = queue.pop(0) if now == dest: # 정답이 존재하면 값 반환.. 이전 1 2 다음