μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
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 |
- useEffect
- λΈλ‘κ·Έ
- REACT
- useRef
- λ°λΈμ½μ€3κΈ°
- νλ‘ νΈμλ
- fetch API
- float
- CSS
- Flex
- Props
- μκ³ λ¦¬μ¦
- λ°λΈμ½μ€
- μλ°μ€ν¬λ¦½νΈ
- Gatsby
- νλ‘κ·Έλλ¨Έμ€
- μ½λ©ν μ€νΈ
- history api
- position
- Today
- Total
Daehyunii's Dev-blog
1μ£Όμ°¨ κ³Όμ - νΈλ¦¬λ₯Ό μ΄μ©νμ¬ μ μ μν, μ€μ μν, νμ μνλ₯Ό κ²μνμ¬ μ§μ ꡬνν΄λ³΄μΈμ. λ³Έλ¬Έ
1μ£Όμ°¨ κ³Όμ - νΈλ¦¬λ₯Ό μ΄μ©νμ¬ μ μ μν, μ€μ μν, νμ μνλ₯Ό κ²μνμ¬ μ§μ ꡬνν΄λ³΄μΈμ.
Daehyunii 2022. 10. 25. 01:17μ΄μ§ νΈλ¦¬ μν ꡬν λ°©λ²
μ΄λ² κ³Όμ λ μ΄μ§ νΈλ¦¬λ₯Ό μννλ λ‘μ§μ ꡬννλ κ²μ΄λ€. κΈ°λ³Έμ μΌλ‘ μ΄μ§ νΈλ¦¬μ κ²½μ°μλ νΈλ¦¬ μλ£κ΅¬μ‘°κ° κ°λ κ·μΉμ μμ λ Έλλ₯Ό μ΅λ 2κ°κΉμ§ κ°μ§ μ μλ€λ κ·μΉμ΄ μΆκ°λ μλ£κ΅¬μ‘°μ΄λ€. μ΄μ§ νΈλ¦¬λ₯Ό μννλ λ°©λ²μΌλ‘λ BFSμ DFS λͺ¨λ κ°λ₯νμ§λ§ μ΄λ² κ³Όμ μμλ DFSλ₯Ό νμ©νμ¬ μ μ μν, μ€μ μν, νμ μνλ₯Ό ꡬννλ κ²μ΄λ€.
μ μ μνμ μ€μ μν, κ·Έλ¦¬κ³ νμ μνλ₯Ό λλλ κΈ°μ€μ λΆλͺ¨ λ Έλλ₯Ό κΈ°μ€μΌλ‘ λλκ² λλ€. λ§μ½ λΆλͺ¨ λ Έλλ₯Ό κ°μ₯ λ¨Όμ μννλ€λ©΄ μ μ μνκ° λλ κ²μ΄κ³ , μ€κ°μ μννλ©΄ μ€μ μν, λ§μ§λ§μ μννλ©΄ νμ μνκ° λλ κ²μ΄λ€. λ΄κ° ꡬνν λ°©λ²μ λ°°μ΄μ μννλ μμ κ°λ€μ μ°¨κ·Ό μ°¨κ·Ό push( )ν΄μ λ§μ§λ§μ λ°ννλ λ°©μμΌλ‘ μννλ λ‘μ§μ ꡬννλ€.
DFSλ 쑰건μ μ λ§λ€μ΄ μ£Όλκ²μ΄ μ€μνλ€κ³ μκ°νλλ° μ΄μ§ νΈλ¦¬ μνλ₯Ό μν DFS μ¬κ· νΈμΆμ νμΆνλ μ‘°κ±΄μ΄ κΉλ€λ‘μ§ μκΈ° λλ¬Έμ DFS ꡬν μμ²΄κ° μ΄λ €μ΄κ² κ°μ§λ μλ€.(μ λ¬Όλ‘ ,, λ΄κ° μ΄μ μ μμ±ν΄ λμλ DFS λ‘μ§μ μ°Έκ³ νκ³ κ΅¬ννκΈ°λ νλ€.)
2022.08.16 - [π Language & CS knowledge/Algorithm & Data structure] - 17 νΈλ¦¬ μν
ν΄λμ€λ‘ μ΄μ§νΈλ¦¬λ₯Ό ꡬνν κ²½μ°
//ν΄λμ€λ‘ μ΄μ§νΈλ¦¬λ₯Ό ꡬνν κ²½μ°
class Node {
constructor(value) {
this.value = value;
this.left = null;
this.right = null;
}
}
class BinaryTree {
constructor(value) {
this.root = new Node(value);
}
preOrder() { // μ μ μν
let result = [];
function traverse(node) {
result.push(node.value);
if(node.left) traverse(node.left);
if(node.right)traverse(node.right);
}
traverse(this.root);
return result;
}
inOrder() { // μ€μ μν
let result = [];
function traverse(node) {
if(node.left) traverse(node.left);
result.push(node.value);
if(node.right)traverse(node.right);
}
traverse(this.root);
return result;
}
postOrder() { // νμ μν
let result = [];
function traverse(node) {
if(node.left) traverse(node.left);
if(node.right)traverse(node.right);
result.push(node.value);
}
traverse(this.root);
return result;
}
}
let tree = new BinaryTree(1);
tree.root.left = new Node(3);
tree.root.right = new Node(5);
tree.root.left.left = new Node(7);
tree.root.left.right = new Node(9);
tree.root.right.left = new Node(11);
console.log(tree.preOrder()); // [1, 3, 7, 9, 5, 11]
console.log(tree.inOrder()); // [7, 3, 9, 1, 11, 5]
console.log(tree.postOrder()); // [7, 9, 3, 11, 5, 1]
λ°°μ΄λ‘ μ΄μ§ νΈλ¦¬λ₯Ό ꡬνν κ²½μ°
μ΄μ§ νΈλ¦¬μ κ²½μ°μλ λΆλͺ¨ λ Έλλ μμ λ Έλλ₯Ό μ΅λ 2κ°κ°μ§ κ°κΈ° λλ¬Έμ μνμ κ·μΉμ μ΄μ©νμ¬ λ°°μ΄λ‘ μ΄μ§ νΈλ¦¬λ₯Ό ꡬνν μ μλ€.
let leftChildNode = parentNodeIndex * 2;
let rightChildNode = parentNodeIndex * 2 + 1;
let parentNode = parseInt(childNodeIndex / 2);
//λ°°μ΄λ‘ μ΄μ§νΈλ¦¬λ₯Ό ꡬνν κ²½μ°
let pineTree = [undefined,9,3,8,2,5,undefined,7,undefined,undefined,undefined, 4];
function preOrder(binaryTree) { // μ μ μν
let result = [];
function traverse(level) {
result.push(binaryTree[level]);
if(binaryTree[level * 2]) traverse(level * 2);
if(binaryTree[level * 2 + 1]) traverse(level * 2 + 1);
}
traverse(1)
return result;
}
console.log(preOrder(pineTree));
function inOrder(binaryTree) { // μ€μ μν
let result = [];
function traverse(level){
if(binaryTree[level * 2]) traverse(level * 2);
result.push(binaryTree[level]);
if(binaryTree[level * 2 + 1]) traverse(level * 2 + 1);
}
traverse(1)
return result;
}
console.log(inOrder(pineTree));
function postOrder(binaryTree) { // νμ μν
let result = [];
function traverse(level) {
if(binaryTree[level * 2]) traverse(level * 2);
if(binaryTree[level * 2 + 1]) traverse(level * 2 + 1);
result.push(binaryTree[level]);
}
traverse(1)
return result;
}
console.log(postOrder(pineTree));
https://github.com/WooDaeHyun/Dev_course-first-assignment.git
'π Dev Course > Assignment' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
8μ£Όμ°¨ κ³Όμ - Vue μν κ²μ νμ΄μ§ λ§λ€κΈ° (0) | 2022.12.13 |
---|---|
6μ£Όμ°¨ κ³Όμ - κ³ μμ΄ μ¬μ§μ²© μ΅μ ν λ° μ ν¨μ± κ²μ¬νκΈ° (0) | 2022.11.24 |
3μ£Όμ°¨ κ³Όμ - TO-DO μ± κ°ννκΈ° (0) | 2022.11.05 |
2μ£Όμ°¨ κ³Όμ - νΈλΌμ΄λ₯Ό μ¬μ©νμ¬ μλ μμ± μ½λλ₯Ό ꡬννμΈμ. (0) | 2022.10.25 |