'자료구조&알고리즘' 카테고리의 글 목록 (3 Page) — 뚝딱이

자료구조&알고리즘

자료구조&알고리즘

[자료구조] 트리 Tree

트리 Node와 Branch를 이용해서, 사이클을 이루지 않도록 구성한 데이터 구조 이진트리 (Binary Tree 형태, 가장 많이 쓰임)로, 탐색(검색) 알고리즘 구현을 위해 많이 사용됨 용어 Node : 트리에서 데이터를 저장하는 기본 요소 (Branch 정보 포함) Root Node : 트래 맨 위에 있는 노드 Level : 최상위 노드를 Level 0으로 하여, 하위 Branch로 연결된 노드의 깊이 Parent Node : 어떤 노드의 다음 레벨에 연결된 노드 Child Node : 어떤 노드의 상위 레벨에 연결된 노트 Leaf Node (Terminal Node) : Child Node가 하나도 없는 노드 Sibling (Brother Node) : 동일안 Parant Node를 가진 노드 ..

자료구조&알고리즘

[자료구조] 해쉬 테이블 (Hash Table)

해쉬 구조 키 Key, 데이터 Value를 저장하는 데이터 파이썬의 Dictionary 타입 성능이 좋기 때문에 해쉬 Key(기능)을 확장한 여러가지 함수와 알고리즘 기반으로 블록체인에서 많이 사용된다. 장점 데이터 저장/ 읽기 속도가 빠르다 배열은 index 처음부터 탐색하여 데이터를 찾지만 해쉬 테이블은 key를 이용하여 direct하게 바로 찾을 수 있기 때문 단점 일반적으로 저장공간을 많이 차지한다. 충동을 피하기 위해서 저장공간을 충분하게 세팅해야함 키 해당 주소가 동일할 경우 충돌을 해결하기 위한 자료구조가 필요하다 해결 방안, 체이닝 : Linked List를 사용하여 해쉬 충동시 연결리스트로 데이터를 이어놓는 방법 자주 쓰이는 곳 검색이 많이 필요한 곳 저장, 삭제, 읽기가 많이 일어나는 ..

자료구조&알고리즘

[자료구조] 큐 Queue, 스택 Stack

큐 Queue 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조 FIFO(First In First Out), LILO(Last In Last Out) 운영체제 멀티 태스킹을 위한 프로세스 스케줄링 방식 구현에 많이 쓰임 큐의 기능 Enqueue : 큐에 데이터 넣기 Dequeue : 큐에서 데이터 꺼내기 파이썬 Queue 라이브러리 Queue() FIFO , LifoQueue() LIFO, PriorityQueue() 우선순위 Queue Enqueue = put, dequeue = get import queue queue = queue.Queue() queue.put("test") queue.put(1) Output queue.qsize() 2 queue.get() test queue.get() ..

자료구조&알고리즘

[자료구조] 배열 Python list

배열 데이터 원소들의 리스트 데이터를 순차적이고 효율적으로 관리하기 위해서 사용함 요소 element, 인덱스 index로 접근함 장점 접근이 빠름 단점 (파이썬에서는 해당하지 않음) 미리 배열의 크기를 설정해야함 데이터의 추가, 삭제가 어려움 메모리 주소에 어떤 값이 든지 한 번에 알 수 없음 파이썬 List List 초기화 변수명 = [요소1, 요소2, ...] 파이썬은 한 list에 다양한 자료형을 요소로 사용할 수 있음 빈 리스트 list = list() list = [] string = "hello world" list_test1 = ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'] list_test2 = list(string) list_test..

자료구조&알고리즘

자료구조

자료구조 = 데이터구조 = data structure : 대량의 데이터를 체계적으로 저장하고 효율적으로 활용하기 위해 사용한다. ex) 사전 필요 이유 다양한 상황에 가장 적합한 자료구조를 사용하여 데이터를 저장, 활용하여 프로그램의 성능을 올릴 수 있다. 문제 해결 능력을 필요로 하는 알고리즘과 밀접한 연관이 있다. 대표적인 자료구조 배열 스택 큐 링크드리스트 해쉬 테이블 힙 알고리즘 Algorithm : 문제를 해결하기 위해 정해진 일련의 절차이다. ex) 특정한 '입력'을 넣으면, 원하는 '결과'를 주는 프로그래밍

파송송
'자료구조&알고리즘' 카테고리의 글 목록 (3 Page)