자료구조
HashMap -chaning 기법
Hash 자료구조란 ? Hash는 key의 값으로 value 값을 찾아내는 자료구조이다. Hashtable은 값을 저장할 장소를 뜻하며, 각 값의 주소는 key 값을 해쉬화를 통해, 주소를 반환한다. 하지만 이러한 방법으로는 주소가 겹칠수도있기 때문에, chaning 기법을 쓴다. Hash + LinkedList라고 생각하면 쉽다. 동일한 주소값에 next 객체를 생성하여, 연속된 LinkedList를 생성하면된다. public class MyHash { private Slot[] HashTable; public MyHash(Integer size) { this.HashTable = new Slot[size]; } public class Slot { String key; String value; Slot..
Double Linked List (더블 링크드 리스트 )구현 - 자바
public class Main{ public Node head = null; public Node tail = null; public class Node{ T data; Node prev = null; Node next = null; public Node(T data){ this.data =data; } } public void addNode(T data){ Node input = new Node(data); if(this.head == null){ this.head =input; this.tail = input; return; }else{ Node node = head; while(node.next != null){ node = node.next; } input.prev = node; node.nex..

Stack
자료구조중 하나인 Stack에대해 포스팅하도록 하겠다. Queue의 FIFO(선입선출) 과 반대로 LIFO(후입선출) 구조이다. 나중에들어온 녀석이 먼저 나간다는 말이다. push 를 하게되면 스택에 값이 쌓이고, pop을 하게되면 맨 위의 값이 출력되면서 사라진다. 다음 그림을 참고해보자. 다음은 stack에서 top/ bottom에 대해서 알아보자. top은 말그대로 스택의 맨 위의값을 가리키는 것이고, bottom은 처음스택에 저장된 값을 가리킨다. ! 자바환경에서 스택 사용하기 import java.util.Stack // stack 선언 Stack stack = new Stack(); // push stack.push("A"); stack.push("B"); stack.push("C"); // ..

Queue
큐는 통로라고 생각하면 쉽다. 통로에 먼저들어간 사람이 제일 먼저 나오는 원리이다. 롤에 큐가 잡힌다도, 여기서도 파생되었다고 한다. 큐에 사람이 다 꽉차면 게임이 시작하는것처럼 말이다. Enqueue : 데이터가 들어가는 기능 Dequeue : 데이터가 나오는 기능 // queue를 사용하기위해서는 다음 두클래스를 import해줘야한다. import java.util.LinkedList import java.util.Queue //선언 Queue qq = new LinkedList(); //데이터추가 qq.add(1); qq.offer(2); // queue 변수를 단순히 출력하게 된다면, queue가 가지고있는 리스트가 출려됩니다. // 여타 다른 변수와는 다른 차별점입니다. System.out.pr..