上一页 1 2 3 4 5 6 7 ··· 15 下一页
摘要: 二叉树 理论 二叉树的种类 满二叉树,如果一颗二叉树只有度为0的节点和度为2的节点,且度为0的节点都在同一层上,则这颗二叉树为满二叉树。深度为k,有2^k-1个节点的二叉树。k是深度,除了叶子节点,每个节点都有2个节点 完全二叉树,除了底层以外,其它层都是满的,底层是从左到右是连续的。若最底层为第 阅读全文
posted @ 2025-06-09 18:30 安静的嘶吼 阅读(5) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2025-06-07 18:16 安静的嘶吼 阅读(5) 评论(0) 推荐(0)
摘要: 栈与队列 理论 栈,先进后出 栈方法 push,添加元素 pop,移除元素 peek,查看栈顶 isEmpty,检查空状态 size,获取大小 clear,清空 由于栈结构的特殊性,非常适合做对称匹配类的题目。 // 基于数组实现队列 class Stack { constructor() { th 阅读全文
posted @ 2025-06-06 16:58 安静的嘶吼 阅读(3) 评论(0) 推荐(0)
摘要: 字符串 题目 反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 思路: 双指针,一个指向头,一个指向尾,两两交换数值,然后同时向中间移动,遍历长度的1/2 阅读全文
posted @ 2025-06-04 11:04 安静的嘶吼 阅读(5) 评论(0) 推荐(0)
摘要: 四数相加 II 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, k, l < n nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0 阅读全文
posted @ 2025-06-02 22:42 安静的嘶吼 阅读(13) 评论(0) 推荐(0)
摘要: 哈希表 理论 哈希表,(散列表,hash table),根据关键码的值直接进行访问的数据结构。比如数组也是一张哈希表,关键码是数组的索引下标,然后通过下标直接访问数组中的元素。 哈希表,用来判断一个元素是否出现在集合里。 哈希函数,如通过hashCode把名字转化为数值,一般hashCode是通过特 阅读全文
posted @ 2025-06-02 16:54 安静的嘶吼 阅读(3) 评论(0) 推荐(0)
摘要: 两两交换链表中的节点 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 var swapPairs = function (head) { let ret = new ListNode(0, head), temp 阅读全文
posted @ 2025-06-01 20:43 安静的嘶吼 阅读(7) 评论(0) 推荐(0)
摘要: 链表 理论 链表类型 链表,通过指针串联在一起的线性结构。分为单链表、双链表、循环链表。 单链表:每一个节点包含2部分,左、右,左部分是内容区,右部分是指针,指针用于指向下一个节点,最后一个节点的指针指向null。 遍历终止条件:遇到null停止while(current !== null)。 双链 阅读全文
posted @ 2025-05-31 06:31 安静的嘶吼 阅读(4) 评论(0) 推荐(0)
摘要: 数组 理论 数组是存放在连续内存空间上的相同类型数据的集合。 数组可以通过下标索引的方式获取到下标对应的数据。 数组下标都是从0开始的。 数组内存空间的地址是连续的 数组的元素是不能删的,只能覆盖。 题目 二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target , 阅读全文
posted @ 2025-05-30 22:41 安静的嘶吼 阅读(8) 评论(0) 推荐(0)
摘要: 前端工程化 模块化 模块化,将大的应用拆分成功能单一且独立的文件,通过向外暴露数据或方法,与外部其他文件交互。 模块化原则:可复用性、可组合性、中心化、独立性 模块化发展历程: 早期假模块化时代 规范标准时代 ES原生时代 1. 早期假模块化时代 函数模式 借助函数作用域来模拟模块化,即将不同功能封 阅读全文
posted @ 2025-04-15 10:44 安静的嘶吼 阅读(4) 评论(0) 推荐(0)
摘要: 编译和优化 编译 Vue3编译场景分为Web编译和SSR编译。 Web编译 编译目标:将.vue文件中的<template>或模板字符串,转换为一个高性能的渲染函数render() 编译流程 1.解析template生成AST 2.AST转换 3.生成代码 1. 解析Parse,从字符串到AST 目 阅读全文
posted @ 2024-12-09 12:17 安静的嘶吼 阅读(9) 评论(0) 推荐(0)
摘要: 响应式原理 Vue 响应式 是一种机制,可以声明式地描述数据(data, computed, ref 等),当这些数据发生变化时,Vue 会自动检测到变化,并自动更新所有依赖这些数据的地方(如 DOM、计算属性、侦听器等)。即 修改数据,视图自动更新。 底层原理:读取数据时进行依赖收集 + 修改数据 阅读全文
posted @ 2024-10-21 10:59 安静的嘶吼 阅读(7) 评论(0) 推荐(0)
摘要: 组件 组件,是对DOM结构的一种抽象。一个大型应用可以通过独立且可复用的多个组件实现。 当数据更新后,组件可以自动重新渲染,用户只需要关心数据逻辑的处理,无须关心底层DOM操作。 1. 组件的渲染 vnode,用来描述DOM的JS对象,可以描述元素节点、组件节点、纯文本节点、注释节点等。 组件vno 阅读全文
posted @ 2024-09-20 10:58 安静的嘶吼 阅读(3) 评论(0) 推荐(0)
摘要: Vue.js设计 1. Vue.js 3.x的优化 源码优化 使用monorepo 源码中相对重要的两块:packages、scripts。 根据功能不同将代码拆分到packages目录下的不同子目录中,各个子目录有自己的API、类型定义、测试文件等。模块拆分更细、责任划分更明确,模块间的依赖关系更 阅读全文
posted @ 2024-09-09 09:26 安静的嘶吼 阅读(5) 评论(0) 推荐(0)
摘要: webpack原理 常⽤配置项 Entry:⼊⼝,Webpack执⾏构建的第⼀步将从Entry开始,可抽象成输⼊。 Output:输出配置 Module:模块,在 Webpack ⾥⼀切皆模块,⼀个模块对应⼀个⽂件。Webpack 会从配置的Entry开始,递归找出所有依赖的模块。 Loader:模 阅读全文
posted @ 2024-09-03 07:46 安静的嘶吼 阅读(8) 评论(0) 推荐(0)
摘要: webpack优化 找出问题 Webpack Analyse可视化分析工具 首先,项目执行 webpack--profile--json > stats.json ,将 webpack--profile--json 输出的内容通过管道输出到stats.json文件中。 打开Webpack Analy 阅读全文
posted @ 2024-08-23 18:41 安静的嘶吼 阅读(8) 评论(0) 推荐(0)
摘要: Webpack实战 框架结合 Vue 接入webpack: 修改webpack.config.js: module: { rules: [ { test: /\.vue$/, use: ['vue-loader'] } ] } 安装依赖 vue-loader:解析和转换.vue文件,提取出其中的逻辑 阅读全文
posted @ 2024-08-23 18:40 安静的嘶吼 阅读(5) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2024-08-23 18:39 安静的嘶吼 阅读(2) 评论(0) 推荐(0)
摘要: webpack配置 配置⽅式 通过⼀个js⽂件描述配置webpack.config.js 执行webpack可执行文件时通过命令行参数传入参数,如webpack--devtool source-map Webpack配置导出类型 Object、Function、Promise、Array 按照配置所 阅读全文
posted @ 2024-08-19 07:56 安静的嘶吼 阅读(6) 评论(0) 推荐(0)
摘要: 前端构建⼯具 模块化 模块化: 将复杂的项目代码拆分为独立的、可复用的模块,每个模块负责独立的功能,并通过接口与其他模块交互。提高代码的可读性、可维护性、复用性。 模块化解决的问题:命名冲突、功能复用、依赖管理、代码复用、按需加载、作用域隔离、可维护性 模块化规范 CommonJS 核⼼思想:通过r 阅读全文
posted @ 2024-08-09 22:18 安静的嘶吼 阅读(5) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 ··· 15 下一页