2020.코딩일지
[자료구조/알고리즘] 재귀.JSON [BEB 6th]011일차 본문
728x90
코드스테이츠 블록체인 부트캠프 6기
💃재귀란?
어떤 문제를 동일한 구조의 더 작은 문제로 나누어, 이 작은 문제를 해결함으로써 전체문제를 해결한다! (😎크멋지다)
💃recursion재귀의 장점!
더욱 간결하고 이해하기 쉽다. 그리고 알고리즘문제의 많은 부분을 차지한다.
💃재귀적으로 사고하는 법
[ 잘개쪼개기 -> 재귀적사고 -> 함수자신의 재귀적호출 -> 탈출조건 ]
💃재귀는 언제 사용하는 게 좋을까?
- 주어진 문제를 비슷한 구조의 더 작은 문제로 나눌 수 있는 경우
- 중첩된 반복문(while 또는 for) 이 많거나 반복문의 중첩 횟수(number of loops)를 예측하기 어려운 경우
💃재귀적 사고를 통해 재귀함수를 base case와 recursive case로 나눠서 작성할 수 있다.
??
💃재귀 함수의 활용(트리구조)
트리 구조에 재귀 함수를 사용하는 이유는?
JSON 구조에 재귀 함수를 활용
DOM 구조에 재귀 함수를 활용
실생활에 사용되는 유용한 Tree구조는?
깊이를 앞 수 없는 Tree구조에 재귀 함수를 활용하여 모두 순회(traverse)할 수 있다.
JSON
JavaScript Object Notation
데이터 교환을 위해 만들어진 객체 형태의 포맷. 대표적인 🎄트리구조.
객체의 값으로 객체를 포함하는 구조 = (재귀사용하기 딱 좋은 구조!ㅋ) = 전형적인 재귀 탐색이 가능하다
전송 가능한 조건 (transferable condition)
- 수신자(receiver)와 발신자(sender) 같은프로그램 사용
- 문자열처럼 범용적으로 읽을 수 있어야 한다.
`JSON.stringify` : Object type을 JSON으로 = 직렬화(serialize)
`JSON.parse` : JSON을 Object type(객체형태)으로 = 역직렬화(deserialize)
JSON의 기본 규칙
자바스크립트 객체 | JSON | |
키 | 키는 따옴표 없이 쓸 수 있음 | 반드시 "" 붙여야 함 |
문자열 값 | 문자열 값은 어떠한 형태의 따옴표도 사용가능 | 반드시 "" 감싸야 함 |
키와 값 사이, 그리고 키-값 쌍 사이에는 공백ㄴㄴ (꼭붙어있으시오 👩❤️👨) |
'algorithm' 카테고리의 다른 글
[자료구조/알고리즘] 재귀Stringify.JSON [BEB 6th]012일차 (0) | 2022.07.21 |
---|---|
코플릿[자료구조/알고리즘] 재귀적 사고 연습하기 [BEB 6th]011일차 (0) | 2022.07.19 |
백엔드로드맵 (0) | 2022.01.03 |
인공지능을 위한 머신러닝 알고리즘 (0) | 2021.07.19 |
기초 알고리즘과 파이썬코딩 (0) | 2021.07.19 |
Comments