일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 유한소수 판별하기
- itertools
- 알고리즘 표현
- 파이썬
- Import
- 알고리즘
- 큐
- java
- 들여쓰기로 표현한 트리
- list
- 좋은 알고리즘
- 코딩 테스트
- 자료구조
- 자바
- 과일 장수
- Tree
- 알고리즘의 조건
- LV.1
- python
- 리스트
- 코딩테스트
- 프로그래머스
- 알고리즘의 조건 5가지
- 스택
- 태그
- 유사코드
- import itertools
- Combination
- html
- 트리
- Today
- Total
목록알고리즘 (6)
인천의 자유인

알고리즘은 입력 크기가 아주 작을 경우엔 사실 효율성의 문제를 고려하지 않아도 된다. 그러나 많은 양의 데이터가 발생했을 경우에는 이야기가 달라진다. 그래서 이 알고리즘 수행시간을 분석하게 되는데 이때 점근적 분석을 한다. 증가율을 따졌을 때 보통 n, nlogn, n2,n3, 2n으로 표기하곤 한다.증가율을 그림으로 나타내보자.이렇게 비교가 된다. 처음에는 크게 차이나는것 같지 않지만 숫자가 크면 클 수록 차이가 어마무시하게 차이난다. 그러나 예를 들어 알고리즘 복잡도를 표현할 때에 10n2같은 경우는 n2과 같은 취급 한다. 왜냐하면 처음에는 많이 차이나는 것같아도 n이 커지면 커질 수록 앞의 계수가 두 함수의 차이에 주는 영향이 적기 때문이다.그러면 이제 알고리즘에서 매우 중요하기 쓰이는 3가지 표..

알고리즘은 문제 해결 과정을 일련의 순서대로 철자화 합니다. 이러한 알고리즘을 표현하는 방법에는 크게 자연어 표현, 흐름도(순서도) 표현, 의사코드 표현이 있습니다. 1. 자연어 표현자연어는 우리가 일반적으로 사용하는 언어를 의미합니다. 그만큼 편리하다는 장점이 있지만 단점도 있습니다. 그것은 문자의 의미가 에매해질 수 있다는 것입니다. 그래서 사용되는 단어들의 의미를 명확하게 해야할 필요가 있습니다. 모호한 표현 같은 경우를 주의해서 써야합니다. 예를 들면 '적당히'라는 의미를 예를 들수 있겠네요. 의사코드를 잘 사용한 예를 보여주겠습니다.최댓값을 구하는 알고리즘입니다.빈 리스트 lst를 선언합니다.빈 리스트에다가 자신이 추가하고 싶은 요소를 추가합니다.리스트 lst안에서 최댓값을 구합니다. 2. 유..
알고리즘의 정의와 조건을 아주 간단하게 정리해보겠습니다.1. 알고리즘이란?알고리즘이란 무엇일까요? 알고리즘은 주어진 문제를 해결하기 위한 단계적인 절차를 말합니다.컴퓨터에선 어떤 일을 하는 절차를 표현하기 위해 명령어들을 사용하는데, 결국 알고리즘은 특정한 일을 수행하는 명령어들의 집합이라고 할 수 있습니다. 이 명령어의 범위는 파이썬, 자바, C언어 등 모든 프로그래밍 언어의 명령어들이 포함됩니다.우리가 평소에 사용하는 프로그램은 프로그래밍 언어를 이용해 알고리즘을 코드로 변환하는 것을 의미합니다.2. 알고리즘의 조건프로그래밍을 위해 작성된 모든 명령어들의 집합이 모두 알고리즘을 뜻하진 않습니다. 알고리즘의 조건을 만족하기 위한 5가지가 있습니다.입력: 모호하지 않고 잘 정의된 입력출력: 명호가히 정의..

트리를 표현하는 방법은 3가지가 있습니다.중첩된 집합, 괄호, 트리로 표현을 할 수 있습니다.아래 이미지를 빗대어서 설명해 보겠습니다.1. 중첩된 집합트리는 중첩된 집합으로도 나타낼 수 있습니다. 위의 트리를 집합으로 나타내보겠습니다.2. 중첩된 괄호트리의 루트와 서브 트리를 중첩된 괄호로 묶어 표현하는 방법이 있습니다. A가 루트고 자식트리가 B,C,D라면 이렇게 표현할 수 있습니다. 구현하게 되면 (A (B) (C) (D))로 나오게 됩니다.자 그러면 마지막으로 위의 트리를 중첩된 괄호로 표현하게 되면 어떻게 나오는지 보겠습니다.A의 자식노드는 B,C,D가 있습니다. 그리고 B는 E,F,G라는 자식노드가 있으며, C는 H라는 자식 노드가 있고 D는 I,J가 있습니다. 그렇기 때문에 최종적이 결과는 이..

목차큐란?큐의 연산큐란? 큐(queue)는 가장 먼저 들어간 자료가 가장 먼저 나오는 자료구조입니다. 마치 매표소를 기다리는 대기줄을 생각하면 이해하기 쉽습니다. 이처럼 큐는 먼저 들어간 데이터가 먼저 나가는 선입선출(FIFO: First-In First-On)의 특성을 같는 자료구조입니다. 스택은 a,b,c 이렇게 들어갔을때(삼입) 꺼내면(삭제) c, b, a 순으로 나갔지만 큐는 a, b, c로 삼입이 되면 삭제 순도 똑같이 a,b,c 순서로 나가게 됩니다. 이때 삼입이 일어나는 곳을 후단(rear)이라고 하며, 삭제가 일어나는 곳은 전단(front)이라고 합니다. 큐의 연산스택과 마찬가지로 큐에도 숫자나 문자열을 포함한 어떤 자료든 저장할 수 있습니다. 큐에서도 역시 삼입과 삭제가 가장 핵심적..

목차스택이란?스택의 연산 스택이란?스택이란 마지막에 들어간 자료가 가장 먼저 나오는 자료구조입니다.스택은 자료의 입출력이 후입선출(LIFO: Last-In Frist-Out)로 제한되는 자료구조입니다.스택은 다른 통로는 모두 막고 한쪽 만을 열어둔 구조이다. 이것을 보통 상단이라고 불립니다. 스택에 저장되는 것을 항복 또는 요소(element)라고 불립니다. 스택의 대표적인 예 중에서 하나는 인터넷의 이전 페이지 기능이나 한컴의 되돌리기 기능을 생각하면 되겠습니다.스택은 숫자나 문자열을 포함한 어떤 자료든 저장할 수 있다. 그건 큐나 트리 같은 다른 자료 구조들도 마찬가지 입니다.스택의 연산스택 자료형은 어떤 연산을 지원해야 할까? 그것을 삼입, 삭제가 가장 핵심적인 연산입니다. 이것은 스택 상태를 변화..