ALGORITHM
-
JAVA 자료구조 및 알고리즘 [02] : 연결 리스트ALGORITHM/JAVA 2022. 1. 30. 22:45
연결리스트 노드 : - 자료 구조에 데이터를 담거나 표현하는 기초적인 단위 (ex. 특정 값 혹은 포인터) 연결 리스트의 노드 : - 데이터와 링크 공간 (즉 연결 리스트를 구성하는 작은 단위) - 하나의 노드는 포인터 영역에서 다음 노드를 가리킴 - 노드의 포인터 공간 사용에 따라서 단일, 이중, 원형 등 다양한 연결 리스트 구현 가능 연결 리스트의 특징 : - 크기를 미리 정하지 않고도 동적 할당이 가능 - 삽입과 삭제 연산에서 *오버헤드가 배열보다 적음 - 특정 인덱스로 접근이 불가능하므로 데이터를 검색하려면 순차적으로 첫 노드부터 끝까지 방문해야 함 (따라서 연결 리스트는 삭제 및 삽입이 빈번히 일어나는 환경에서 배열보다 유리함) (연결 리스트에서는 배열과는 달리 데이터가 중간에 삽입되어도 노드 ..
-
JAVA 자료구조 및 알고리즘 [01] : 배열ALGORITHM/JAVA 2022. 1. 30. 16:20
자료구조 : 프로그램 개발 시 특정한 문제나 목표를 해결하기 위해 여러가지 요소를 모아 조직화된 데이터를 이루는 것. 자료구조를 통해 효율적으로 데이터를 저장하고 데이터 간 관계를 정의할 수 있으며 데이터의 접근, 수정, 삭제 등의 관리를 할 수 있다. 또한 코드의 양을 줄일 수 있다. 자료구조 - 선형구조 : 데이터를 일렬로 나열. 인접한 요소들 간에 하나의 요소만 존재. 자료구조 - 비선형구조 : 데이터를 계층 구조화 한 형태. 인접한 요소들 간에 다수의 요소가 존재. 알고리즘 : 문제를 해결하기 위한 일련의 과정 및 논리적인 절차. ex. 최솟값 찾기 : 정수형 변수 다섯 개를 서로 다른 숫자로 초기화 하고(int num1....num5) int mini는 int mini=int num1로 초기화한..
-
알고리즘 트레이닝ALGORITHM/JAVA 2022. 1. 17. 01:59
1. leetcode https://leetcode.com/explore/interview/card/top-interview-questions-easy/ Explore - LeetCode LeetCode Explore is the best place for everyone to start practicing and learning on LeetCode. No matter if you are a beginner or a master, there are always new topics waiting for you to explore. leetcode.com 2. hacker rank https://www.hackerrank.com/ HackerRank HackerRank is the market-leadin..