목록전체 글 (243)
컴퓨터공학 💻 도서관📚
Stack의 특징 맨 마지막 위치( top )에서만 자료를 추가,삭제, 꺼내올 수 있음 (중간의 자료를 꺼낼 수 없음)Last In First Out ( 후입선출 ) 구조택배 상자가 쌓여있는 모양가장 최근의 자료를 찾아오거나 게임(바둑, 장기)에서 히스토리를 유지하고 이를 무를때 사용할 수 있음함수의 메모리는 호출 순서에 따른 stack 구조요소를 넣는 건 push() , 요소를 제거해서 꺼내는 건 pop() , 데이터를 꺼내 보기만 하는 건 peek() 이라고 한다jdk 클래스 : Stackimport array.MyArray; // 이거 링크는 밑에 있다public class MyArrayStack { int top; MyArray arrayStack; // 배열로 스택을 구현 p..

연결 리스트(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) 쉽게..