COMPUTER SCIENCE (59) 썸네일형 리스트형 [Section 6] 검색 알고리즘의 종류와 특징 자료구조와 알고리즘 목차 보기 [INTRO] 자료구조와 알고리즘 자료구조와 알고리즘에 대해서... 자료구조는 프로그래밍에서 사용되는 데이터를 어떻게 표현하는 것인가에 대한 컴퓨터 과학 분야이다. 그리고 알고리즘은 표현된 데이터를 계산하는 방법에 hookspedia.tistory.com 0. INTRO 검색 알고리즘은 자료 구조에서 특정 조건의 데이터를 추출하거나 찾는 데 사용하는 알고리즘이다. 자료구조에 따라 어떤 알고리즘이 효율적인지 그 종류와 특징에 대해 간략히 알아보자. 1. 간단히 구현 가능한 선형 검색 선형 검색(Linear Search)은 자료가 리스트 혹은 기타 선형 자료구조에서 단순히 구현 가능한 검색 알고리즘이다. 예를 들어, 배열의 데이터가 어떤 조건을 가지지 않고 무작위로 저장되어 있.. [Section 5] 탐색의 기본 _ 너비 우선 탐색 기법(Breadth First Search) 자료구조와 알고리즘 목차 보기 [INTRO] 자료구조와 알고리즘 자료구조와 알고리즘에 대해서... 자료구조는 프로그래밍에서 사용되는 데이터를 어떻게 표현하는 것인가에 대한 컴퓨터 과학 분야이다. 그리고 알고리즘은 표현된 데이터를 계산하는 방법에 hookspedia.tistory.com 0. INTRO 너비 우선 탐색 기법은 이전에 배운 트리의 레벨 순회 알고리즘과 아주 유사하다. 그래프에서도 계층을 우선으로 하여 탐색하기 위해서는 큐를 이용해야 하고 때때로 깊이 우선 탐색 기법보다 우수한 성능을 보이기도 한다. 이 BFS 알고리즘에 대해 배워보자. 1. 너비 우선 탐색의 이해 _ 모든 꼭짓점 노드를 방문하는 방법 다음의 예시 그래프를 참고하도록 하자. 너비 우선 탐색(Breadth First Search.. [Section 1] 알고리즘의 분석 _ 세타 표기법 자료구조와 알고리즘 목차 보기 [INTRO] 자료구조와 알고리즘 자료구조와 알고리즘에 대해서... 자료구조는 프로그래밍에서 사용되는 데이터를 어떻게 표현하는 것인가에 대한 컴퓨터 과학 분야이다. 그리고 알고리즘은 표현된 데이터를 계산하는 방법에 hookspedia.tistory.com 0. INTRO 상한, 하한, 최고 상태, 최악 상태의 관계를 명확히 이해하기 위해서는 세타 표기법에 대해 알아야 한다. 평균 런타임을 의미하는 세타 표기법을 알아보고, 알고리즘의 분석 메커니즘을 파악하자. 1. 세타 표기법의 정의 세타 표기법의 수학적 정의는 다음과 같다. "Θ(f(n)) = {g(n): 양의 정수 c1, c2와 n0가 존재하여, 0 ≤ c1f(n) ≤ g(n) ≤ c2f(n) 을 만족하는 경우에 대해서 .. [Section 1] 알고리즘의 분석 _ 빅-오메가 표기법 자료구조와 알고리즘 목차 보기 [INTRO] 자료구조와 알고리즘 자료구조와 알고리즘에 대해서... 자료구조는 프로그래밍에서 사용되는 데이터를 어떻게 표현하는 것인가에 대한 컴퓨터 과학 분야이다. 그리고 알고리즘은 표현된 데이터를 계산하는 방법에 hookspedia.tistory.com 0. INTRO 사실 알고리즘 분석에 있어서 빅-오메가 표기법은 그리 중요한 사항이 아니다. 하지만, 빅-오메가 표기법의 의의는 하한의 이해를 기반으로 자료구조의 알고리즘을 분석하는 데에 있다. 하한을 이해하면, 알고리즘의 최고 상태와 최악의 상태가 무엇인지 감이 올 것이다. 1. 빅 - 오메가 표기법의 정의 빅-오 표기법과 마찬가지로 빅-오메가 표기법의 수학적 정의를 먼저 보자. " Ω(f(n))={g(n): 양의 정수 .. [Section 6] 정렬 알고리즘의 종류와 특징 자료구조와 알고리즘 목차 보기 [INTRO] 자료구조와 알고리즘 자료구조와 알고리즘에 대해서... 자료구조는 프로그래밍에서 사용되는 데이터를 어떻게 표현하는 것인가에 대한 컴퓨터 과학 분야이다. 그리고 알고리즘은 표현된 데이터를 계산하는 방법에 hookspedia.tistory.com 0. INTRO 정렬(Sorting) 알고리즘의 의의는 문제의 복잡성(Complexiy)을 획기적으로 줄여준다는 점에 있다. 그리고 데이터 베이스를 구축하는데 중요한 이 정렬 알고리즘의 분류와 대표 알고리즘을 간단히 알아보자. 1. 정렬 알고리즘의 분류 _ 어떤 수단을 이용하는가? 어떤 리스트 내에 존재하는 데이터의 특정한 순서를 수 관점에서 낮은 수부터 높은 수로 나타내는 것을 오름차순(Ascending) 정렬, 높은 수.. [Section 8] 알고리즘 설계 기초 _ 분류(Classification) 자료구조와 알고리즘 목차 보기 [INTRO] 자료구조와 알고리즘 자료구조와 알고리즘에 대해서... 자료구조는 프로그래밍에서 사용되는 데이터를 어떻게 표현하는 것인가에 대한 컴퓨터 과학 분야이다. 그리고 알고리즘은 표현된 데이터를 계산하는 방법에 hookspedia.tistory.com 0. INTRO 알고리즘의 설계를 위해서는 내가 구현하고자 하는 문제가 어떤 유형인지 알아내고, 문제에 맞는 알고리즘 구현 방법을 체계적으로 분류할 필요가 있다. 분류된 방법들에는 어떤 종류가 있는지 간단히 알아보기로 하자. 1. 구현 방법에 따른 분류 가장 먼저 구현 방법에 따른 분류로는 재귀(Recursion) 및 반복(Iteration) 알고리즘이 존재한다. 명령의 반복에 의해서 구현되는 이 알고리즘들은 쉽게 구현될 .. [Section 5] 탐색의 기본 _ 깊이 우선 탐색(Depth First Search) 자료구조와 알고리즘 목차 보기 [INTRO] 자료구조와 알고리즘 자료구조와 알고리즘에 대해서... 자료구조는 프로그래밍에서 사용되는 데이터를 어떻게 표현하는 것인가에 대한 컴퓨터 과학 분야이다. 그리고 알고리즘은 표현된 데이터를 계산하는 방법에 hookspedia.tistory.com 0. INTRO 이진트리의 순회 알고리즘과 유사하게 그래프에도 꼭짓점 노드에 대한 탐색 알고리즘이 존재한다. 가장 먼저 알아볼 탐색 알고리즘은 깊이 우선 탐색(Depth First Search) 알고리즘이다. 이는 코딩 테스트의 주요 기출문제로 자주 나오기도 한다. 1. 깊이 우선 탐색 기법의 이해 _ 모든 꼭짓점 노드를 방문하는 방법 깊이 우선 탐색기법을 위해 다음의 예시 그래프를 참고하도록 하자. 예시 그래프에서 보이는.. [Section 4] 그래프와 큐의 혼합 _ 방문 상태 체크 자료구조와 알고리즘 목차 보기 [INTRO] 자료구조와 알고리즘 자료구조와 알고리즘에 대해서... 자료구조는 프로그래밍에서 사용되는 데이터를 어떻게 표현하는 것인가에 대한 컴퓨터 과학 분야이다. 그리고 알고리즘은 표현된 데이터를 계산하는 방법에 hookspedia.tistory.com 0. INTRO 방문 순서를 저장하는 알고리즘은 이후의 탐색 기법 중 DFS, BFS라는 알고리즘에서 필요한 알고리즘이다. 이 방문 순서 알고리즘은 큐와 그래프 알고리즘을 응용하여 생성이 가능하고 다양한 자료구조를 응용의 필요성에 대해 알려준다. 1. 배열 큐에 저장된 방문 순서 _ 예시 그래프와 큐 먼저 다음의 그래프 예시를 보자. 위의 행렬에서 0으로 표기된 정보가 접근 가능하다는 의미를 나타낸다. 그리고 위 경우에서는.. [Section 4] 그래프 알고리즘 _ 인접 리스트(Adjacency List) 자료구조와 알고리즘 목차 보기 [INTRO] 자료구조와 알고리즘 자료구조와 알고리즘에 대해서... 자료구조는 프로그래밍에서 사용되는 데이터를 어떻게 표현하는 것인가에 대한 컴퓨터 과학 분야이다. 그리고 알고리즘은 표현된 데이터를 계산하는 방법에 hookspedia.tistory.com 0. INTRO 이번에는 인접 리스트 알고리즘을 생성해보자. 여기에서는 이전에 생성했던 단일 연결 리스트 알고리즘을 이용할 것이다. 1. 인접 리스트 방식 _ 구현 그래프 먼저 다음의 그림을 참고하자. 왼쪽은 예시 그래프이고 오른쪽은 구현할 자료 구조를 리스트 형태로 나타낸 것이다. 개인적으로 인접 행렬 방식보다 연결 리스트 방식이 그래프의 연결 상태를 확인하기에 깔끔해 보이긴 한다. 생성 예시: 2. 인접리스트 알고리즘 .. [Section 3] 클래쓰 함수의 유용한 코드 정리 파이썬 목차 보기 [Intro] 파이썬 미리보기 * 파이썬과 라이브러리 설치하기 파이썬과 라이브러리 설치하기 1. 파이썬이란? 파이썬은 고급 프로그래밍 언어로, 다양한 윈도즈에서 동작 가능합니다. 그리고 파이썬은 비영리 재단이 관리하 hookspedia.tistory.com 0. INTRO 파이썬을 계속해서 공부해 나가다 보면, 클래스 함수에서 모르는 코드들이 쏙쏙 튀어나올 것이다. 이 코드들은 아주 유용한데, 이전에 클래스에서 속성 초기화와 메서드 함수 코드의 기본에 대해 알아보았다. 이번에는 유용한 코드들을 미리 알아두기 위해 자주 쓰이는 메서드와 속성 함수를 정리해두고자 한다. 1. 클래스 유형에서 기본 코드가 가지는 의미 이전에 생성한 카운트 클래스 함수에서 사용한 기본 속성 코드는 __init_.. [Section 1] 컴퓨터 시스템의 목적 컴퓨터 과학 미리 보기 [INTRO] 컴퓨터 과학 미리 보기 컴퓨터 과학의 개요 컴퓨터 과학은 컴퓨터의 시스템과 구조를 이해하고 어떻게 설계하는지에 대한 기본 지식을 공부하는 학문이다. 중간중간 프로그램 언어와 함께 공부하면 컴퓨터 과학의 기 hookspedia.tistory.com INTRO 소프트웨어를 떼어놓고 단순히 하드웨어 측면에서 컴퓨터를 바라보면, 그저 전기로 작동하는 기계와 다름이 없다. 컴퓨터를 컴퓨터답게 만드는 것은 강력한 시스템이 존재하기 때문이다. 컴퓨터 시스템이 왜 강력한지 이해하기 위해 시스템의 목적에 대해 알아보도록 하자. 컴퓨터 아키텍처(Architecture)의 이해 건축에서도 사용되는 아키텍처라는 단어는 구조라는 의미를 가지고 있다. 컴퓨터 아키텍처는 단순한 기계인 컴퓨터가.. [INTRO] 컴퓨터 과학 미리 보기 컴퓨터 과학의 개요 컴퓨터 과학은 컴퓨터의 시스템과 구조를 이해하고 어떻게 설계하는지에 대한 기본 지식을 공부하는 학문이다. 중간중간 프로그램 언어와 함께 공부하면 컴퓨터 과학의 기본 지식을 습득하는데 큰 도움이 될 것이다. 컴퓨터 과학의 기본 지식을 습득하고 컴퓨터의 체제가 어떻게 구성되어있는지 알아보기로 하자. Section 1 _ 컴퓨터 시스템의 기본 [A] [COMPUTER SCIENCE/Introduction to CS] - [Section 1] 컴퓨터 시스템의 목적 Section 2 _ 이전 1 2 3 4 5 다음 목록 더보기