일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- singly linked list
- djangoframework
- django로그인
- 트리 시간복잡도
- CLI 명령어
- 배열 예시
- javascript
- js
- 웹개발
- python
- Django
- 알고리즘
- 시간복잡도
- 리눅스 기초 명령어
- 배열 사례
- mdn
- 사용자입력
- 자바스크립트
- djangoprogramming
- 맥북 터미널 명령어
- linked list 현실 사례
- 입력받기
- doubly linked list
- 배열이란
- let const var 차이
- js입력받기
- let const 차이
- 웹프로그래밍
- 자료구조
- 장고
- Today
- Total
목록전체 글 (22)
용기러기's Coding World
이번 포스팅에서는 Tree와 Binary Search Tree라는 자료구조와 함께 시간 복잡도를 알아보고자 합니다 :D 먼저, Tree는 일상 생활 속에서 예시를 찾아보면 회사의 조직도 를 생각해 볼 수 있습니다 :D 예시를 바탕으로 트리 자료구조에 대해서 간략하게 설명을 해보면, tree 는 먼저, node와 edge로 이뤄져 있습니다:D 여기서 node는 자료를 담고 있는 부분이고, edge는 각각의 노드들을 연결하고 있는 선과 같습니다. 이 때, tree는 맨 위에 root node(직역하면 뿌리가 되는 노드)가 있고, 그 아래에 해당 root node의 child node가 edge로 연결되어 있는 구조입니다. 여기서 root node는 child node에게 있어서 parent node가 되겠죠..
알고리즘 시간 복잡도에 대해서 알고는 있었지만, 이 키워드를 가지고 깊게 고민해본 적이 없는데 한번 짚고 넘어가야할 것 같아 정리를 해두고자 한다:D 먼저, 알고리즘 시간 복잡도에 대해서 나만의 정의를 해보면, 자료의 크기를 n이라고 했을 때, 이 n을 그래프의 가로축에 두고, 그 n이 점점 커진다고 했을 때 세로축에는 해당 자료를 가지고 수행하는 알고리즘의 걸리는 시간(time)이 오고, 이 때, 가로축과 세로축의 관계, 즉, 그래프의 선이 어떤 방향으로 가게 될지 반비례, 비례 관계 그리고 그 관계의 정도(기울기)를 시간 복잡도라고 생각해볼 수 있다. 마지막으로 간단 정리하면, 시간 복잡도는 자료크기가 커질 때, 그 자료를 바탕으로 수행하는 알고리즘의 수행 시간이 자료의 크기와 어떤 상관관계를..
오늘은 지난 배열편에 이어 linked list(연결 리스트)라고 불리는 자료구조에 대해서 시간 복잡도와 연관해서 분석해보고, 현실에서 어떤 것과 닮아있는지를 통해서 심화학습 해보도록 하겠습니다 :D 먼저, linked list(연결 리스트)에 대해서 간략하게 정의해보면, 우리가 아는 배열의 특징(메모리가 이미 정해져있음, 인덱스를 통해 자료를 저장 및 관리함)과는 달리! 인덱스가 없고, 본래 정해져있는 크기가 없습니다. 즉, 배열과 달리 자료의 크기에 유동성이 있고, 자료는 인덱스를 통해서 관리되지 않고 단일 연결 리스트(singly linked list) 의 경우 이전의 자료에 의해서 다음 자료가 유지가 되는 형태로 자료가 저장 및 관리됩니다. 좀 더 구체적으로 이해해보면, linked list는 먼..
오늘은 '알고리즘', 즉, 문제를 해결하는 방법 혹은 절차가 얼마나 효율적인지 (상대적인 개념)를 체크하는 기준이 되는 '시간 복잡도' 그리고 '공간 복잡도' 중에서 '시간 복잡도'를 위주로 특정 '자료구조(자료를 저장하거나 사용하는 방법을 정의해 놓은 것)'를 사용했을 때, 자료의 '추가', '삭제', '조회', '탐색'에 있어서 시간 복잡도가 얼마나 되는지를 통해 어떤 상황에는 어떤 자료구조를 쓰는 것이 좋은 것인지를 고민해보는 시간을 가져보고자 한다 :D 그럼 가장 먼저 볼 자료구조는! 배열(Array)! :D 입니다. 먼저, 우리가 흔히 아는 Array(C언어와 Java의 배열과 같이 길이가 정해져있는 배열을 말함)! 참고로, 자바스크립트, 파이썬 등의 언어에서의 배열은 길이 제한이 없는 배열이기..
1) 리눅스 기초 명령어 CLI (Command Line Interface) & GUI(Graphic User Interface) 우리는 어렸을 때부터 편한(?) GUI에 익숙해져서 CLI가 낯설지만 본래 컴퓨터는 CLI로 나왔고, GUI가 편의를 위해 새로 보급된 것! 그래서 CLI (리눅스에서 쓰는) 명령어들이 사실상 GUI에서 하던 것들을 명령어로 칠 뿐이라는 것! - ls(List)명령어 : 옵션으로 -a, -l 등이 있고(a: all의 약자로 숨김파일까지 보여줌// l : list의 약자로 파일 생성일, 소유권 정보 등 자세한 정보를 같이 보여줌), GUI에서는 눈으로 뭐가 있는지 폴더를 옮겨가며 보면 되지만, CLI에서는 현재 자기가 있는 곳에 어떤 파일, 디렉터리가 있는지를 알려면 ls 명령..
#피드백 1주일은 적응기간이라 생각했기에 일단 피곤할 때까지 공부를 해봤고, 이제부터 어떻게 해나갈지 일종의 테스트 역할이였던 한 주였다 #다음주 플랜 : 1) 하루에 무조건 (감잃지 않기 위해) 알고리즘 문제 2문제 이상 풀기(난이도 중,상으로) 2) 아침 7시 기상 30분 동안 [(푸쉬업 || 풀업) && 플랭크] 맨몸운동 플랜으로 운동하기 3) 블로그에 글 남기는 거는 이번주처럼 일주일에 3개 이상으로 설정해놓기 4) 페어 프로그래밍 & 레슨 들은 내용 노션에 정리하면서 듣고, 공부하고 => 수업 끝나고 노션에 정리 먼저하고 => 블로깅(복습 2번) # 한마디 ? 좀 더 집중하자 :D 잘했지만 집중력이 안좋다는 것을 느꼈다