분류 전체보기298 [자료구조] 연결 리스트 (Linked List) 간단하게 알아보기 연결 리스트 (Linked List) 단방향/양방향 Linked List의 개념 단방향 Linked List 구현하기 (in Java) 연결 리스트 (Linked List) 컴퓨터의 자료를 저장하는 구조의 한 종류로, 일렬로 이루어진 데이터를 저장할 때 사용한다. Linked List 에는 배열과의 비교를 빼놓을 수가 없는데, 배열은 배열 방들이 물리적으로 한 곳에 모아져있고, 배열 방 크기를 한 번 정하면 늘리거나 줄일 수 없다. 노드를 삽입하는 경우, 배열로 구현을 해야한다면, 노드 한 개 추가될 때마다 배열 방을 통째로 다시 선언해서 데이터를 다시 복사하고, 추가하는 과정을 반복해야하는 반면, Linked List는 중간에 삽입하고자 하는 노드가 있을 때, 앞 노드가 가지고 있던 주소를 삽입할 노드.. Algorithm/Linked List 2022. 6. 5. [자료구조] 알고리즘 표기법 : 빅오(Big-O notation) 란 ? Big-O ? - 알고리즘의 성능을 수학적으로 표현해주는 기법 - 알고리즘의 시간과 공간복잡도를 표현 - Big-O 표기법은 알고리즘의 실제 러닝타임을 표기하는 것이라기보단, 데이터나 사용자의 증가율에 따른 알고리즘 성능을 예측하는게 목표이기 때문에 상수와 같은 숫자들은 모두 1이 된다. O(1) : constant time 입력데이터 크기와 상관없이 언제나 일정한 시간이 걸리는 알고리즘의 시간복잡도 F(int[] n) { return (n[0] == 0) ? true : false; } n의 크기가 1개이던 100,000개이던 상관없이 언제나 일정한 속도로 결과를 반환하는 이런 알고리즘을 'O(1)의 시간복잡도를 가진다' 라고 표현한다. O(n) : linear time 입력데이터 크기에 비례해 처리시.. Algorithm/Big O 2022. 6. 5. [자료구조] Tree의 종류 및 Binary Tree의 3가지 순회 방법 간단하게 알아보기 목차 Tree ? Tree의 종류 Binary Tree Binary Search Tree Complete Binary Tree Full Binary Tree Perfect Binary Tree Binary Tree 3가지 순회방법 Inorder (Left, Root, Right) Preorder (Root, Left, Right) Postorder (Left, Right, Root) Tree ? 그 동안 많이 접해왔던 Array, LinkedList, Stack, Queue 와 같이 라인처럼 생긴 일직선 데이터들이 있다면, 트리(Tree)는 부모 자식 관계를 가지는 구조이며, 계층과 그룹이 있다. 각 노드(Node)는 하나 이상의 자식을 갖고 있다. 트리(Tree) 노드(Node) 중에는 부모를 아는 경.. Algorithm/Tree & Graph 2022. 6. 3. [IntelliJ] IntelliJ IDEA SVN 프로젝트 Import 하는 방법 SVN 프로젝트 임포트 1.초기화면 - Get from VCS 클릭 혹은 File - New - Project from Version Control... 클릭 2.Version control : Subversion 으로 변경 '+' 아이콘 버튼 클릭 하여 New Repository Location 창의 Repository URL 에 임포트 하려는 SVN 주소 입력 3.프로젝트를 잘 가져왔다면, Check Out 만약, 여기서 'Cannot run program "svn" ~ ~ 지정된 파일을 찾을 수 없습니다' 문구가 나오면 아래로 내려가서 해결! 4.SVN Checkout Options 설정해주면 끝 Repositories URL 가져오기 오류 해결 방법 Cannot run program "svn" (.. IDE/IntelliJ 2022. 5. 31. Git 이란 ? Git 구조와 용어 간단하게 살펴보자 Git 이란 Git은 SVN 이후로 가장 많이 사용되는 형상관리 툴이다. (Git과 SVN 차이) 더보기 깃(Git /ɡɪt/)은 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다. 소프트웨어 개발에서 소스 코드 관리에 주로 사용되지만 어떠한 집합의 파일의 변경사항을 지속적으로 추적하기 위해 사용될 수 있다. 기하학적 불변 이론을 바탕으로 설계됐고, 분산 버전 관리 시스템으로서 빠른 수행 속도에 중점을 두고 있는 것이 특징이며 데이터 무결성, 분산, 비선형 워크플로를 지원한다. 위키백과 깃(소프트웨어) 참조 Git을 활용하여, 로컬에서 자신의 개발 소스에 대한 섬세한 관리가 가능하고, Remote Repository (원격 저장소)에.. SCM/Git + Github 2022. 5. 29. Git과 SVN 특징 및 명령어 비교 출처 : https://dzzienki.tistory.com/46 SVN은 내 로컬PC에서 Commit 하면 바로 중앙저장소에 반영이 되는 반면, Git은 내 로컬PC에서 Commit을 하면 로컬저장소에 반영이 되고, 로컬저장소에서 Push를 하면 원격저장소에 반영이 된다. SVN 최대 장점은 직관적이다. 모든 사람이 중앙서버에 있는 같은 자료를 받아오고 내가 Commit하는 순간 모든 사람에게 공유가 된다. 이러한 방식의 단점은 두 사람이 하나의 파일을 동시에 수정하고 커밋했을 때 충돌이 일어날 확률이 높으며, 그 충돌을 해결하는데 많은 시간이 소요될 수 있다. 반면, Git은 직관적이지 않고, Git을 사용하기 위해 Git 수행 방법, branch 및 merge, pull request, rebase.. SCM/Git + Github 2022. 5. 29. [Java] StringTokenizer Class 사용 및 Split 비교 StringTokenizer Class ? 문자열을 스페이스, 특정 구분자 등의 기준으로 분리할 때 사용 StringTokenizer 구문 StringTokenizer st = new StringTokenizer("문자열");// 띄어쓰기 기준으로 문자열 분리 StringTokenizer st = new StringTokenizer("문자열", "구분자");// 구분자 기준으로 문자열 분리 StringTokenizer st = new StringTokenizer("문자열", "구분자", boolean); // 구분자 기준으로 문자열 분리할 때 구분자도 Token으로 넣을지(true), 말지(false default) StringTokenizer 라이브러리 Import import java.util.Str.. JVM/Java 2022. 5. 28. [Git] Git GUI Fork 다운로드 및 시작하기 Git-Fork 접속 및 다운로드한 뒤 실행 User name 과 Email 입력 후 Finish (입력하지 않고 Finish를 눌러도 사용가능하다.) Git-Fork를 바로 실행하면, 일단 Theme는 Dark.. File - Clone... - Repository Url 을 입력해서 프로젝트를 clone 했다. 이 GUI를 설치해서 사용해봐야겠다 생각했던 가장 큰 이유 중에 하나이다. 보통 너무 많은 Git 명령어를 자유자재로 외우지 못하거나, 익숙하지 않은 입문자들이 GUI를 많이 사용하는 것 같다. 그런데 Fork에서는 프로그램에서 실행한 동작을 Git 명령어로도 보여주는 것이 좋았다. 잘 활용해서 빠른 시일내로.. Git Bash로 command를 자유자재로 사용하기를... SCM/Git + Github 2022. 5. 28. [IntelliJ] CamelCase 단위 Ctrl+방향키 단축키 설정 [Ctrl + 방향 키] 를 사용하여 단어 단위로 커서 이동을 하는데, 단어의 CamelCase 단위로 이동을 하고 싶은 경우 설정 방법이다. "CamelHumps" words 사용 방법 1. File - Settings 2. Editor - General - Smart Keys 3. Use "CamelHumps" words IDE/IntelliJ 2022. 5. 26. [자료구조] 그래프(Graph)의 개념 및 탐색 간단하게 알아보기 그래프(Graph)의 용어 트리(Tree)와 그래프(Graph)의 차이 그래프(Graph)의 특징 : Directed, Undirected, Cyclic, Acyclic 그래프(Graph)를 표현하는 방법 : Adjacency Matrix, Adjacency List 그래프(Graph)의 탐색 : DFS(깊이 우선탐색), BFS(넓이 우선탐색) 그래프(Graph)의 용어 정점(vertice) : 노드(node)라고도 하며 정점에는 데이터가 저장됩니다. (0, 1, 2, 3) 간선(edge): 링크(arcs)라고도 하며 노드간의 관계를 나타냅니다. 인접 정점(adjacent vertex) : 간선에 의해 연결된 정점으로 위에서 (정점0과 정점1은 인접 정점) 단순 경로(simple-path): 경로 중 반.. Algorithm/Tree & Graph 2022. 5. 23. [VSCode] 확장 플러그인(Extension) 오프라인 설치 방법 온라인 설치 인터넷이 사용 가능한 환경에서는 vscode extension market에서 확장프로그램 조회 및 설치하면 된다. 좌측 Extentions (Ctrl + Shift + X) 메뉴 선택 원하는 플러그인 검색 후 설치(Install) 오프라인 설치 인터넷이 지원되지 않는 환경에서의 설치방법을 살펴보자 1. vsix 다운로드 vscode marketplace 접속한 뒤 Visual Studio Code 탭을 클릭한다. 원하는 확장 프로그램을 검색해서 상세페이지를 들어간다. Visual Studio Marketplace Extensions for Visual Studio family of products on Visual Studio Marketplace marketplace.visualstudi.. IDE/VsCode 2022. 5. 20. [Postman] Swagger API import 하는 방법 포스트맨 설치 및 간단한 API 요청테스트 하기 [Postman] API 테스트 도구 Postman 설치 및 테스트 API 요청하기 Postman ? 개발된 API를 테스트하여 문서화 또는 공유 할 수 있도록 도와 주는 플랫폼이다. Postman은 모든 API 개발자를 위해서 다양한 기능을 제공한다. 변수 및 환경, request 설명, 테스트 및 사전 요 haenny.tistory.com 포스트맨 Collection 실행 및 Monitor 활용하기 [Postman] Collection 테스트 CRUD 요청 실행 및 테스트 자동화 포스트맨 설치 및 간단한 API 요청테스트 하기 [Postman] API 테스트 도구 Postman 설치 및 테스트 API 요청하기 Postman ? 개발된 API를 테스트하여.. 기타 2022. 5. 15. 이전 1 ··· 3 4 5 6 7 8 9 ··· 25 다음 추천 글 728x90 반응형