0%
React 原理详解
React 是当今最流行的前端框架之一,它的设计理念和实现原理值得深入学习。本文将从核心概念出发,详细解析 React 的工作原理,包括 Fiber 架构、渲染流程、diff 算法、key 的作用、批处理机制以及并发模式等关键内容,帮助你彻底理解 React 的内部工作机制。
Vscode 搭配 Vim 指南
发表于 分类于 vim
本文字数: 2.3k 阅读时长 ≈ 2 分钟
uni-forms 表单校验梳理
发表于 分类于 uniapp
本文字数: 1.8k 阅读时长 ≈ 2 分钟
一、前置条件
uni-forms 需要绑定 model 属性,值为表单的 key/value 组成的对象。uni-form-item 需要设置 name 属性为当前字段名,字段为 String|Array 类型。
1 | <uni-forms :modelValue="formData"> |
分治算法详解
发表于 分类于 算法
本文字数: 17k 阅读时长 ≈ 15 分钟
分治算法(Divide and Conquer)是一种重要的算法设计思想,它将一个复杂的问题分解成若干个相同或相似的子问题,递归地解决这些子问题,然后将子问题的解合并成原问题的解。本文将从概念到实践,全面讲解分治算法的思想、适用场景及常见题型。
动态规划算法详解
发表于 分类于 算法
本文字数: 9.9k 阅读时长 ≈ 9 分钟
动态规划(Dynamic Programming,DP)是一种通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。它的核心思想是利用历史记录避免重复计算。本文将从基础到进阶,全面讲解动态规划。
排序算法
发表于 分类于 算法
本文字数: 11k 阅读时长 ≈ 10 分钟
排序算法概览
| 排序算法 | 平均时间复杂度 | 最好时间复杂度 | 最坏时间复杂度 | 空间复杂度 | 稳定性 |
|---|---|---|---|---|---|
| 冒泡排序 | O(n²) | O(n) | O(n²) | O(1) | 稳定 |
| 插入排序 | O(n²) | O(n) | O(n²) | O(1) | 稳定 |
| 选择排序 | O(n²) | O(n²) | O(n²) | O(1) | 不稳定 |
| 归并排序 | O(nlogn) | O(nlogn) | O(nlogn) | O(n) | 稳定 |
| 快速排序 | O(nlogn) | O(nlogn) | O(n²) | O(logn) | 不稳定 |
| 堆排序 | O(nlogn) | O(nlogn) | O(nlogn) | O(1) | 不稳定 |
| 希尔排序 | O(n^1.3) | O(n) | O(n²) | O(1) | 不稳定 |
说明:
- 时间复杂度:描述算法执行时间随数据规模增长的变化趋势
- 空间复杂度:描述算法所需额外空间随数据规模增长的变化趋势
- 稳定性:相等元素的相对顺序在排序后是否保持不变
数据结构:树篇
发表于 分类于 算法
本文字数: 10k 阅读时长 ≈ 10 分钟
树是一种非常重要的非线性数据结构,在算法和工程中应用极其广泛。本文将从基础概念、遍历算法到常见题型,全面讲解树的相关知识。