본문 바로가기

C언어/알고리즘7

[알고리즘] 이진 탐색 (개념, 배열 동작 방식, C언어 bsearch함수) 💻 오늘의 목표 : 리스트 완전 정복 😊 오늘 할 알고리즘 공부는 이진 탐색 😊 [이진 탐색 (Binary Search)] [이진 탐색의 개념] 정렬된 데이터에서 사용할 수 있는 탐색 알고리즘 속도가 매우 빠르다. 탐색 범위를 1/2씩 줄여나가는 방식으로 작동하기 때문에 이진탐색이라고 부른다. [이진 탐색 동작 방식] 데이터 중앙에 있는 요소 고르기 중앙 요소값과 찾는 목푯값을 비교 목푯값이 중앙 요소값보다 작으면 왼편, 목푯값이 더 크면 오른편에서 이진 탐색 수행 값을 찾을 때까지 위의 과정 반복 [이진 탐색 알고리즘 시간 복잡도 & 성능 분석] 이진 탐색은 탐색을 시도할 때마다 탐색 데이터 범위가 1/2로 줄어든다. 전체 데이터의 1/2, 1/4, 1/8, 1/16.... 이렇게 데이터가 줄어들다가 .. 2023. 4. 12.
[알고리즘] 탐색 알고리즘 (C언어 - 연결리스트 구현) 💻 오늘의 목표 : 탐색 알고리즘 완전 정복 😊 오늘 공부할 알고리즘은 탐색 알고리즘 😊 [탐색 알고리즘] [탐색 알고리즘의 개념] [탐색이란?] 탐색 : Search 여러 데이터들 중 내가 원하는 데이터를 찾는 과정 [탐색의 필요성] 사전에서 영어 단어 찾기, 도서관에서 책 찾기 데이터베이스나 리스트에서 원하는 데이터 찾기 많은 데이터나 자료에서 내가 원하는 값을 찾아내는 탐색은 어디에나 필요하다. [탐색 알고리즘의 종류] 탐색 알고리즘에는 정말 많은 종류의 알고리즘이 있다. 순차 탐색 이진 탐색 너비 우선 탐색 깊이 우선 탐색 다익스트라 알고리즘 이 외에도 많은 알고리즘이 있으므로 때에 따라 알고리즘의 특징에 따라 원하는 알고리즘을 선택하여 구현하면 되는 것! [순차 탐색(Sequential Sear.. 2023. 4. 12.
[알고리즘] 카운팅 정렬(Counting Sort) - C언어 백준 10989번 메모리 초과 문제 해결! 💻 오늘의 목표 : 카운팅 정렬 완전 정복 [버블 정렬, 선택정렬, 삽입정렬] [알고리즘] 정렬 알고리즘 #1 (정렬 알고리즘 개념, 버블정렬, 선택정렬, 삽입정렬) 💻 오늘의 목표 : 정렬 알고리즘 완전 정복 일상생활 속에서 정렬 알고리즘은 정말 많이 활용되는것 같다. 대표적인게 인터넷 쇼핑 사이트에 들어가면, 가격순, 이름순, 최신순, 인기순 등등 내 codename-bobo.tistory.com [퀵 정렬, qsort()] [알고리즘] 정렬 알고리즘 #2 (퀵 정렬, qsort() 함수) 💻 오늘의 목표 : 퀵 정렬 완전 정복 [정렬 알고리즘 개념, 버블정렬, 삽입정렬, 선택정렬] 저번엔 정렬 알고리즘의 개념과, 버블정렬, 선택정렬, 삽입정렬에 대해 알아봤다. [알고리즘] 정렬 알 codename-.. 2023. 4. 10.
[알고리즘] 정렬 알고리즘 #2 (퀵 정렬, qsort() 함수) 💻 오늘의 목표 : 퀵 정렬 완전 정복 [정렬 알고리즘 개념, 버블정렬, 삽입정렬, 선택정렬] 저번엔 정렬 알고리즘의 개념과, 버블정렬, 선택정렬, 삽입정렬에 대해 알아봤다. [알고리즘] 정렬 알고리즘 #1 (정렬 알고리즘 개념, 버블정렬, 선택정렬, 삽입정렬) 💻 오늘의 목표 : 정렬 알고리즘 완전 정복 일상생활 속에서 정렬 알고리즘은 정말 많이 활용되는것 같다. 대표적인게 인터넷 쇼핑 사이트에 들어가면, 가격순, 이름순, 최신순, 인기순 등등 내 codename-bobo.tistory.com 오늘은 여러 가지 정렬을 더 알아보자! [퀵 정렬(Quick Sort)] [퀵 정렬 개념] 분할 정복 방식을 사용한 정렬 알고리즘 이름에서 알 수 있다시피 (Quick : 빠른) 굉장히 빠른 정렬 알고리즘이다. .. 2023. 4. 7.