목록전체 글 (226)
컴퓨터공학 💻 도서관📚

연결 리스트(LinkedList) 특징 동일한 데이터 타입을 순서에 따라 관리하는 자료 구조자료를 저장하는 노드에는 자료와 다음 요소를 가리키는 링크(포인터)가 있음자료가 추가 될때 노드 만큼의 메모리를 할당 받고 이전 노드의 링크로 연결함 (정해진 크기가 없음)연결 리스트의 i 번째 요소를 찾는게 걸리는 시간은 요소의 개수에 비례 : O(n)jdk 클래스 : LinkedList public class MyListNode { private String data; // 자료 public MyListNode next; // 다음 노드를 가리키는 링크 public MyListNode(){ // 생성자 1 : 아무 입력이 없을 경우 data = null; next = null; }..

Arrays.asList() 메서드에 대한 부가 설명 Arrays.asList() 는 한 덩어리이다.Arrays 는 Java에서 기본으로 제공되는 클래스여서따로 선언하거나 정의할 필요 없이 import 만 있으면 바로 쓸 수 있다.

List 는 인터페이스이고 ArrayList 는 구현 클래스이다.

힙(Heap) : 힙 조건을 만족하는 완전 이진 트리 (특수한 종류의 완전 이진 트리) 힙 조건 : 2가지 경우가 있다. (1) 부모 노드의 값 >= 자식 노드의 값 (최대 힙 , Max heap) (2) 부모 노드의 값 최소 힙 , Min heap) 각각의 부모 노드가 모두 이걸 충족해야 한다, 루트 노드 값이 최대or최소고 아래로 내려갈수록 작아지거나 커지는 구조 힙 트리 라고 부르지는 않는다자료구조에서 "힙"이라는 말 자체가 이미 트리 구조를 내포하고 있기 때문이다.

이진 트리 (binary tree) : 부모노드에 자식노드가 두 개 이하인 트리완전 이진 트리(Complete Binary Tree) : 노드가 왼쪽부터 채워지고, 마지막 레벨을 제외하고 모든 노드가 채워져 있는 이진 트리 완전 이진 트리는 2가지 조건을 충족해야 한다첫째, 마지막 레벨(level)을 제외하고 모든 노드가 채워져있어야 한다.마지막 레벨의 노드는 다 채워져 있을 수도 있고 아닐수도 있다.둘째, 노드는 왼쪽에서 오른쪽 방향으로 채워져야 한다. 그래서 어느 노드에 오른쪽 자식이 존재한다면 왼쪽 자식도 가지고 있어야 완전이진트리로 볼 수 있다. 포화 이진 트리 (표준 표현 : Perfect Binary Tree , 비표준 표현 : Fully Complete Binary Tree) 쉽게..
Array 의 특징 동일한 데이터 타입을 순서에 따라 관리하는 자료 구조정해진 크기가 있음요소의 추가와 제거시 다른 요소들의 이동이 필요함배열의 i 번째 요소를 찾는 인덱스 연산이 빠름jdk 클래스 : ArrayList, VectorArray 구현하기public class MyArray { int[] intArr; //int array int count; //개수 public int ARRAY_SIZE; public static final int ERROR_NUM = -999999999; public MyArray() { count = 0; ARRAY_SIZE = 10; intArr = new int[ARRAY_SIZE]; } public MyArray(int size) { co..