프로그래밍 썸네일형 리스트형 [Python] Operator overloading 파이썬에서도 연산자에 대하여 오버로딩을 지원합니다. 연산자 오버로딩이란 클래스가 +, - 등등의 특수한 연산자에 대하여 해당 연산자를 지원하도록 하는 것입니다. Example1 1 + 2 = 3 [1,2,3] + [3,4,5] 파이썬에서 새로운 클래스에 대하여 + 연산자를 지원하기 위해서는 __add__ 라는 method 를 오버로딩하면 됩니다. __add__ 는 Special Method라고 불립니다. 기존 메소드(함수)는 메소드를 호출해야만 작동하는 방식인 것에 반해서 Special method는 사용자의 편의를 위해서 파이썬에서 미리 정해진 메소드는 입니다. What is Special Method? 클래스를 만들고 객체를 생성한다면 초기화를 해주기 위한 함수를 작성할 필요가 있습니다. 예를 들어 .. 더보기 [Python] Efficiency 1 - String Concatenatio Python에서 String을 붙이는 방법은 단순히 '+' Operator 를 사용하면 됩니다. 1 NEW = "ABC" + "DEF" 오늘은 성능의 측면에서 문자열을 붙이는 방법에 대하여 살펴보겠습니다. String이란? C 에서는 문자열을 character 배열에 대한 포인터로 사용했습니다. python에서는 단순히 alphabet = "3323" 등으로 선언을 해주면 문자열을 이어 붙이는 것은 단순히 뒤에 붙이는 것으로보입니다. 그러나 실제로는 "ABC" + "DEF" 의 결과물은 앞의 두 문자열과 관계없는 새로운 "ABCDEF" 스트링 객체 입니다. [새로운 객체를 생성하는 것입니다.] 이는 당연히 + 연산을 한만큼 새로운 객체를 생성하는 것과 같습니다. 즉 "ABC" 의 뒤에 "DEF"를 붙이는.. 더보기 Template C++ (함수) 구글에서 Template 이미지를 검색하면 PPT 템플릿이 나옵니다. 템플릿 안에 단어를 채우고 PPT를 완성하기 위한 것처럼, C++에서도 이 개념이 쓰입니다. 약간의 스토리 텔링 C++에서는 모든 변수가 type을 지니고 있습니다. 함수를 작성하면 아래 그림처럼 명시적으로 타입을 설정해줘야 하죠. 만일 실수 타입으로도 작성하고 싶다면 다시 작성해야 하고 더 많은 타입에 대해서 fxnnxc라는 함수를 적용하고 싶다면 새로운 함수를 계속 작성해야 합니다. 함수들의 형태(판)는 모두 동일하고 타입만 서로 다르기에 다음과 같이 TYPE을 이용해서 표시하겠습니다. 컴퓨터는 TYPE이 뭔지 모르니까 위에다 선언을 해줍니다. 참고: main에서 사용방법 더보기 Graph 표현 방법 Adjacency Matrix (C 언어) G(V,E)를 컴퓨터 상에서 표현하는 방법은 크게 두 가지가 있습니다. Adjacency Matrix 와 Adjacency List. Adjacency는 보통 줄여서 Adj 라고 적기도 하는데 인접이라는 의미를 가지고 있어서 근처에 있는 것을 표현한다고 생각하면 됩니다. 1. Adjacency Matrix int Matrix[4][4] Matrix[i][j] 는 (i,j) edge가 있을 경우 1로, 없을 경우 0으로 값을 가집니다. vertex 1 2 3 4 1 0 1 0 1 2 1 0 0 1 3 0 0 0 1 4 1 1 1 0 빨간색으로 표시된 부분은 꼭지점 4와 나머지 1,2,3과의 관계를 나타내고 있습니다. 만일 4와 2를 잇는 모서리가 있는 지 확인하고 싶다면 Matrix[4][2] 를 확인하면.. 더보기 이전 1 ··· 12 13 14 15 다음