검색 본문
problems.tistory.com Problems 알고리즘 이란? 2 정의 알고리즘이란 어떠한 문제를 해결하기 위한 일련의 절차를 말한다. 요리법처럼 단계적인 절차에 따라서 주어진 문제의 답을 찾아가는 과정 유래 페르시아의 수학자 무함마드 알콰리즈미의 이름에서 유래 최초의 알고리즘은 BC300년경 유클리드의 최대공약수의 알고리즘 출처: ;https://naver.me/GWJxwYlE 컴퓨터... 알고리즘 알고리즘 정의 2024.01.03 블로그 검색 더보기 singyukang.tistory.com 강신규 [알고리즘] 크루스칼(Kruskal) 알고리즘 이란 크루스칼(Kruskal) 알고리즘 의 개념 크루스칼 알고리즘은 그리디 알고리즘을 이용하여 모든 정점을 최소 비용으로 잇는 최소 비용 신창 트리를 찾는 알고리즘입니다. 크루스칼(Kruskal) 알고리즘 동작 방법 1. 그래프의 간선들을 가중치를 기준으로 오름차순 정렬합니다. 2. 정렬된 간선 리스트들 중 최소 가중치인 간선을 선택하여 사이클 발생 여부를 확인합니다. 3. 사이클이 없는 경우 해당 간선을 선택하여 최소신장트리에 추가해준후 같은 세트로 합쳐줍니다(unionSet) 4. V개의 모든 정점을 연결하는 간선의 수가 V-1 까지 반복합니다. https://4legs-study.tistory.com/111 예제 그래프에서 최소 신장 트리를 구해보는 과정을 보여줍니다. https://4legs-study.tistory.com/111 최소 왜 사용해야할까 or 나만의 고민 모든 경로를 잇는 최소 신장 트리를 구하고 싶을때 사용합니다. 크루스칼 알고리즘은 간선의 개수가 E일때 O(ElogE) 의 시간 복잡도를 가집니다 -> 간선 정렬 -> 정점이 많은 경우에 크루스칼 알고리즘이 유리합니다 10 크루스칼 알고리즘은 그리디 알고리즘을 이용하여 모든 정점을 최소 비용으로 잇는 최소 비용 신창 트리를 찾는 알고리즘입니다. 2024.03.21 [알고리즘] 그리디(탐욕) 알고리즘 이란 [알고리즘] DFS(깊이 우선 탐색) 알고리즘 이란 honesttree.tistory.com 우직하게 기록 그리디 알고리즘(Greedy)이란? 이것이 코딩 테스트다 with 파이썬 - Ch. 3 그리디 알고리즘을 공부하고 기록했습니다. 그리디 (Greedy) 알고리즘이란? - 각 상황에 대해 더 좋은 선택지만 선택하는 알고리즘 위 특징처럼 매 순간 좋은 선택지를 고르기에 이후에 발생하는 결과를 고려하지 않는 알고리즘이다. 즉, 매 순간 좋은 결과를 선택하는 방법이... 2024.05.27 구현(Implementation)이란? iamnam.tistory.com 난남 알고리즘 (Algorithm) 이란? 1.알고리즘이란 문제를 해결하기 위한 단계적인 절차나 방법을 말한다. 쉽게 문제 풀이 과정이라고 할 수 있다. 궁극적으로, 문제의 해결을 기계로 실행하기 위한 것이다. 네이버 지식백과에 좋은 예가 있어 들고 왔다. 예를 들어 A가 "이번주 학원 숙제 다 했어?"라고 물었을 때 이에 B는 "응. 다 했어."라고 대답할 것이다. A가 한 문장으로 간단하게 물어봤지만 B는 그 말속에 '수학 문제 풀어오기, 국어 글짓기, 영어 단어 외워오기'가 포함되어 있음을 알고 있다. 이처럼 사람은 그 말속에 포함되어 있는 의미까지 이해할 수 있다. 하지만 컴퓨터는 2.알고리즘의 특징 입력과 출력 : 입력은 없을수도 있으나, 출력은 반드시 하나 이상 생성되어야함 유한성(Finiteness) : 한정된 수의 작업 후에는, 반드시 유한 시간 내에 종료해야 함 명확성(Definiteness) : 각 단계는 단순 명확해야하며, 모호하지 말아야 함 유효성(Effectiveness) : 모든 명령들은 컴퓨터에서 실행가능해야 함결정성(Determinisim) : 매 단계 마다, 입력과 바로 전 단계의 결과에 따라 유일하게 결정됨 일반성(Generality) : 특정 입력값들만 아니라 요구되는 모든 입력에도 적용 가능 효 3.알고리즘의 표현 # 알고리즘의 표현 수단 - 문제를 해결하는 과정을 기술하는 수단으로써, 알고리즘을 표현할 때, 일상 언어, 의사코드, 흐름도(순서도), 프로그래밍 언어(C 언어 등) 등 다양하게 사용 가능 # 보통, 의사코드(Pseudocode)를 많이 사용 - 자연 언어도 아니고, 특정 프로그래밍 언어도 아닌 그 중간 단계의 언어로써, 형식적이고 명확한 문장과 제어 구조는 갖추나, 상세 구현 레벨까지는 신경을 쓰지 않음 4. 알고리즘의 분석 # 컴퓨팅 자원의 한계성 대처 - 계산 시간 및 메모리 비용 모두가 한정된 자원이므로, 효율적 알고리즘이 필요하고, 그 효율성을 분석 평가할 척도도 필요함 # 효율성 구분 - 소요 계산 시간 (연산 수) : 시간 복잡도 (Time Complexity) - 소요 메모리 : 공간 복잡도 (Space Complexity) # 효율성 분석 - 문제의 입력 크기가 증가함에 따라, 처리 시간(연산 수) 및 소요 메모리가 얼마나 증가하는가를 분석함 출처 http://www.ktword.co.kr/test/view/view.php?m_te # 알고리즘의 표현 수단 - 문제를 해결하는 과정을 기술하는 수단으로써, 알고리즘을 표현할 때, 일상 언어, 의사코드, 흐름도(순서도), 프로그래밍 언어(C 언어 등) 등 다양하게 사용 가능 # 보통, 의사코드(Pseudocode)를 많이 사용 - 자연 언어도 아니고, 특정 프로그래밍 언어도 아닌 그 중간 단계의 언어로써, 형식적이고 명확한 문장과 제어 구조는 갖추나, 상세 구현 레벨까지는 신경을 쓰지 않음 2024.04.23 digitalbourgeois.tistory.com 평범한 직장인이 사는 세상 [JAVA] JVM GC(Garbage Collection)이란 무엇인가? 대표 알고리즘 알아보기! 1. Serial GC 특징: 단일 스레드로 작동하며 모든 GC 작업을 하나의 스레드가 수행합니다. Stop-the-World(세상의 모든 작업을 멈춤) 이벤트가 발생하여 GC가 실행되는 동안 애플리케이션의 모든 작업이 중단됩니다. 메모리 효율성이 높고, 설정 및 구현이 간단하지만 성능이 낮아 대규모 애플리케이션에는 부적합합니다. 적용: 단일 프로세서 환경이나 작은 메모리 할당이 필요한 작은 애플리케이션에 적합합니다. 2. Parallel GC 특징: 멀티 스레드를 사용하여 Minor GC를 병렬로 수행합니다. Serial GC보다 빠르며, 여러 스레드를 통해 GC 작업을 병렬로 처리하여 성능을 향상시킵니다. Java 8에서 기본 GC로 설정되어 있습니다. 적용: 멀티 프로세서 환경에서 성능을 최적화하고자 할 때 적합합니다. 3. Parallel Old GC 특징: Parallel GC의 개선된 버전으로, Major GC도 멀티 스레드로 병렬 처리합니다. 큰 힙을 가진 애플리케이션에서 성능을 높일 수 있습니다. 적용: 대규모 데이터 처리와 높은 성능이 요구되는 애플리케이션에 적합합니다. 4. CMS (Concurrent Mark-Sweep) GC 출처 : https://velog.io/@mirrorkyh/GC-%EC%A2%85%EB%A5%98%EC%99%80-%ED%8A%B9%EC%A7%95 특징: Stop-the-World 시간을 최소화하기 위해 GC 작업을 여러 단계로 나눠 병렬로 수행합니다. Mark 단계에서 애플리케이션 스레드와 병행하여 살아있는 객체를 표시하고, Sweep 단계에서 불필요한 객체를 정리합니다. CPU와 메모리 사용량이 많아지며, Java 14 이후로는 사용 중지되었습니다. 적용: 낮은 지연 시간(Low Latency)이 중요한 애플리케이션, 예를 들 5. G1 (Garbage First) GC 출처 : https://velog.io/@mirrorkyh/GC-%EC%A2%85%EB%A5%98%EC%99%80-%ED%8A%B9%EC%A7%95 특징: 힙을 작은 영역으로 나누고, 가장 많은 가비지를 포함한 영역을 우선적으로 정리합니다. Predictable Pause Times를 제공하여 짧은 Stop-the-World 시간을 보장합니다. Young Generation과 Old Generation을 분리하여 관리합니다. 적용: 멀티 코어 CPU와 대용량 메모리 시스템에서 성능을 극대화하고자 할 때 적합합니다. 예를 들어, 대규 4 특징: 단일 스레드로 작동하며 모든 GC 작업을 하나의 스레드가 수행합니다. Stop-the-World(세상의 모든 작업을 멈춤) 이벤트가 발생하여 GC가 실행되는 동안 애플리케이션의 모든 작업이 중단됩니다. 메모리 효율성이 높고, 설정 및 구현이 간단하지만 성능이 낮아 대규모 애플리케이션에는 부적합합니다. 적용: 단일 프로세서 환경이나 작은 메모리 할당이 필요한 작은 애플리케이션에 적합합니다. Java GC jvm 가비지컬렉션 성능튜닝 2024.05.26 blog.naver.com Life Goes On 4. K-Means algorithm (K-평균 알고리즘) 이란 무엇인가 3 우리는 클러스터링의 정의와 종류에 대해 알아보았다. 그리고 오늘은 그중에서 대표적인 알고리즘 중 하나인 K-Means algorithm에 대해 알아보고자 한다. K-Means algorithm 이란 무엇인가? Kmeans algorithm is an iterative algorithm that tries to partition the dataset into K pre-defined distinct non... 2024.04.19 통합웹 더보기
서비스 안내 스토리의 글을 대상으로 검색결과를 제공합니다. 자세히보기 예술도서관 아카데미 인문・교양 분야 크리에이터 라이프스타일을 제시하는 브랜드가 되기 위해서 - 예술경영 함께 공부할까요? 32화 10 가장 기본적인 서비스는 과거 본 영화/영상을 토대로 내가 좋아할만한 콘텐츠를 추천하는 서비스이다. 특정 문제 해결을 위한 절차와 방법을 뜻하는 '알고리즘'이란 용어를 많은 이들에게 익숙하게 만든 서비스로, 오로지 한 고객의 시청기록 등의 데이터를 토대로 그만을 위한 추천을 제공해주고 있다. 유튜브나... 라이프스타일 브랜드 예술경영 2024.01.09 브런치스토리 검색 더보기 story.kakao.com 경식 경식 - 카카오스토리 모든 대회를 시작한다. 최근 공부한 욕심쟁이 선택기법이 떠올랐습니다. 그리디 알고리즘(욕심쟁이 알고리즘, Greedy Algorithm)이란 "매 선택에서 지금 이 순간 당장 최적인 답을 선택하여 적합한 결과를 도출... 2024.04.30 카카오스토리 검색 더보기 인문・교양 크리에이터 보기