Programming/DATA STRUCTURE [Data Structure] Linked List 2018. 5. 23. Linked List Linked List는 List 구현 클래스이므로 Array List와 사용 방법은 똑같지만 내부 구조는 완전 다르다.Array List는 내부 배열에 객체를 저장해서 인덱스로 관리 하지만, Linked List는 인접 참조를 링크해서 체인처럼 관리한다. Linked List 구조 Linked List는 노드(엘리먼트)들의 모임이다.따라서 내부적으로 노드를 가지고 있어야 한다.Array List의 경우 엘리먼트가 배열의 엘리먼트 였지만 Linked List는 배열 대신에 다른 구조를 사용한다. 노드는 최소한 두가지 정보를 알고 있어야 한다. 노드의 값과 다음 노드이다.각각의 노드가 다음 노드를 알고 있기 때문에 하나의 연결 된 값의 모임을 만들 수 있는 것이다. 이것을 구현하는 방법.. [Data Structure] Array List 2018. 5. 23. Array List ● Insert 추가내부적으로 데이터를 배열에 저장한다.배열의 특성상 데이터를 리스트의 처음이나 중간에 저장하면 이후의 데이터들이 한칸씩 뒤로 물러난다. ● Remove 삭제삭제도 추가와 비슷하다.빈자리가 생기면 빈자리를 채우기 위해서 순차적으로 한칸씩 땡겨야 한다. ※ 단점 : 데이터를 추가하거나 삭제 할 때 마다 시간이 많이 소요된다. ※ 장점 : 인덱스 값을 알고 있기 때문에 데이터를 가져오는 것은 매우 빠르다.주소를 알고 있기 때문에 건물을 찾아가기 빠르다 JAVA 컬렉션 프레임워크라는 자체적인 라이브러리 안에 Array List를 내장하고 있기 때문에 직접 Array List를 구현해서 사용 할 일이 없으며 사용하는 방법에 대해서 명확한 인식을 가지고 있어야 한다 ● 생성Ar.. [Data Structure] Array 2018. 5. 23. Array ● 모든 언어에서 지원되는 타입● 이미 알고 있는 데이터 스트럭쳐● 많은 데이터 스트럭쳐들이 부품으로 사용 데이터가 많아지면 그룹관리의 필요성이 생긴다이럴 때 사용하는 것이 배열(Array)이다. 여러 데이터를 하나의 이름으로 그룹핑해서 관리하기 위한 데이터 스트럭쳐 ● 배열의 용어 123456student = new Array();student[0] = '최진혁';student[1] = '한이람';student[2] = '최유빈';student[3] = '한이은';student[4] = '김주한';cs Value : 값Index : 값을 식별하는 식별자Element ● 배열의 사용 학급을 프로그래밍적으로 표현하기엔 배열이 좋다. 선생님이 학생의 이름을 기억하는 것은 어려운 일이다.그래서 학교.. [Data Structure] Data Structure란? 2018. 5. 23. Data Structure란? Data Structure란? ● 현실을 프로그래밍적으로 표현하는 것어떠한 현실적인 문제를 컴퓨터로 표현 하려고하면 막막할 뿐이다. 이러한 문제들을 개발자들이 만들어 놓은 표현 방법들을 배우는 것이다. ● 큰 데이터를 효율적으로 관리하는 것예를 들어 책이 1권 있을 때 관리 할 것은 딱히 없다. 그런데 책이 100권, 200권이 있다면 내가 필요한 책을 찾는 시간이 많이 소비 될테며 이를 방지하기 위해 책들을 정리 할 것이다. 주제별로, 알파벳별로 책들을 보관하게되면 내가 필요한 책을 찾는 시간이 덜 필요하게 될테며 책을 보관하는 공간 또한 남을 수 있게 된다. Data Structure가 어려운 이유 ● 실무 경험이 없다● 공감이 안된다● 이해가 안된다 프로그래밍을 갓 배.. 이전 1 다음