알고리즘/알고리즘

[⭐항상 새겨두어야할 공부 방법⭐] - 다른 사람한테 설명 가능해야 함! (설명 못하면 제대로 이해 못한거) - 항상 구조적으로 생각하고 이해하기 ( 왜 이렇게 되는지 ) - 하고 많은 다양한 똑같은 것들 중에서 왜 이걸 사용하는지? Nest.js 를 공부하다가 본 내용인데 Nest에서 "모듈 이벤트는 위상 정렬(Topological Sort)을 거쳐 거리에 따라 정렬된 후, onModuleInit를 호출한다" 라고 해서 위상정렬이 뭔지 한번 찾아봤다!! 위상정렬은 쉽게말해서 "순서가 정해져있는 작업을 차례대로 수행해야 할 때 그 순서를 결정해주기 위해서" 사용하는 알고리즘이다! - 위상 정렬은 여러가지 답이 존재할 수 있다! - DAG(Directed Acyclic Graph)에만 적용할 수 있음..!
이전 게시물.. ( 버블정렬의 개념!!) https://jihoon2723.tistory.com/entry/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%B2%84%EB%B8%94%EC%A0%95%EB%A0%ACbubble-Sort [알고리즘] 버블정렬(bubble Sort) 알고리즘을 공부를 시작해보려고 한다..! 평소에 조금씩이라도 해야할것 같다는 생각이 들었다. 버블정렬을 알아보니 평소에 생각없이 쓰던 정렬 방법이였다는것을 알았다..! 이제는 무엇이든 jihoon2723.tistory.com 버블정렬에 대해 공부하다가.. 구현하기 쉬워서 사용하긴 했었는데 공부하다보니 그렇게 효율적인 방법은 아니라는 생각이 들었다.. 그래도.. 버블정렬을 필요한 시점이 있지않을까? 싶어서 ..
알고리즘을 공부를 시작해보려고 한다..! 평소에 조금씩이라도 해야할것 같다는 생각이 들었다. 버블정렬을 알아보니 평소에 생각없이 쓰던 정렬 방법이였다는것을 알았다..! 이제는 무엇이든 알고 사용하도록 하자..!! [⭐항상 새겨두어야할 공부 방법⭐] - 다른 사람한테 설명 가능해야 함! (설명 못하면 제대로 이해 못한거) - 항상 구조적으로 생각하고 이해하기 ( 왜 이렇게 되는지 ) - 하고 많은 다양한 똑같은 것들 중에서 왜 이걸 사용하는지? 항상 무엇을 학습하든 위 내용을 생각하면서 살아야지..! 본론으로... 버블정렬 프로세스 - 첫 번째 원소와 두 번째 원소 비교하고, 두 번째 원소와 세 번째 원소를, 세 번째와 네 번째....~~ 이런식으로 마지막-1 번째 원소와 마지막 원소 까지 비교하여 서로 ..
동적 계획법은 큰 문제를 작은 문제로 나눠서 최종 문제를 해결하는 알고리즘이다. 작은 문제를 처리할 때 수행되는 답을 저장해 놓고 다음번에 필요할 때 그 값을 불러와서 처리한다. 재활용 개념이라고 이해하면 쉽다. 분할 정복과 비슷한 개념이지만 분할 정복과 동적 계획법의 차이점은 분할 정복에서의 쪼개진 작은 문제들은 중복되지 않지만 동적 계획법에서 쪼개진 문제는 서로 연관성이 있다는 점이다. (분할 정복에 대해서는 나중에 공부한 후 포스팅 예정입니다.) 개념 동적 계획법은 문제를 풀 때 하나의 문제를 여러 하위 문제로 나누어 풀고, 그것들을 결합해서 최종 목적에 도달하는 방식의 알고리즘입니다. 피보나치 수열을 재귀로 표현했을 때 결함이 생기는데 이를 동적 계획법으로 보완한 사례를 보면서 알아 보겠습니다. ..
Map 중에서 HashMap에 대해 알아보자! [HashMap, TreeMap, LinkedHashMap]과 같은 Map들이 있다. 각 Map의 사용법, 차이점은 다음에 알아보자! 오늘은 HashMap!! Map인터페이스란? Map인터페이스는 키(Key)와 데이터(Value) 값을 한 쌍으로 묶어서 저장하는 컬랙션 클래스를 구현하는 데 사용된다. 키(Key)의 중복을 허용하지 않지만 값(Value)의 값은 중복을 허용합니다. 그 이유는 값(Value)을 추출하기 위해서는 키(Key)객체에 대응하는 값(Value) 객체를 반환하는데 중복된 Key객체가 있을 경우 어떠한 키(Key) 객체를 가져와야 할지 모르기 때문이다. (사진 및 내용참고 출처:https://2018-start.tistory.com/33)..
나는이지훈
'알고리즘/알고리즘' 카테고리의 글 목록