Algorithm/Study

Algorithm/Study

Linked List 구현

class Node: def __init__(self, value): self.value = value self.next = Noneclass LinkedList(object): def __init__(self): self.head = None self.tail = None def append(self, value): new_node = Node(value) if self.head is None: self.head = new_node self.tail = new_node else: self.tail.next = new_node ..

Algorithm/Study

시간복잡도

알고리즘 문제 풀기 : Step1) 문제 이해하기, Step2) 접근 방법, Step3) 코드 설계, Step4) 코드 구현 1. 시간복잡도 시간복잡도에 데이터의 크기(n)를 넣어서 나온 값이 100,000,000(10^8)이 넘게 되면, 코딩테스트에서 시간 초과할 가능성이 있다. 그러므로, 관행적으로 10^8을 넘지 않도록 유의한다. 2. 제약조건 한 문제의 다양한 제약조건 중 시간이 증가할만한 것을 N의 기준으로 삼는다. 3. Big-O Notation T(n) = n^2 + 2n + 1에서 +1과 2n은 무시될 수 있다. 1 무시 이유 : n의 변화에 따른 T(n)의 변화 정도 판단이 목적 2n 무시 이유 : n이 증가할 수록 2n의 비율이 미미해진다. 따라서 T(n) = n^2 + 2n + 1에서..

Algorithm/Study

자료구조 기초

자료구조 분류 1. 단순구조 정수 실수 문자 문자열 2. 선형구조 // 자료들 사이의 관계가 1:1 관계 리스트 스택 큐 3. 비선형구조 // 자료들 사이의 관계가 1다 or 다:다 관계 트리 그래프 4. 파일구조 // 서로 관련 있는 필드로 구성된 레코드의 집한인 파일에 대한 구조 순차파일 색인파일 직접파일 추상 자료형 (Abstract Data Type, ADT) 구체적인 기능의 완성 과정을 언급하지 않고, 순수하게 기능이 무엇인지를 나열하는 것 추상화란 시스템의 간략화된 기술 또는 명세 ex) 자판기, 전자레인지 -> 기능만 나열한 것 자료구조 학습 순서 1. 자료구조의 ADT 정의 2. ADT를 근거로 자료구조를 활용하는 main 함수 정의 3. ADT를 근거로 자료구조 구현 복잡도 (Comple..

AidenYoun
'Algorithm/Study' 카테고리의 글 목록