퀵 정렬 (quick sort)

퀵정렬 (quick sort) 이번엔 퀵정렬을 알아 보겠다. 퀵 정렬은 n개의 데이터를 정렬할 때, 최악의 경우에는 O(n2)번의 비교를 수행하고, 평균적으로 O(n log n)번의 비교를 수행한다. 위키출처 이라고 한다. 말그대로 빠른 정렬 방식이다. 위키 출처 일단 설명을 해보자 만약 6, 3, 8, 7, 9, 2, 1, 5 이런 리스트가 있다고 가정하자! 그럼 일단 왼쪽에 있는걸 피벗으로 잡자 6을 피벗으로 잡는다. 그리고 또한 left도 6 이라고 정하고 맨 오른쪽에 있는걸 right라 정하자 그럼.. Read More

scala 기본(클래스)

스칼라 변수 함수 이번엔 클래스에 대해 알아보자. 일단 클래스의 기본형태를 보자 class MyClass { } 요거다. 자바랑 비슷하다. 그럼 상세하게 더 보자. class MyClass(id: Long, name: String) { def this(id:Long) = this(id,”No name”) def getName = name def getId = id override def toString = s”id = $id name = $name” } 보자 흠.. 일단 MyClass옆에 있는저건 생성자다. 저렇게 클래스 생성할 수 있다. 그리고 그 밑은 id만 있는 생성자다. 보조.. Read More

scala 기본(함수)

스칼라 변수 이번엔 함수에 대해 알아보자. def add(x: Int, y: Int): Int = { x + y } 기본적인 함수 형태다. 흠 add 안에 있는건 파라미터고 그 밖에 Int는 리턴 타입이다. int 파라미터를 두개를 받아서 int로 리턴하는거다. 일단 눈에 보이는건 return 이라는게 명시적으로 없다. 자동으로 마지막줄 실행 결과가 return 된다고 한다. 추론을 아주 열심히 하군. 저기서 생략 할 수 있는게 더 있다. 일단 리턴타입을 생략 가능하다. def add(x: Int, y:.. Read More