본 내용은 "이것이 코딩 테스트다(한빛미디어)"자료를 참고하였습니다.순차 탐색: 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 확인하는 방법이진 탐색: 정렬되어 있는 리스트에서 탐색의 범위를 절반씩 좁혀가며 데이터를 탐색하는 방법이진 탐색은 시
웹앱프로젝트를 진행하고 있지만 알고리즘관련 공부를 너무 등한시한 것 같아서 알고리즘 관련된 공부도 병행해서 진행해보려하고 관련내용을 블로그에 정리할 것입니다. 이에 앞서 알고리즘 공부시작할때 반드시 알아야할 개념들에 대해 설명드리겠습니다.(Python 3 기반)1\.
인트로O(logn) 알고리즘O($$\\sqrt{n}$$) 알고리즘O(n) 알고리즘O($$n^2$$logn) 알고리즘알고리즘을 배우다가 Big-O 표기법으로 크기비교도 해보았지만 O(logn)같은 복잡도를 가지는 알고리즘은 어떻게 구현되었을지 궁금했다.k는 1부터 2배씩
인트로그래프 탐색 알고리즘 DFS/BFS스택큐재귀함수DFS 알고리즘BFS 알고리즘DFS & BFS 기초 문제 풀이자료구조 수업을 통해서 Graph에 대해서 배우고 과제도 했지만 아직 머릿속에 BFS, DFS가 무엇인지, 어떻게 활용해야하는지 명확하게 알지 못해서 이번기
python으로 자료구조 강의를 통해 배운 Stack, Queue, LinkedList가 어떻게 구현될 수 있는지 궁금해서 한번 공부해보았다.ADT vs Data StructureStackQueueLinkedList\-데이터 타입의 정의가 그 데이터 타입의 구현으로부터
본 교안은 "이것이 취업을 위한 코딩 테스트다 with 파이썬"을 참고하여 제작되었음을 알립니다.그리디 알고리즘(탐욕법)은 현재 상황에서 지금 당장 좋은 것만 고르는 방법을 의미합니다.일반적인 그리디 알고리즘은 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력
알고리즘은 공부하다가 분할 정복알고리즘 이후 훨씬 효율적인 알고리즘인 다이나믹 프로그래밍 알고리즘이 방법이 있다고 해서 궁금해서 공부해보았습니다.1\. 다이나믹 프로그래밍(Dynamic Programming)2\. 피보나치 수열(Fibonacci Sequence)3\.
원래 문제를 풀 수 있을 정도의 작은 크기의 부분 문제들로 분할해 각각 해결한 후, 부분 문제의 해답을 잘 모아 원래 문제의 해답을 얻는 방법크기가 작아질 뿐 문제 자체는 변하지 않기 때문에, 분할은 재귀적인 분할이 된다.재귀적인 분할이므로 분할정복 방법의 알고리즘 수
※ 본 교안은 "한빛미디어 이것이 취업을 위한 코딩 테스트다"를 참고하였음을 밝힙니다.최단 경로 알고리즘은 가장 짧은 경로를 찾는 알고리즘을 의미합니다.다양한 문제 상황한 지점에서 다른 한 지점까지의 최단 경로한 지점에서 다른 모든 지점까지의 최단 경로모든 지점에서 다