일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 1668
- 2667
- 함수 선언문
- 자류구조
- 유사배열
- 비동기처리
- 렉시컬 스코프
- 1931
- setTiemOut
- 백준
- 1904
- 1302
- 1568
- 11399
- 호이스팅
- 탐욕 알고리즘
- javascript
- baekjoon
- 1543
- 함수 이놈
- 동적계획법
- 1236
- html5
- event loop
- 11047
- 함수 parmater
- Async/Await
- 배열같은배열아닌너
- 9461
- 함수 arguments
- Today
- Total
목록자료구조 (6)
두치의 개발공부
1. 트리(Tree) 구조 트리 : Node와 Branch를 이용하여, 사이클(순환)을 이루지 않도록 구성한 데이터 구조 이진트리의 형태의 구조로, 탐색 알고리즘 구현에서 많이 사용됨 트리 구조 중 가장 많이 쓰이는 형태는 이진트리이다. 트리라고 해서 무조건 이진트리는 아닌 것을 기억하자. 2. 용어 Node : 트리에서 데이터를 저장하는 기본 요소 Root Node : 트리에서 최상단에 있는 노드 Level: 트리의 깊이를 나타냄. 0 또는 1부터 시작 Parent Node : 어떤 노드의 상위 노드 Child Node : 어떤 노드의 하위 노드 Leaf Node : Child Node가 하나도 없는 노드 Depth : 트리에서 Node가 가질 수 있는 최대 Level 3. 이진트리와 이진 탐색 트리(..
1. 해쉬 구조 Hash Table : 키(Key)에 데이터(Value)를 저장하는 데이터 구조 Key를 통해 바로 데이터를 읽을 수 있기 때문에 속도가 빠르다는 장점이 있습니다. Python 의 딕셔너리(Dictionary) 타입이 Hash Table의 예 2. 용어 해쉬(Hash) : 임의 값을 고정 길이로 변환 하는 것 해쉬 테이블(Hash Table) : 키 값의 연산에 의해 직접 접근이 가능한 데이터 구조 해싱 함수(Hashing Function) : Key에 대해 산술 연산을 이용해 데이터 위치를 찾을 수 있는 함수 해쉬 값(Hash Value) : Key를 통해 해싱 함수로 연산해서, 해쉬 값을 얻어내서, 이를 기반으로 해당 Key에 대한 데이터 위치를 찾을 수 있게 해 줌 3. 해쉬 테이블..
1. 링크드 리스트(Linked List) 구조 연결 리스트라고도 합니다. 링크드 리스트는 떨어진 곳에 존재한 데이터를 화살표(포인터)로 연결해서 데이터를 관리하는 구조 배열은 연결된 공간에 데이터를 나열한 구조 2. 링크드 리스트 구조와 용어 노드(Node) : 데이터를 저장 하는 단위(Data, 포인터) 로 구성되어 있습니다. 포인터(Pointer) : 각 노드에서, 다음의 노드와의 연결 정보를 가지고 있는 공간 3. 링크드 리스트 장점,단점 장점 배열의 크기를 미리 지정하지 않아도 된다. (Java는 배열 선언시 크기를 미리 지정해야 하지만, JavaScript는 지정하지 않아도 되기 때문에 JavaScript를 사용한다면 장점은 아니다.) 노드의 추가 및 삭제시 전체 배열의 조정이 필요 없다(Po..
1. 스택 구조 - 가장 나중에 쌓은 데이터를 가장 먼저 빼낼 수 있는 데이터 구조 - 후입 선출 (LIFO : Last-In-First-Out) - 흔히 컴퓨터에서 가장 많이 쓰는 단축어인 Ctra + Z (실행 취소)의 행위와 똑같다! 2. 용어 - push : 데이터를 스택에 넣기 - pop : 데이터를 스택에서 빼기 3. 추가 설명 - 스택 구조는 프로세스 실행 구조의 가장 기본적인 개념이다. - 프로그램이 실행되면 프로세스가 됨. 장점 - 구조가 단순하고, 구현이 쉽다. - 데이터 저장/읽기 속도가 빠르다. 단점 - 4. 구현 Python stack_list = list(); def push(data): stack_list.append(data); def pop(): data = stack_li..
큐 구조 - 줄을 서는 행위와 비슷합니다. - 줄을 먼저 선 사람(FIRST-IN)이 먼저 나간다(FIRST-OUT) : 선입선출 * 출처: http://www.stoimen.com/blog/2012/06/05/computer-algorithms-stack-and-queue-data-structure 용어 - Enqueue : 큐에 데이터를 넣는 작업 - Dequeue : 큐에서 데이터를 꺼내는 작업 실제 구현해보기 Python queue_list = list(); def enqueue(data): list.append(data); def dequeue(): data = queue_list[0]; del queue_list[00; return data; JavaScript const queue_array..
배열은 자료구조에서 빠질래야 빠질 수 없는 자류구조이다. 가장 기본이 되는 자료구조 이면서, 활용도 많이 된다. 꼭 알아둬야 할 자료 구조 : 배열(Array) 데이터를 나열하고, 각 데이터를 인덱스에 대응하도록 구성한 데이터 구조 1. 배열을 왜 사용할까? 같은 종류의 데이터를 효율적으로 관리하기 위해 사용 같은 종류의 데어터를 순차적으로 저장 빠른 접근 가능 : 인덱스를 통해서 빠른 접근이 가능하다. 2. 배열은 어떻게 생성할까? C나 Java 같은 경우에는 배열의 길이를 미리 정해야 하지만, 파이썬과 JavaScript는 생성과 동시에 요소를 삽입할 수 있다. 파이썬 (Python) data_list = [1,2,3,4,5]; 파이썬에서 배열은 List(리스트)라고 불린다. JavaScript co..