Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/j-hoplin/algorithm_class

3rd Grade 1st Semester : Algorithm / Description : Implement Algorithms that learned in class via Python, C++
https://github.com/j-hoplin/algorithm_class

algorithm

Last synced: 14 days ago
JSON representation

3rd Grade 1st Semester : Algorithm / Description : Implement Algorithms that learned in class via Python, C++

Awesome Lists containing this project

README

        

# Algorithm : 3rd Grad / 1st Semester
### Looking for Contributor
자신만의 소스코드를 공유하거나, 더 나은 소스코드를 위해 같이 개선해 나아갈 분들은 언제든지 환영입니다!
***
Subject
- 알고리즘 및 실습 / 3학년 1학기 전공필수 / prof. 신지애

Contributers
- [Hoplin (윤준호)](https://github.com/J-hoplin1) : Implement with Python3
- [was564 (김홍준)](https://github.com/was564) : Implement with C++
***
### Programming Assignments
- [Assignment 1 : Iterative QuickSort / Recursive QuickSort / Randomized QuickSort](https://github.com/J-hoplin1/Algorithm_Class/tree/main/Programming%20Assignment/Assignment%201)
- Window 환경에서 실행이 잘 되지 않는 경우도 있습니다. 이런 경우에는 [benchmark.py에서 10^6](https://github.com/J-hoplin1/Algorithm_Class/blob/65f9d5d10197fde87e6fa57395322d9084770404/Programming%20Assignment/Assignment%201/%EC%9C%A4%EC%A4%80%ED%98%B8_ProgrammingAssignment1/benchmark.py#L19) 을 리스트에서 지운 후 실행해 주시면 됩니다.(개인 PC성능차이에 따라 결과가 달라질 수 있습니다.)

- [Assignment 2 : Priority Queue / Prim MST Algorithm](https://github.com/J-hoplin1/Algorithm_Class/tree/main/Programming%20Assignment/Assignment%202)
- 'pip3 install -r requirements.txt' 를 통해 requirements를 미리 설치하시는것을 권장드립니다.
***
### Sorting

- [Bubble Sort(버블정렬)](https://github.com/J-hoplin1/Algorithm_Class/tree/main/Sorting/bubble_sort)
- [Heap Sort(힙정렬)](https://github.com/J-hoplin1/Algorithm_Class/tree/main/Sorting/heap_sort)
- [Insertion Sort(삽입정렬)](https://github.com/J-hoplin1/Algorithm_Class/tree/main/Sorting/insertion_sort)
- [Merge Sort(병합정렬)](https://github.com/J-hoplin1/Algorithm_Class/tree/main/Sorting/merge_sort)
- [Quick Sort(퀵정렬)](https://github.com/J-hoplin1/Algorithm_Class/tree/main/Sorting/quick_sort)
- [Selection Sort(선택정렬)](https://github.com/J-hoplin1/Algorithm_Class/tree/main/Sorting/selection_sort)
- [Counting Sort(계수정렬)](https://github.com/J-hoplin1/Algorithm_Class/blob/main/Sorting/counting_sort)
- 연관된 문제
- [백준 10989 - 수 정렬하기3](https://www.acmicpc.net/problem/10989) : [Solution](https://github.com/J-hoplin1/Algorithm_Class/blob/main/Related%20PS%20Problem/Sorting%20Algorithm/BOJ_10989.py)

### Priority Queue

- [Heap](https://github.com/J-hoplin1/Algorithm_Class/tree/main/Priority%20Queue/Heap)
- [Priority Queue using Heap](https://github.com/J-hoplin1/Algorithm_Class/tree/main/Priority%20Queue/PriQueue)
- 위에서 구현한 Heap을 사용하여 구동됩니다. Priority Queue를 보시기 전에 Heap을 모르신다면, [Heap](https://github.com/J-hoplin1/Algorithm_Class/tree/main/Priority%20Queue/Heap)을 공부하고 보시는걸 추천드립니다.

### Search Tree

- [Binary Search Tree(이진 검색트리)](https://github.com/J-hoplin1/Algorithm_Class/tree/main/Search%20Tree/BST(Binary%20Search%20Tree))

### Hash

- [Chained Hash](https://github.com/J-hoplin1/Algorithm_Class/blob/main/Hashing/Python/ChainedHash.py)
- [OpenAddress Hash](https://github.com/J-hoplin1/Algorithm_Class/blob/main/Hashing/Python/OpenAddressHash.py)

### Set(집합)

- [Union Find Algorithm](https://github.com/J-hoplin1/Algorithm_Class/blob/main/Set/UnionFind/unionfind.py)

### Dynamic Programming(동적계획법)

- [Fibonacci Number](https://github.com/J-hoplin1/Algorithm_Class/blob/main/Dynamic%20Programming/Fibonacci.py)
- 연관된 문제
- [백준 24416 - 알고리즘수업 피보나치1](https://www.acmicpc.net/problem/24416) : [Solution](https://github.com/J-hoplin1/Algorithm_Class/blob/main/Related%20PS%20Problem/Dynamic%20Programming/BOJ_24416.py)
- [LCS](https://github.com/J-hoplin1/Algorithm_Class/blob/main/Dynamic%20Programming/LCS.py)
- 연관된 문제
- [백준 9251 - LCS](https://www.acmicpc.net/problem/9251) : [Solution](https://github.com/J-hoplin1/Algorithm_Class/blob/main/Related%20PS%20Problem/Dynamic%20Programming/BOJ_9251.py)

### Graph Algorithm

#### Graph 기본

**Readme를 확인해주세요 : [Readme.md](https://github.com/J-hoplin1/Algorithm_Class/blob/main/Graph%20Algorithm/Readme.md)**
- [BFS](https://github.com/J-hoplin1/Algorithm_Class/tree/main/Graph%20Algorithm/BFS)
- [DFS](https://github.com/J-hoplin1/Algorithm_Class/tree/main/Graph%20Algorithm/DFS)
- 연관된 문제
- [백준 1260 - DFS/BFS](https://www.acmicpc.net/problem/1260) : [Solution](https://github.com/J-hoplin1/Algorithm_Class/blob/main/Related%20PS%20Problem/Graph%20Algorithm/BOJ_1260.py)
- [백준 2606 - 바이러스](https://www.acmicpc.net/problem/2606) : [Solution](https://github.com/J-hoplin1/Algorithm_Class/blob/main/Related%20PS%20Problem/Graph%20Algorithm/BOJ_2606.py)

#### Minimum Spanning Tree(최소신장트리)

- [Prim's Algorithm](https://github.com/J-hoplin1/Algorithm_Class/blob/main/Graph%20Algorithm/MST(Mininum%20Spanning%20Tree)/PrimAlgorithm.py)

#### Topological Sort(위상정렬)

- [Topological Sort](https://github.com/J-hoplin1/Algorithm_Class/tree/main/Graph%20Algorithm/TopologicalSort)

#### Shortest Path(최단경로)

- [Dijkstra Algorithm(다익스트라)](https://github.com/J-hoplin1/Algorithm_Class/tree/main/Graph%20Algorithm/ShortestPath/Dijkstra%20Algorithm)
- [Floyd Warshall(플로이드 워셜)](https://github.com/J-hoplin1/Algorithm_Class/tree/main/Graph%20Algorithm/ShortestPath/FloydWarshall%20Algorithm)