알고리즘, 데이터구조 with Nico 시리즈에서 알고리즘, 데이터구조를 공부할 때 = 애플리케이션 개발 및 배포 후 오류가 없지만 애플리케이션 구동 속도가 느릴 때 라고 한다.사실 회사에서 속도가 느려질 정도로 큰 프로젝트를 하진 않았지만 면접을 보러 다니면서 알고리
10개의 데이터가 있는 배열에서 '7'을 찾을 때 1번 아이템부터 차례대로 7이 맞는지 확인을 한다. (끝까지 순서대로 차근차근) 이렇게 순서대로 목표값을 찾는걸 선형검색 알고리즘 (Linear Search)라고 한다.찾는 아이템이 배열 맨 마지막에 있거나 해당 배열에
속도는 컴퓨터라는 하드웨어가 결정하기 때문에 알고리즘은 '빠르다', '느리다'처럼 시간으로 결정되지 않고 "완료까지 걸리는 절차의 수"로 결정된다.이렇게 표현되는 알고리즘의 속도를 BigO라고 하는데, BigO를 사용하면 시간복잡도를 빠르게 설명할 수 있다.BigO를
Sorting이란 무언가를 정리하는 것을 의미하며, 사전처럼 A부터 Z까지 기준으로 정렬하든가 큰 수에서 작은 수 기준으로 정렬할 수 있다.이진검색 알고리즘을 사용하기 위해서는 배열을 정렬해야 한다.아래의 버블정렬, 선택정렬, 삽입정렬은 실제로 자주 쓰이는 알고리즘은
Hash Table은 진짜진짜 중요한 자료구조!엄청 유용하고 코드를 빠르게 만들어줌!Hash Table은 Key Value System을 이용해서 자료를 정리한다.Key Value System의 예시로는 사전이 있다. 사전에서 단어를 찾고 (=Key) 해당 단어의 뜻과
스택(Stack)과 큐(Queue)에 대해 알아볼 것이다!(스택과 큐도 결국 배열 위에 어떤 규칙을 설정한 모습이다.)그러나 스택과 큐는 실제로 프로그래밍 언어들에서 존재하지 않는다. > 또한 스택과 큐는 자료구조가 스택 또는 큐로 구분되기 위한 규칙이라고 할 수 있다