본문 바로가기

전공 테트리스

[자바 튜터링] 2주차 정올 입력 형성평가 public class Main { public static void main(String[] args) { int a = 10, b = 20, c = 30; System.out.println(a + " + " + b + " = " + c); }}        public class Main { public static void main(String[] args) { double a = 80.5; double b = 22.34; double c = a + b; System.out.printf("%10.2f%10.2f%10.2f", a, b, c); }}         public class Main { public static void main(String[] args) { d.. 더보기
[자료구조] 7. 이진트리 구현, 데이터 순회 완전 이진트리 → 왼쪽부터 꽉꽉 차있기 때문에 “인덱스”를 통한 동적 할당이 가능함… (힙.. )‘경사 이진트리 → 중간중간에 듬성듬성 빈 칸이 많이 생겨서 인덱스를 통한 동적 할당으로의 구현이 어려움→ 그럼 이진 트리 구현 어떻게 하느냐? “양방향 linked list”를 통한 구현class node: def __init__(self, data, prev, next): self.data = data self.prev = prev self.next = next def insert(value, position): new_node = node(value, position, position.next) new_node.prev.next = new_node new_node.next.prev = new.. 더보기
[자료구조] 6. 트리, 힙, 우선순위 큐 선형 자료구조 → linked list(단방향, 양방향), 스택, 큐모든 상황을 표현해 낼 수 없다는 단점비선형 자료구조 → 그래프, 트리[선형]이란 데이터 요소들이 순차적으로 나열되어있는 구조[비선형]이란 상하관계, 계층적 구조[보행]특정 정점에서 다른 정점으로 갈 때 거치는 정점과 간선의 나열[닫힌 보행] - 시작 정점과 종료 정점이 동일한 보행[열린 보행] - 시작 정점과 종료 정점이 다른 보행[경로] - 같은 정점 및 간선이 중복되지 않은 보행[사이클] - 시작 정점과 종료 정점이 동일한 경로닫힌 보행과 경로의 조건 모두 만족 [연결 그래프] - 모든 두 정점 사이에 경로가 존재하는 그래프[그래프] - 정점과 간선으로 이루어짐 (연결되어 있는 대상 간의 관계를 표현하는 자료구조)[트리] - 연결그.. 더보기
[자료구조] 5. Circle queue (원형 큐) 큐덱  큐(queue) 선입선출의 자료구조.. FIFO… First In First Out즉 대기열임 .. 기다리는 순서대로 나가니까..front.. 전단 ~~~~~ rear… 후단삭제하는 곳 들어오는 곳큐의 연산 5가지enqueue(e) : e를 후단에 삽입dequeue() : 전단에서 데이터 삭제isEmpty() : Empty면 True, 아니면 False 반환isFull() : Full이면 True, 아니면 False 반환peek() : 큐의 맨 앞 요소를 삭제하지 않고 !! 반환 동적배열을 이용함.. 단방향 linked 리스트→ del queue[0] 하면 전방에 있는 원소 삭제.. 스택은 top 원소 삭제→ peek… queue[0] 하면 전방의 원소 반환…class queue단점원소를 삭제할 .. 더보기
[컴퓨터구조] 3. Floating points(부동 소수점) 1. 분수 이진수 (Fractionary Buinary Numbers) “**Binary Point**” 를 기준으로 오른쪽 비트 = 2의 분수rational number를 표현 (유리수)0b 0.1 = 0.5 / 0b 0.01 = 0.25 / 0b 0.001 = 0.125 / 0b 0.0001 = 0.0625 (1/16)2배 ← binary point → 1/2배**1.0**에 수렴하는 수$x / 2^k$ 의 형태인 수만 정확하게 표현이 가능하다. (= 유한한 표현)다른 수는 무한 반복…   2. fixed-Point 표현 (고정 소수점) p.q Fixed Point 표현예) 17.14 fixed point representation1 bit = sign bit17 (p) = 정수 (integer)14.. 더보기
[자료구조] 4. 원형 linked 리스트, Stack 원형 linked 리스트스택 자료구조의 이해와 응용 원형 linked 리스트기존 linked 리스트의 한계 → 데이터 삭제의 경우, prev를 알아야 했음원형 linked 리스트는 첫 노드~ 마지막 노드를 연결한 자료구조장점** 마지막 노드를 참조하는 Last가 단방향 linked 리스트의 head 역할을 함→ 마지막 노드와 첫 노드를 O(1) 시간에 접근 가능하다는 장점→ 리스트가 Empty가 아니라면, 어떤 노드도 None을 갖지 않아 프로그램에서 None 조건 검사 안 해도 됨단점반대 방향으로 노드를 방문하기 쉽지 않음양방향 원형 linked 리스트양방향 linked 리스트에서 첫 노드와 마지막 노드를 이어 만든 자료구조시간 복잡도 (단방향, 양방향, 원형 linked 리스트)삭입 및 삭제O(1)탐.. 더보기
[자료구조] 3. 시간복잡도 & 연결형 자료구조 1. 알고리즘의 성능 분석 알고리즘의 성능 분석실행시간 측정법알고리즘의 실제 실행 시간 측정하는 것알고리즘을 실제로 구현해야한다동일한 HW/ SW 환경 사용해야 한다알고리즘 복잡도 분석법직접 구현 x, 수행 시간 분석알고리즘이 수행하는 연산의 횟수를 측정하여 비교연산의 횟수 = 입력 크기 n의 함수시간 복잡도 분석 : 수행 시간 분석공간 복잡도 분석 : 필요한 메모리 공간 분석주어진 문제를 해결하기 위한 대부분의 알고리즘이 비슷한 크기의 메모리 공간을 사용 실행시간 측정실제 측정한 시간의 한계프로그래머의 숙련도구현에 사용된 언어의 종류알고리즘을 실행한 컴퓨터의 성능에 따라 수행 시간이 달라질 수 있다.복잡도 분석구현하지 않고 알고리즘의 효율성 평가알고리즘의 연산 횟수를 대략적으로 계산복잡도 함수 T(n).. 더보기
[자료구조] 2. Python string - 인덱스를 통한 변경 불가능len() 메서드 : 길이 측정, 공백도 문자열 취급sep 파라미터 : print(”example” , “test”, sep=’ ’) // example test // 쉼표의 자리에 sep=’ ’ 따옴표 안의 것을 출력하는 것임, 공백이면 띄어쓰기로 표현되는 것. sep=’-’일 경우, example-test로 출end 파라미터 : print("sleep", end='ing') // 문장 맨 뒤에 이어쓰기.format() 메서드List - 스트링과의 차이점 [ ] // 인덱스를 통한 수정 가능append()insert()remove()del()split()Tuple ( ) // 수정 불가능Set { } - 집합 연산자 사용 가능(|, &, -)Dictionary .. 더보기