自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 ES6函数的扩展

变量解构赋值,es6对函数的扩展

2024-04-10 19:02:01 282 1

原创 Object常用方法

ES6,Object或Object.prototype的方法

2024-03-12 14:43:30 369 1

原创 浅谈Symbol

es6,Symbol

2024-02-28 17:42:37 408

原创 let和const命令

ES6声明变量,var,function,let,const

2024-02-28 13:48:52 349

原创 前后端数据交换

JSON

2024-02-22 18:00:23 390 1

原创 JavaScript的继承机制详谈

JavaScript对象的创建,原型,this关键字,new命令

2024-02-18 13:43:21 852 1

原创 搭建Vue项目

1. 所有页面的切换都是在App.vue中进行的,模板中添加渲染当前路由匹配的组件,因此页面模板实则是App.vue的子组件。2. 进入选中的文件夹中,在terminal中输入指令vue create 【my-vue-app】,my-vue-app是自己定的项目名称。挂载:在Web前端开发中,挂载指将Vue实例的内容渲染到html文档的某个部分,这是用过在Vue实例中指定一个挂载点(DOM元素)来实现的。1. 安装node.js,npm,vue CLI。

2024-01-26 14:25:58 337 1

原创 分治法 - 习题

1. 二叉树概述1)定义:二叉树是每个节点最多有两个子树的树结构2)种类空二叉树:根节点为null 满二叉树 (Full):国内定义为,一个二叉树的每层的节点都达到最大值 完全二叉树 (Complete):除最后一层外,其他各层节点数都达到最大个数,并且最后一层的所有节点都集中在左边 平衡二叉树 (Balanced):左右子树的高度之差 <= 1,任意子树也必须是一颗平衡二叉树2. 分治法1)思路:将大规模问题拆分为若干个同类型子问题去处理的算法思想2)应用二叉树:整棵

2022-04-14 10:56:32 663

原创 宽度优先搜索 — 习题总结

1. BFS摘要1)基本思路:使用队列 (Queue) 的数据结构来进行BFS,把待访问节点放入队列中。每当遍历并弹出节点时,都要判断它的子节点 / 邻居节点,若存在,则将其子节点 / 邻居节点也放入队列中。注:在BFS图时,每当把节点放入队列时,都要标记该节点被访问。2)BFS的使用场景:连通块问题 (Connected Component),分层遍历 (Level Order Traversal),拓扑排序 (Topological Sorting)3)图的BFS如果图中存在环,则同一个

2022-04-07 23:19:08 650

原创 非递归实现二叉树的中序遍历

1. 二叉搜索树 (binary search tree)对于树中每个节点,若其左子树存在,则其左子树上每个节点的值都不大于该节点的值;若其右子树存在,则其右子树上每个节点的值,都不小于该节点的值。查询复杂度:树的高度越低,节点的查询复杂度越低,范围为O(logn) ~ O(n)。...

2022-03-30 13:08:03 1636

原创 递归实现遍历法&分治法

拓展1. 二叉树满二叉树:高度为h,由2^h - 1个节点构成的二叉树称为满二叉树。完全二叉树:由满二叉树引申而来,若一二叉树的深度为h,除第h层外,其他各层的节点数都达到最大个数,第h层的所有节点都连续集中在左边,这就是完全二叉树。...

2022-03-25 16:58:11 434

原创 宽度优先搜索&图论

1. BFS的适用场景1)分层遍历一层一层地遍历一个图、树或矩阵 简单图最短路径(简单图的定义是,图中的所有边长都一样)2)连通块问题通过图中一个点找到其他所有连通的点 找到所有方案问题的一种非递归实现方式3)拓扑排序实现容易度远超DFS拓展1)三种遍历先序遍历 - 根左右 中序遍历 - 左根右 后序遍历 - 左右根...

2022-03-10 17:45:25 424

原创 字符串String & 正则表达式

1. String类中split()方法的使用public String[] split(String regex){ // 参数limit默认为0 return split(regex,0);}1)java的split方法实则是调用了重载方法,默认方法参数limit传0。当limit==0时,只有存在的最后的空格会被去掉,在中间和前面的空格都不会被去掉。2)当limit > 0 时,limit等于字符串要被分割的份数。如果limit > 最大分割份数,字符串只会

2022-03-06 14:16:03 874

原创 队列基本知识

1. 什么是队列 (Queue)队列 (queue) 是一种采用先进先出 (first in first out) 策略的抽象数据结构。最常用的就是在宽度优先搜索 (BFS) 中,记录待扩展的节点。队列内部存储元素的方式一般有两种,数组(array) 和链表(linked list) 。两者的主要区别就是:数组对随机访问有较好性能 链表对插入和删除元素有较好性能拓展 1)泛型2)取模运算(即取余数):a%b...

2022-03-01 17:35:50 875

原创 二分法-习题

1. 经典二分查找1)在一个排序数组中找一个数,返回该数出现的任意位置,如果不存在,返回-12)为了方便使用,排除在last position of target出现的死循环问题,如下为二分法模版:public int binarySearch(int[] nums, int target) { if (nums == null || nums.length == 0) { return -1; } int start = 0, end = nums

2022-02-24 12:28:38 1792

原创 相向双指针-习题

1. List 与 Arraylist2. heap3. HashMap底层实现 getOrDefault()方法4.链表

2022-02-21 19:24:52 488

原创 递归&二分法

1. 用T函数表示法计算时间复杂度例如 T(n) = T(n/2) + O(1),将规模为n的问题降低为规模为n/2的问题1)首先 T 代表的是 Time Complexity,n 代表的是问题规模(二分法里就是数组的大小)。那么T(n)代表的就是:求处理问题规模为n的数据的时间复杂度是多少。2)然后 O 代表的是时间复杂度。O(1) 就意味着,你大概用一个 if 语句,或者简单的加加减减,就可以完成。O 在这里的意思是数量级约等于。在 O 的世界里,我们只考虑最高项是什么,不考虑系数和常..

2022-02-13 16:57:45 1707

原创 快速排序&归并排序

1. 快速排序1)思路(先宏观排序,再局部排序):从无序数组中选择一个pivot(中心点),小于pivot的数放到左边,大于pivot的数放到右边,得到两个无序数列。再分别对两个无序数列进行排序,层层递归,递归终止条件是数列中只剩下一个数,无需排序。2)时间复杂度最优为 O(nlogn),最坏为 O(n^2)2. 归并排序...

2022-02-10 13:35:08 720

原创 复杂度&双指针算法

1.四个复杂度时间复杂度 空间复杂度 编程复杂度 —— 看得懂 思维复杂度 —— 想得出

2022-01-12 16:57:08 386

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除