기본소양/컴퓨터공학 Basic5 [코딩, 처음입니다] Big O와 Big Ω, 알고리즘 실행시간 표기법 Big O와 Big Ω 알고리즘 실행시간 표기법 알고리즘에 있어서 대략적으로 실행시간을 알고자할 때, Big O와 Big Ω로 이야기합니다. 예를들어 봅시다. 숫자가 10000까지 무작위로 나열되어있는 집합에서 4543이라는 숫자를 찾으려면 얼마나 걸릴까요? 운이 좋으면 한번에 찾을 수도 있고, 최악의 경우 10000번째에 찾을 수 있습니다. 이때 우리는 big O가 10000이고, big omega가 1이라고합니다. 우리는 이 숫자를 n으로 바꿔서 말합니다. 하나하나씩 찾는 선형겁색은, O(n)이되고 Ω(1)이됩니다. 여기서 O는 “on the order of”의 약자로, 쉽게 생각하면 “~만큼의 정도로 커지는” 것이라고 볼 수 있습니다. O(n) 은 n만큼 커지는 것이므로 n이 늘어날수록 선형적으로 .. 2021. 2. 1. Performance Measure 보호되어 있는 글 입니다. 2021. 1. 27. [ 코딩, 처음입니다 ] 유니코드? 아스키? RGB? 그게뭔데 대체 유니코드? 아스키? RGB? 그게뭔데 대체 한글이 자꾸 깨지는 것에 대하여 0. 이진법과 비트 컴퓨터에 입력되는 정보들은 단순한 숫자, 문자일 수도있고 사진일 수도있고 동영상일 수도 있습니다. 정보의 형태는 너무나도 다양합니다. 어떻게 이렇게 다양한 정보를 처리할 수 있을 까요? 컴퓨터는 0과 1로 이루어진 비트(bit)로 정보를 처리합니다. 그럼 도대체 어떻게 0과 1만으로 그 많은 정보를 나타낼 수 있을까요? 0과 1은 '켜다/끄다'의 개념입니다. 실제로 컴퓨터에는 무수히 많은 트랜지스터가 있고, 이를 키고 끔으로서 0과 1을 나타냅니다. 여기서 하나, 키고 끄는 트랜지스터 하나가 한 비트라고 볼 수 있습니다. 하나의 바이트(Byte)는 8개의 비트를 의미합니다. 각 비트는 0과 1, 두가의 경우를 .. 2021. 1. 3. [ 코딩, 처음입니다 ] Method vs Functhion Method vs Function Function(함수) 함수는 특정 기능을 하는 역할을 합니다. 예를 들어, f(x) = x + 6 이라는 함수가 있다고합니다. 이 함수는 임의의 값에 6을 더해주는 기능을 합니다. Python에서는 다음과 같습니다. def plussix(x): print(x+6) 여기서 x는 파라미터(매개변수)가 됩니다. 경우에 따라서는 매개변수가 여러개 있을 수가 있습니다. 사람들은 기존에 이런 함수들을 무수히 많이 만들었고 우리는 너무나도 편하게 쓸 수 있습니다. 다음은 파이썬을 설치하면 내장되어있는 함수입니다. 매개변수(parameter)와 전달인자(argument)는 변수(variable)와 값(Value)의 차이입니다. f(x) = x 에서 x 는 파라미터, f(2)에서 2가.. 2021. 1. 2. [ 코딩, 처음입니다 ] Library, Package, Module Library, Package, Module 당신은 차를 고치는 사람입니다. 오늘은 '아침'이라는 자동차가 입고되었네요. 타이어에 구멍이나서 갈아야한다고 합니다! Module 자동차 타이어에 바람이 빠지면, 타이어만 바꾸면 됩니다. 자동차를 통째로 일일히 볼 필요는 없죠. 코드도 마찬가지입니다. 매우 복잡한 코드를 하나에 담아놓으면 가독성도 떨어질 뿐만 아니라 유지보수하기에도 힘이 들겠죠. 그래서 특정부분을 빼서 관리를 할 수 있도록 module이라는 것을 만듭니다. 함수나 클래스, 전역변수 같은 것을 따로 빼놓는 것입니다. 우리는 ****.py로 끝나는 파일로 분리를 해서 필요할 때 불러와서 사용하면 됩니다. 우리는 타이어를 교체하는 법을 이용해서 타이어를 갈았습니다. # tire.py def tire.. 2021. 1. 2. 이전 1 다음