전체 글

전체 글

    자료구조 : 큐 (Quene)

    자료구조 : 큐 (Quene)

    큐(Quene)란 무엇인가? 큐란 가장 먼저 넣은 데이터를 가장 먼저 꺼내는 구조를 말한다. 이를 선입선출(FIFO)라 한다. 큐에 데이터를 넣는 기능을 Enqueue라 하고 큐에서 데이터를 꺼내는 기능을 Dequene라 한다. 큐는 주로 프로세스 스케쥴링 방식을 구현하기 위해 사용된다. 큐의 기본적인 구조는 다음과 같다. 우선순위 큐(Priority Queue) 우선순위 큐는 기존의 큐와는 다르게 값을 식별하고 검색하는데 사용하는 키(key) 와 실제 데이터를 의미하는 값(value)으로 큐의 요소들을 정렬한다. 이러한 요소들은 우선순위가 있으며 들어온 순서대로 삭제되는 것이 아니라 우선순위에 따라 큐에서 먼저 삭제된다. 우선순위 큐는 데이터 압축, 네트워킹등의 분야에서 사용된다. Python 에서의 ..

    자료구조 : 배열(Array)

    자료구조 : 배열(Array)

    배열이란.... 배열은 데이터를 저장하고 구성하는 가장 기본적인 데이터 구조로 배열은 단순한 것이 특징이다. 배열은 자료형이 같은 요소를 저장하며 요소(element)란 배열에 저장된 각각의 자료를 뜻한다. 이러한 요소들에 매겨진 숫자를 배열의 인덱스(index)라 하며 주소와 비슷한 개념으로 이해하면 된다.. 배열의 요소들은 순차적, 연속적으로 정렬되어 있는 것이 특징이다. 배열의 종류로는 1차원 배열, 2차원 배열, 그보다 더 여러 배열들이 있는 다차원 배열이 있다. 배열의 삽입/삭제의 빅오 표기법은 O(N) 이며, 탐색은 O(1) 이다. 배열의 간략한 파이썬 코드는 다음과 같다. # Array arr = [5, 10, 15, 20] arr[2] = 30 print(arr) print 결과 [5, 1..

    컴퓨터 메모리의 간략한 개념과 선형 데이터 구조의 개념

    컴퓨터 메모리의 간략한 개념과 선형 데이터 구조의 개념

    컴퓨터 메모리란? 컴퓨터가 처리 중 이거나 처리를 끝낸 후 그 값을 저장하는 공간을 메모리라 한다. 어째서 메모리를 자료구조를 학습하기에 앞서서 반드시 알아야 할까? 그것은 데이터 구조 자체가 메모리를 효과적으로 관리하기 위한 것이기 떄문이다. 또한 메모리에 대한 기본적인 이해는 선형 데이터 구조의 동작 방식을 이해하는데 큰 도움이 된다. 자세한 메모리에 대한 내용은 운영체제 카테고리에서 다룰 것이다. 컴퓨터 메모리는 계층적으로 구성되어 있고 각 계층마다 고유의 속도, 역할이 있다. 위로 갈수록 속도가 빠르다. 컴퓨터 메모리의 계층뿐만 아니라 메모리 공간을 식별하기 위한 메모리 주소(memory address)도 알아두어야 할 필요가 있다. 메모리 주소는 물리적인 공간이며 물리적 이라는 뜻은 실제로 저장..

    진법에 대하여....

    진법에 대하여....

    진법(number system)이란 수를 세는 방법 또는 단위를 의미한다. 진법은 보통 (r-1) 형식으로 표현하는데 r에 진수를 대입하면 2진수는 1, 8진수는 7, 10진수는 9, 16진수는 F까지 표현한다는 뜻이다. 10진법 2진법 8진법 16진법 0 0000 0 0 1 0001 1 1 2 0010 2 2 3 0011 3 3 4 0100 4 4 5 0101 5 5 6 0110 6 6 7 0111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F 16 10000 20 10 17 10001 21 11 18 10010 22 12 19 10011 23 13 20 101..