목록전체보기 (70)
따..딱히 공부하려고 포스팅하는 건 아니니까..!
출처 http://www.unitystudy.net/bbs/board.php?bo_table=dustin&wr_id=357 각 플랫폼별로 Application 클래스의 프로퍼티들이 지정하는 경로와 엑세스에 대해 정리해보았습니다. [윈도우 에디터]Application.persistentDataPath : 사용자디렉토리/AppData/LocalLow/회사이름/프로덕트이름파일 읽기 쓰기 가능Application.dataPath : 프로젝트디렉토리/AssetsApplication.streamingAssetsPath : 프로젝트디렉토리/Assets/StreamingAssets파일 읽기 쓰기 가능 [윈도우 응용프로그램]Application.persistentDataPath : 사용자디렉토리/AppData/Local..
C++는 C언어를 기반으로 하고 있는 언어로, C언어에 클래스, 상속 등 객체지향의 특징과 기능을 넣은 객체지향 언어이다. 그런데 최근 Java나 C#과 같은 다른 객체지향 언어를 사용하면서 과연 C++은 객체지향 언어일까? 하는 의문이 들었다. 그래서 이번 기회에 객체지향과 C++에 대해서 조사하고 정리해보았다. 1. 객체지향말 그대로 객체를 지향한다는 의미이다. 객체지향에 대해 더 자세하게 설명하기 위해서 객체지향 프로그래밍에 대해 설명하고자 한다. 2. 객체지향 프로그래밍 (OOP, Object-Oriented Programming)프로그램을 여러개의 독립된 객체들의 모임으로 보는 프로그래밍의 패러다임을 말한다. 객체지향 프로그래밍의 특징으로는 다음과 같이 크게 5가지로 나눌 수 있다. (클래스를 ..
http://pcottle.github.io/learnGitBranching/ git이 어떤 형태로 작동되는지 직접 눈으로 확인해볼 수 있는 사이트
참고사이트http://hannom.tistory.com/36http://hannom.tistory.com/37
파일 입출력을 이용하여 사용자 데이터를 이진파일에 저장하는 방법을 이용함 실행파일 소스파일
1. 힙 자료구조 최솟값 혹은 최댓값을 빠른 시간에 접근하도록 만들어진 자료구조 2. 자료구조의 특징1) 각 노드의 값이 자식노드의 값들보다 크거나 작다 2) 완전 이진 트리(complete binary tree)이다3) 트리의 마지막 층에 있는 이파리 노드들은 왼쪽부터 꽉 차 있는 형태를 가진다4) 순서는 위->아래, 왼쪽->오른쪽5) 왼쪽 노드와 오른쪽 노드의 순서는 상관 없다 3. 노드k는 높이, i는 정수이고 i번째 노드라고 할때, 힙 크기 : 2^k -1부모 노드 : i/2왼쪽 자식 노드 : 2i오른쪽 자식 노드 : 2i+1 4. 알고리즘 구현 힙 자료구조의 특징(완전 이진트리)을 이용한 알고리즘으로, 데이터를 모두 힙에 넣었다가 다시 꺼내서 정렬하는 것이다. 1) DownHeap 함수의 내용 ..
정렬 알고리즘은 말그대로 정렬하는 알고리즘이다. 1. 분류 1) 내부정렬 입력의 크기가 주기억 장치의 공간보다 크지 않은 경우에 수행되는 정렬 2) 외부정렬 입력의 크기가 주기억 장치의 공간보다 커, 보조 기억 장치에 있는 입력을 여러 번 나누어 주기억 장치에 읽어들인 후, 보조 기억 장치에 다시 저장하는 과정을 반복하는 정렬 2. 알고리즘 1) 버블 정렬 이웃하는 숫자를 비교하여 작은 수를 앞쪽으로 이동시키는 과정을 반복하여 정렬, 즉 마지막 값이 가장 큰 값이 되도록 만드는 것 2) 선택 정렬 입력 배열 전체의 최솟값을 선택하여 배열의 0번의 값과 바꾸고 0번을 제외한 나머지 원소에서 위의 과정을 반복하는 방법 3) 삽입 정렬 정렬이 된 부분과 안된 부분으로 나누고 정렬이 안된 부분의 가장 왼쪽 원소..
새로운 프로세스 생성하기새로운 프로세스를 생성하는 유일한 방법 fork() 시스템 호출이다. #include #include pid_t fork(); // pid_t는 int형 이 시스템 호출은 한번 호출 되면 자식 프로세스를 만드므로, 두 번 반환한다. (= 자식 프로세스에서 0을 반환, 부모 프로세스에서 자식 프로세스의 ID를 반환) 실패 시 -1을 반환한다. 자식 프로세스(child process) : 새로 생성되는 프로세스, 부모 프로세스를 똑같이 복제 (= 부모의 코드, 데이터, 스택, 힙 등을 똑같이 복제)부모 프로세스(parent process) : 자식 프로세스를 생성한 프로세스 ※ 이때, 자식 프로세스와 부모 프로세스는 독립적으로 실행을 한다. 즉, fork() 시스템 호출 이후의 코드부..
인접 리스트(Adjacency List) 정의 각각의 정점에 인접한 정점들을 연결 리스트로 표시한 것 특징1) 각 연결 리스트의 노드들은 인접 정점을 저장2) 연결 리스트들은 헤더 노드를 가지고 있고 헤더 노드들은 하나의 배열로 구성되어 있다.3) 정점의 번호를 이용하여 배열의 인덱스에 접근할 수 있으므로 정점 리스트에 쉽게 접근할 수 있다.4) 정점의 개수에 비해 연결된 선분이 적을 때 사용하면 좋다 #include using namespace std; // enum으로 정점을 숫자로 치환, 배열을 이용하여 다시 되돌림enum vertices{ a, b, c, d, e, f };char vertices[] = { 'a', 'b', 'c', 'd', 'e', 'f' }; typedef int LData;..
퀵 정렬 (Quick Sort) - 정의 : 2개의 부분문제로 분할하나 각 부분문제의 크기가 일정하지 않은 형태의 분할 정복 알고리즘- 문제점 : 정복 후 분할하는 특징이 있어 이 정렬을 수행하기 위해 다시 정렬(Sort)를 해주어야 하는 문제가 있다. 최악 경우 시간복잡도 : O(n^2)최선 경우 시간복잡도 : 피봇과의 비교횟수 X 층수 = O(n) X log2n = O(nlog2n) - 피봇 선정 방법: 퀵 정렬의 불균형한 분할을 완화하기 위해 피봇 선정 방법이 생김 1) 랜덤2) 세 숫자의 중앙값으로 선정하는 방법 : 가장 왼쪽, 중간, 가장 오른쪽 숫자 중에서 중앙값을 피봇으로 정한다.ex) 가장 왼쪽 숫자 11, 중간 숫자 1, 가장 오른쪽 숫자 20이라고 할때 가장 중간에 가까운 11을 피봇으..