일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 그리디
- DFS
- 문제풀이
- PYTHON
- 백준
- greedy
- Baekjoon
- 코테
- 프로그래머스
- 그래프
- 알고리즘
- 반복문
- 파이썬
- 큐
- 깊이우선탐색
- 정렬
- 그래프탐색
- 다이나믹프로그래밍
- DP알고리즘
- 자료구조
- BFS
- dp
- 코딩테스트
- 너비우선탐색
- Datastructure
- 수학
- 데이터마이닝
- 문자열
- 그리디알고리즘
- solvedac
- Today
- Total
목록Datastructure (7)
nyunu

강의출처) 숙명여자대학교 소프트웨어융합전공 강의 "자료구조", 이현자 교수님 코드 결과) https://github.com/nyunu/data_structure/blob/main/%EC%9D%B4%EC%A7%84%ED%8A%B8%EB%A6%AC.ipynb GitHub - nyunu/data_structure Contribute to nyunu/data_structure development by creating an account on GitHub. github.com 평가트리 평가트리란 ? : 이진 트리에 저장된 수식을 탐색하면서 값을 계산할 수 있는 트리 -> 노드 구조 left, right : 연결 링크 data : 노드가 가지고 있는 값 value : 수식의 계산 값 [예제 1] 논리 연산식 평가..

강의출처) 숙명여자대학교 소프트웨어융합전공 강의 "자료구조", 이현자 교수님 코드 결과) https://github.com/nyunu/data_structure/blob/main/%EC%9D%B4%EC%A7%84%ED%8A%B8%EB%A6%AC.ipynb GitHub - nyunu/data_structure Contribute to nyunu/data_structure development by creating an account on GitHub. github.com 이진트리 표현법 1. 선형리스트 이용 [배열 표현법] 루트를 배열의 1번 인덱스에 저장 -> 나머지 노드들도 위치에 따라 번호 부여 -> 배열에 각 노드를 인덱스 번호에 맞게 저장 0번 인덱스는 인덱스로 트리의 관계를 나타낼 수 있기 때문..

강의 출처) 숙명여자대학교 소프트웨어융합전공 강의 "자료구조", 이현자 교수님 1. 트리 : 계층적 자료의 표현에 적합한 자료 구조 = 루트 노드 + 서브 트리 2. 이진트리 1) 이진트리란 ? : 모든 노드가 2개의 서브 트리(노드)를 갖는 트리 서브 트리는 공집합일 수도 있음 루트와 왼쪽 서브트리 & 오른쪽 서브트리로 구성된 노드들의 집합 이진트리의 서브트리는 모두 이진트리 2) 허프만 코드 트리 : 문자에 대한 컴퓨터 내부 표현 중 하나 -> 텍스트 문서 압축 빈도수가 높은 문자에 대해서는 짧은 코드를 부여 빈도수가 적은 문자에 대해서는 긴 코드를 부여 결론적으로 최대한 적은 비트만 차지하도록 하는 것 3) 트리 관련 용어 노드 : 데이터와 연결선으로 구성된 트리의 한 유닛 노드의 차수 : 해당 노..
강의 출처) 숙명여자대학교 소프트웨어융합전공 강의 "자료구조", 이현자 교수님 원형 리스트 1. 원형 리스트란 ? 단일 리스트에서의 마지막 노드가 맨처음 노드와 연결된 형태 마지막 노드의 link가 NULL이 아님 head가 변경되어도 연결리스트를 유지할 수 있음 2. 원형 리스트 구현 1) 노드 기본 구현 class Node: def __init__(self, item): self.data = item self.link = None 2) 원형 연결 리스트 연산 종류 삽입 연산 삭제 연산 리스트 길이 계산 3) 원형 연결 리스트 구현 (1) 삽입 연산 삽입 연산의 경우의 수 세 가지 빈리스트에 삽입하는 경우 리스트 맨 앞 위치로 삽입하는 경우 리스트 중간(OR 끝)에 삽입하는 경우 코드 구현1 - 빈리스..

강의 출처) 숙명여자대학교 소프트웨어융합전공 강의 "자료구조", 이현자 교수님 연결리스트의 기본 구조 데이터 필드와 하나 이상의 링크 필드로 구성된 노드가 연결된 형태 => 노드 = 데이터 필드(해당 노드가 담고있는 data) + 링크 필드(다음 노드를 가리키는 link) 단일 연결 리스트 1. 단일 연결 리스트란 ? 노드들이 한 방향으로 연달아 연결되어 있는 구조 head, tail 노드 head : 리스트의 첫 노드 tail : 리스트의 끝 노드 2. 단일 연결 리스트 구현 1) 노드 기본 구현 class Node: def __init__(self, item): self.data = item self.link = None 2) 단일 연결 리스트 연산 종류 삽입 연산 삭제 연산 리스트 길이 계산 리스트..

강의 출처) 숙명여자대학교 소프트웨어융합전공 강의 "자료구조", 이현자 교수님 [목차] 1. 수식 표기 방식 2. 후위 수식 계산 3. 중위 -> 후위 변환 1. 수식 표기 방식 (1) 중위 표기법 연산자를 두 피연산자 사이에 표기 사람이 이해하기 좋은 표현법 우선순위에 따라 연산 순서 결정 괄호에 의해 연산 순서 조정 (2) 후위 표기법 피연산자를 먼저 표시하고 연산자를 나중에 표시 컴퓨터가 이해하기 좋은 표현법 우선순위 상관없음 괄호 없음 (3) 전위 표기법 연산자를 먼저 표시하고 연산에 필요한 피연산자를 나중에 표기 (4) 중위 vs 후위 vs 전위 (5) 연산자 우선순위 (C 기준) 2. 후위 수식 계산 (1) 기본 과정 수식의 왼쪽부터 토큰(문자)을 읽어냄 읽어낸 토큰이 피연산자 -> 스택에 p..

강의 출처) 숙명여자대학교 소프트웨어융합전공 강의 "자료구조", 이현자 교수님 스택(Stack) 1. 스택이란 ? 후입선출 = Last In First Out = LIFO 스택 연산 : push(데이터 넣고), pop(데이터 빼고) 사용 예시 시스템 스택 함수 호출을 관리하는 스택으로 운영체제가 사용하는 스택 복귀할 주소를 기억하는데 사용 컴퓨터 실행시에 이전으로 돌아가기 기능을 사용하면 가장 최근에 실행했던 내용을 삭제해주는 것과 같은 이치 -> 가장 최근에 실행했던 내용을 삭제하고 바로 이전의 상태로 돌아갈 수 있는 복귀할 주소를 기억 스택 프레임 (= 활성 레코드) 시스템 스택의 top에 스택프레임이 push = 함수가 호출될 때마다(새로운 프로그램이 or 동작이 실행될 때마다) 스택 프레임이 만들..