선택 정렬은 리스트 중에서 가장 작은 값(또는 가장 큰 값)을 선택하여 리스트의 앞(또는 뒤)쪽으로 Swap하는 방식이다.출처 : https://github.com/minsuk-heo/problemsolving/blob/master/sort/SelectionS
프로그래머스 스택, 큐 Lv.1 테스트를 보던 중(같은 숫자는 싫어)내 코드는 for 반복문을 돌렸지만 효율성에서 좋지 않은 모습을 보였다.처음부터 다시 돌리고 또 돌리는 모습이라고 한다.이제 효율성까지 따지는 코드를 짜자니 뭔가 감회가 새롭고 신기했다.그러면서 한편으
그리디 알고리즘 그리디(Greedy) 알고리즘은 탐욕법이라고도 하며, 현재 상황에서 지금 당장 좋은 것만 고르는 방법을 의미합니다. 일반적인 그리디 알고리즘은 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력을 요구합니다. 그리디 알고리즘을 이용하면 매
Hash Table Algorithm 1. 해쉬 구조 Hash Table : Key , Value 로 구성됨. 파이썬에서는 딕셔너리라는 이름으로 구현 되어 있음.딕셔너리가 없는 언어에서의 구현 순서 배열로 hashTable 생성. hashFunc(key) -> h
Given an unsorted list of some elements(may or may not be integers), Find the frequency of each distinct element in the list using a dictionary. Examp
리스트나 스택, 큐로 가계도나 조직도를 구현할 수 있을까? 선형자료구조로는 계층형 구조를 표현하기 어렵다. 계층형 구조를 가진 문제를 해결하기 위한 자료구조가 '트리'이다.무방향 그래프의 한 구조하나의 데이터 뒤에 여러개의 데이터가 존재할 수 있는 비선형 구조이다.계층
Diijkstra Algorithm 최단 경로 알고리즘 은 지하철 노선도, 네비게이션 등 다방면에 사용되는 알고리즘입니다. 이번 시간에는 Python 을 이용해 하나의 시작 정점 으로 부터 모든 다른 정점까지의 최단 경로를 찾는 최단 경로 알고리즘인 다익스트라(dij
Backtracking Algorithm 백트래킹은 어떤 테크닉인데 ‘조합 알고리즘 문제’에 대해 모든 가능한해를 나열하는 것이다. 그렇다. 백트래킹은 모든 조합의 수를 살펴보는 것인데 단 조건이 만족할 때 만이다. 모든 경우의 수를 모두 찾는 것보다 ‘경우에 따라'
💡 연결리스트(Linked List) 📌 연결리스트란? 연결리스트는 다른 추상 자료형(Abstract Data Type)을 구현할 때 기반이 되는 기초 선형 자료구조이다. 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장한다.
Brute Force라고도 불리며 컴퓨터의 빠른 계산 성능을 활용하여 가능한 모든 경우의 수를 탐색하는 효율성 관점에서 최악의 방법브루트 포스는 선형 구조와 비선형 구조로 나뉜다.선형 구조 : 순차 탐색비선형 구조 : 백트래킹, DFS, BFS반복문으로 구현재귀함수로