본문 바로가기

반응형

- Programming

★ 11. 링크드 리스트와 배열의 차이 링크드 리스트와 배열의 차이 - 배열과 연결 리스트는 데이터를 나열한다는 점에서 비슷함 - 배열과 연결 리스트는 엄연히 다르기 때문에 사용하기에 따라 프로그램의 성능이 달라지게 됨. - 배열 (Array) 1. 배열은 데이터를 논리적 순서에 따라 순차적으로 데이터를 입력하며, 물리적 주소 또한 순차적이다. 2. 인덱스를 가지고 있어서 원하는 데이터를 한번에 접근이 가능하기 때문에 데이터 접근 속도가 매우 빠르다. 3. 배열은 데이터의 삽입/삭제에는 취약하다. 배열 특성상 데이터 삽입/삭제가 이루어지면 삽입/삭제가 이루어진 위치의 다음부터 모든 데이터의 위치를 변경해야 하기 때문이다. - 연결리스트 (Linked List) 1. 연결리스트는 데이터를 논리적 순서에 따라 데이터를 입력한다. 하지만 물리적 주.. 더보기
★ 1. STL Vector와 List 설명 및 장단점 STL Vector와 List 설명 및 장단점 - Vector, List 설명 - = Vector =벡터는 일반적인 배열처럼 개체들을 연속적인 메모리 공간에 저장한다.즉, iterator 뿐 아니라 position index(operator [])로도 접근이 가능하다는 것이다.동적으로 확장/축소가 가능한 동적 배열(dynamic array)로 구현되어 있다. = List =리스트는 double linked list로 구현되어 있다.노드가 양 쪽으로 모두 연결 되어 있으며 삽입/삭제가 자주 발생하는 경우에 용이하다. - Vector, List 장단점 - = Vector =장점 : 1. 개별 원소들 접근 가능 2. 원소를 마지막에 삽입 하는 것이 빠름 3. 랜덤으로 원소 순회가 가능 4. 개별 원소에 대한 .. 더보기
★ 2. c# 네트워크 개발 p2 ==================================================================모든 출처는 - 유니티 개발자를 위한 C#으로 온라인 게임 서버 만들기 - 저자 이석현, 출판사 한빛미디어그리고 URL : http://lab.gamecodi.com/board/zboard.php?id=GAMECODILAB_Lecture_series&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=hit&desc=asc&no=61================================================================== C#으로 게임 서버 만들기 - 2. 접속 처리 및 버퍼 풀링 기법 1-4-1. 클라이언트 접.. 더보기
★ 15. C# Lock 키워드 C# 에서의 Lock 키워드 C#의 Lock 키워드는 특정 블럭의 코드를 "한번에 하나의 쓰레드만" 실행할 수 있도록 해줍니다. lock()의 파라미터에는 임의의 객체를 사용하고 주로 object 타입의 private 필드를 지정합니다. lock 키워드는 다른 스레드가 코드의 영역에 있는 동안 특정 스레드가 임계 영역에들어갈 수 없고 다른 스레드가 잠긴 코드에 들어가려고 할 경우 개체가 해제될 때까지 대기하게됩니다. 더보기
★ 14. 액세스 한정자 액세스 한정자 출처 : https://msdn.microsoft.com/ko-kr/library/ms173121.aspx public 동일한 어셈블리의 다른 코드나 해당 어셈블리를 참조하는 다른 어셈블리의 코드에서 형식이나 멤버에 액세스할 수 있습니다.private 동일한 클래스 또는 구조체의 코드에서만 형식이나 멤버에 액세스할 수 있습니다.protected 동일한 클래스나 구조체의 코드 또는 파생 클래스의 클래스에서만 형식이나 멤버에 액세스할 수 있습니다.internal 동일한 어셈블리의 코드에서는 형식이나 멤버에 액세스할 수 있지만 다른 어셈블리의 코드에서는 액세스할 수 없습니다. 더보기
★ 1. c# 네트워크 개발 p1 ==================================================================모든 출처는 - 유니티 개발자를 위한 C#으로 온라인 게임 서버 만들기 - 저자 이석현, 출판사 한빛미디어그리고 URL : http://lab.gamecodi.com/board/zboard.php?id=GAMECODILAB_Lecture_series&no=62================================================================== 유니티 엔진으로 게임을 한번 만들어보면서 네트워크에 관한 궁금증으로 인해 구글링 해보니 좋은 강좌를 공유해주시는 분이 계셔서 그 정보를 바탕으로 작성해보겠습니다.카피 하는 방식으로 포스팅하지만 전부 직접 타이핑이고 .. 더보기
★ 3. 3D 프로그래밍의 기초 개념 [정점] 정점(vertex) 공간상에서의 위치(Position)를 나타내는 것으로 일반적으로 여러 개가 모여서 특정 형태의 오브젝트(폴리곤이 가장 간단한 형태)를 구성하는 요소를 정점이라고 합니다. 더보기
★ 2. 3D 프로그래밍의 기초 개념 [좌표계] 3차원 좌표계(3D Coordinate system) D3D는 왼손 좌표계를 사용합니다. (왼손 좌표계) (오른손 좌표계) 그림과 같이 양의 Z 축이 모니터의 안쪽으로 들어가는 방향을 말합니다. OpenGL의 경우 왼손, 오른손 좌표계를 선택적으로 사용하지만 D3D는 기본적으로 왼손 좌표계를 기준으로 합니다.~ 더보기
★ 13. 댕글링 포인터 댕글링 포인터 메모리상에서 해제된 대상을 가리키고 있는 포인터 주로 동적할당받은 메모리가 해제되었으나 포인터 변수가 그 해제된메모리 주소를 가지고 있을 때 발생하며메모리 해제 이후에 반드시 NULL 값을 주어 주소를 지워서 해결한다. 다음은 댕글링 포인터의 예이다. void DP(void){element *n = new element;int *m = n;delete(n);n = NULL;} 이 코드에서 n은 댕글링 포인터가 아니고 m이 댕글링 포인터입니다.~ 더보기
★ 10. 연결 리스트를 이용한 스택 구현하기 연결 리스트를 이용한 스택 구현 전과 마찬가지로 각 기능별 함수로 구현되었습니다. // # 연결 리스트를 이용한 스택 ##include #include using namespace std;typedef int element; struct stackNode { element data; // # 다음 노드를 가리키는 포인터 변수 # stackNode *link; }; stackNode* top; // # 스택이 비어 있으면 true 아니면 false를 반환 # int isEmpty() { // # top 포인터가 NULL이면 스택이 비어 있는 것 # return (top == NULL); } // # 스택의 TOP에 원소를 삽입 # void push(element item) { // # 새로운 노드 공간을 .. 더보기

반응형