CS 지식/자료구조와 알고리즘

이진 탐색 알고리즘 (Binary search algorithm) 파이썬 (Python)으로 탐색 (검색) 알고리즘 (Search algorithm)의 이진 탐색 (Binary search) 코드를구현하는 방법 1. 이진 탐색 알고리즘 : 글로 써보기 2. 이진 탐색 알고리즘 구현해보기 (도전) - 코드 설명, 유의점 3. 🌟이진 탐색 알고리즘 (정답)🌟 - 이진 탐색 알고리즘 코드, 코드 설명 4. 이진 탐색 알고리즘 실행 과정 출력 코드 1. 이진 탐색 알고리즘 : 글로 써보기 이진 탐색 시에 3개의 포인트가 중요하다. 시작 인덱스, 끝 인덱스, 중간 인덱스 우선 중간 인덱스를 구하고, 이를 타겟 x와 비교한다. -> 맞으면 이 중간 인덱스를 반환한다. -> 중간 인덱스보다 타겟 x가 크면, 중간 인..
탐색 (검색) 알고리즘은 데이터 구조 내에서 특정 항목이나 값을 찾는 프로세스를 자동화하는 알고리즘이다. 이 알고리즘은 컴퓨터 과학과 정보 기술에서 중요한 역할을 한다. 데이터가 저장된 컬렉션(배열, 리스트, 트리, 그래프, 데이터베이스 등)에서 특정 값을 찾는 작업은 다양한 응용 프로그램에서 중요하며, 이를 효율적으로 수행하는 알고리즘을 개발하는 것은 매우 중요하다. 탐색 알고리즘에는 선형 탐색, 이진 탐색, 해시 테이블, 이진 탐색 트리, 그래프 탐색 알고리즘, 문자열 검색 알고리즘 등이 일반적으로 사용된다. 그 중 가장 대표적인 선형 탐색과 이진 탐색에 대해 알아보고, 차이점을 비교해보도록 하겠다. 1. 선형 탐색 알고리즘 (순차 탐색 알고리즘) Linear (Sequential) serarch a..
🔆 자료 구조와 알고리즘 살펴보기 🔆 https://yoonhwis.tistory.com/135 자료구조와 알고리즘 자료 구조 (Data structure) - 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장 배열과 리스트 스택 큐 트리 알고리즘 (Algorithm) - 컴퓨터가 따라 할 수 있도록 문제를 해 yoonhwis.tistory.com 배열 같은 타입의 변수들로 이루어진 유한 집합 선형 배열 (Linear Arrays) 선형 배열 Linear Arrays : 데이터들이 선처럼 일렬로 늘어선 형태이다. 선형 시간 (리스트 길이에 비례하여 걸리는 시간) : O(n) 배열 vs 리스트 배열이란 원소들을 순서대로 늘어놓은 것으로, 개념적인 구조, 즉 데이터를 늘어놓은 ..
🔆 자료 구조와 알고리즘 살펴보기 🔆 https://yoonhwis.tistory.com/135 자료구조와 알고리즘 자료 구조 (Data structure) - 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장 배열과 리스트 스택 큐 트리 알고리즘 (Algorithm) - 컴퓨터가 따라 할 수 있도록 문제를 해 yoonhwis.tistory.com 알고리즘 : 순서도 (Flowchart), 복잡도 (Complexity), 빅오표기법 (Big-O notation) 순서도 (flowchart) 순서도는 여러 종류의 상자와 이를 이어주는 화살표를 이용해 주어진 문제에 대한 솔루션 모델을 보여준다. 프로세스 작용은 이 같은 상자들과 작업의 흐름(workflow)을 나타내는 화살표 ..
🔆 자료 구조와 알고리즘 살펴보기 🔆 https://yoonhwis.tistory.com/135 자료구조와 알고리즘 자료 구조 (Data structure) - 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장 배열과 리스트 스택 큐 트리 알고리즘 (Algorithm) - 컴퓨터가 따라 할 수 있도록 문제를 해 yoonhwis.tistory.com 정렬 알고리즘 원소들을 번호순이나 사전 순서와 같이 일정한 순서대로 열거하는 알고리즘이다. 효율적인 정렬은 탐색이나 병합 알고리즘처럼 다른 알고리즘을 최적화하는 데 중요하다. 또 정렬 알고리즘은 데이터의 정규화나 의미있는 결과물을 생성하는 데 유용히 쓰인다. 정렬 Sort : 복수의 원소로 주어진 데이터를 정해진 기준에 따라 새로..
🔆 자료 구조와 알고리즘 살펴보기 🔆 https://yoonhwis.tistory.com/135 자료구조와 알고리즘 자료 구조 (Data structure) - 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장 배열과 리스트 스택 큐 트리 알고리즘 (Algorithm) - 컴퓨터가 따라 할 수 있도록 문제를 해 yoonhwis.tistory.com 탐색 알고리즘 = 검색 알고리즘 (Search) 검색 문제를 해결하는 어떠한 알고리즘으로, 연속 변수나 이산 변수를 사용하여, 일부 데이터 구조 안에 저장된 정보를 검색하거나 문제 도메인의 검색 공간에서 계산을 하기 위해 사용된다. 탐색 Search : 복수의 원소로 이루어진 데이터에서 특정 원소를 찾아내는 작업이다. 탐색의 종류..
재귀에서 중요한 것은 base case를 찾는 것이다. 항상 코드를 보고 이해하는 것은 쉽지만, 직접 코드를 짜는 것은 어렵다. 베이스 케이스와 재귀 케이스를 잘 찾자. 1. 삼각수 2. 피보나치 수열 3. 팩토리얼 4. 거듭제곱 5. 팰린드롬 6. 자릿수의 합 7. 리스트의 최댓값 찾기 1. 삼각수 (Triangular number) 수학에서 n번째 삼각수는 정수 1부터 n까지의 합이다. 1번째 삼각수 : 1 2번째 삼각수 : 1 + 2 = 3 3번째 삼각수 : 1 + 2 + 3 = 6 0보다 큰 정수 n을 받아서 n번째 삼각수를 리턴하는 함수는 다음과 같다. def triangle_number(n): if n == 1 : return n return triangle_number(n-1) + n 2. ..
재귀 함수 Recursive : 정의 단계에서 자신을 재참조하는 함수 재귀 알고리즘 Recursive Algorithms : 하나의 함수에서 자기 자신을 다시 호출하여 작업을 수행하는 알고리즘 재귀적이다? 어떤 사건이 자신을 포함하고 다시 자기 자신을 사용하여 정의된다. 재귀 함수의 구성 요소 및 원리 * 구성 요소 : 하위 문제, 베이스 케이스, 재귀 케이스 본 문제에서 하위 문제를 찾는다. tip! '파라미터로 받은 인풋의 사이즈를 -1 하면 어떻게 될까?' 생각해보기 베이스 케이스와 재귀 케이스를 정한다. 베이스 케이스 : 하위 문제 없는 빈 리스트나 요소가 1개인 경우 재귀 케이스 : 하위 문제를 찾아야 하는 요소가 2개 이상 이를 토대로 함수를 구현한다. 🔍 [예시] 리스트 뒤집기 리스트 [1,..
자료 구조 (Data structure) - 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장 배열과 연결 리스트 2023.10.18 - [CS 지식/자료구조와 알고리즘] - [자료구조] 배열 (Array) : 선형 배열 (Linear Arrays) 스택과 큐 트리와 그래프 알고리즘 (Algorithm) - 컴퓨터가 따라 할 수 있도록 문제를 해결하는 절차나 방법을 자세히 설명하는 과정 - 주어진 문제 해결을 위해 자료구조, 연산 방법 선택하는 것 알고리즘 (Algorithm) : 순서도 (Flowchart), 복잡도 (Complexity), 빅오표기법 (Big-O notation) 탐색 알고리즘 (검색 알고리즘) (선형 탐색, 이진 탐색, 해시법) 탐색 알고리즘, 검색 알..
‘^’
'CS 지식/자료구조와 알고리즘' 카테고리의 글 목록