자료구조 및 알고리즘
-
연결리스트 - 단일 연결리스트 구현 (SingleLinkedList)자료구조 및 알고리즘/선형구조 2024. 3. 7. 13:47
public void add(int index, Object data) { // TODO : 노드의 순서를 기준으로 해당 index에 삽입한다. Node node = new Node(); node.data = data; if (0 == index) { // TODO : 맨 앞에 노드를 삽입하는 경우 node.next = head; head = node; } else { // TODO : 해당 index에 삽입하려면 이전 노드를 찾아야 한다. Node foundNode = findNode(index - 1); node.next = foundNode.next; foundNode.next = node; } ++size; } class SinglyLinkedList { Node head = null; int ..
-
배열(Array)과 연결 리스트 (Linked List)자료구조 및 알고리즘/선형구조 2023. 11. 21. 16:47
1. 자료구조의 분류단순구조:단순히 데이터를 저장하고 관리.비단순구조:데이터 간의 관계를 표현하며, 선형구조와 비선형구조로 나뉨.선형구조: 데이터가 순차적으로 나열되는 구조예시 : 배열, 연결리스트. 스택, 큐, 덱(DQueue), 비선형 구조: 데이터가 순차적으로 나열되지 않는 구조예시 : 트리, 그래프, 집합, 해시맵, 해시테이블, 2. 배열 (Array)2.1 배열의 정의와 특징정의:동일한 데이터 타입의 데이터를 연속적인 메모리에 저장.물리적 순서와 논리적 순서가 동일.2.2 배열의 장점빠른 접근:데이터의 위치를 알고 있다면, 인덱스를 통해 즉시 접근 가능 (시간복잡도: O(1))2.3 배열의 단점삽입과 삭제 속도 저하:데이터 삽입/삭제 시, 배열을 재생성하고 데이터를 복사해야 함.시간 소요가 크..
-
자료구조 시작하기.자료구조 및 알고리즘 2023. 11. 13. 10:25
0. 데이터와 정보 - 자료구조를 배우기 앞서 자료구조의 재료가 되는 데이터와 정보에 개념을 알아야 한다. 데이터란 무엇인가? 데이터의 사전적 정의를 검색 플랫폼별 검색을 해보았다. 네이버 : 이론을 세우는 데 기초가 되는 사실. 또는 바탕이 되는 자료. 위키백과: 문자, 숫자, 소리, 그림, 영상등의 형태로 된 의미 단위이다. 연구나 조사 등의 바탕이 되는 재료 옥스포드 사전 : 프로그램을 운용할 수 있는 형태로 기호화 한 자료 ChatGPT : 정보의 표현이나 기록된 사실, 숫자, 문자 또는 다른 기호로 표현된 모든 형태의 자료를 의미. 또 다른 사전 : 어떤 값을 포함하고 있는 가공되지 않은 1차 자료 위 정의들을 종합해보면, 결과적으로 데이터란 어떤 대상의 원천이 되는 가공되지 않은 자료라는 것으..