함수형 프로그래밍 아래 강의를 보고 정리한 글이다. 연봉이 떡상한다고? 함수형 프로그래밍! 10분만에 이해하기. 함수형 프로그래밍이 뭔가요? 함수형 프로그래밍은 코드 작성 스타일이라고 할 수 있다. 함수형 방식에서는 버그 자체가 발생하기 어렵다. 명령형(imperative)코드와...
print 강의에서 나오는 파이썬 코드를 자바 코드로 바꾸면서 정리하던 도중에 파이썬에서는 바로 출력할 수 있는 것을 자바에서는 불가능 한 것을 보고 짧게 정리해봤다. 코드 def print_twice(arr) : for n in arr : for x in arr : print(x, n) 위 코드를 ...
Big o
Big O 참고로 아래 영상을 보면서 정리한 글이다. 개발자라면 이제는 알아야하는 Big O 설명해드림. 10분컷. 알고리즘 스피드의 표현법 같은 알고리즘 이라도 컴퓨터라는 하드 웨어에 따라서 컴퓨터 마다 속도가 다를 수 있다. 그렇기 때문에 “빠르다”, “느리다” 라는 “시간”으로 표현...
Linkedlist 코드 구현
code 단일 연결 리스트 데이터와 다른 노드를 가리킬 주소 데이터를 담을 객체가 필요하다. → 노드(node) 사용자가 저장할 데이터는 data 변수에 담기고, reference 데이터(참조 데이터)는 다음에 연결할 노드를 가리키는 데이터가 담긴다. 위와같은 노드들이 여러개가 연결 되어있는 것을 연결 리스트, 즉 LinkedList라고 한다....
Binary search tree
이진 탐색 트리(Binary Search Tree) Binary Search Tree → Binary(이진), Search(탐색), Tree(트리) : 이분화된 탐색을 위한(혹은 특화된) 트리 자료구조 이진 Binary(이진) → 이분화 된다. 트리 구조에서 특정한 형태로 제한을 하게 되는데, 모든 노드의 최대 차수를 2로 제한한 것이다...
Tree
Tree 트리는 값을 가진 노드(Node)와 이 노드들을 연결해주는 간선(Edge)으로 이루어져있다. 그림 상 데이터 1을 가진 노드가 루트(Root) 노드다. 모든 노드들은 0개 이상의 자식(Child) 노드를 갖고 있으며 보통 부모-자식 관계로 부른다. 트리에는 사이클이 존재할 수 없다. 💬 사이클? 시작 노드에서 출발해 다른 노...
Heap
Heap “우선순위 Queue”를 위해 만들어진 자료구조 우선순위 Queue 데이터들이 우선순위를 가지고 있다. 우선순위가 높은 데이터가 먼저 나간다. 배열,연결리스트,힙으로 구현 가능 힙이 가장 효율적(삽입,삭제 : O(logN)) public static void main(String[...
Queue
큐(Queue) 큐는 먼저 집어 넣은 데이터가 먼저 나오는 성질(FIFO : 선입선출, First In First Out)을 지닌 자료 구조이며, 나중에 집어 넣은 데이터가 먼저 나오는 스택과 반대되는 개념을 가졌다. 삽입 및 삭제에 O(1), 탐색에 O(n)이 걸린다. Enqueue : 큐 맨 뒤에 데이터 추가 Dequeue : 큐 ...
Stack
Stack 가장 마지막으로 들어간 데이터가 가장 첫 번째로 나오는 성질(LIFO(후입선출), Last In First Out)을 가진 자료 구조이다. [JVM 함수 호출 스택, Stack Overflow 에러] 에서의 스택 JVM public class JvmStack { public static void main...
Java collection framework
Java Collection FrameWork 자바에서 컬렉션 프레임워크(collection framework)란 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미한다. 일정 타입의 데이터들이 모여 쉽게 가공 할 수 있도록 지원하는 자료구조들의 뼈대(기본 구조) 자바에서 제공하는 Collection은 크...