- 博客(19)
- 收藏
- 关注
原创 三大件一些让人迷惑的地方(会不断更新)
演示案例// true答:函数本身就是一种数据类型,它有自己的任务。它来当构造函数相当于就是为了建立一个原型和对象的桥梁,相当于它生产了一个类(不严谨),然后把这个类交给了新的实例。这也就解释了为什么构造函数的原型里面还要加一个构造函数,因为这个构造函数是给新生成的对象用的。
2023-12-08 14:02:30 889
原创 (前端八股)Let、const、var的区别
const 可以通过变量指向改动(const是指向的地址,对应的那个数据不能改动)如上,obj是被指向的地址中的数据,我们无法改动{},但可以改动{}中的age。实际项目中一般都是用这个,后面有改动才考虑let,var基本上淘汰了。在写算法时遇见了一些基础问题,于是写一个博客记录一下。大家觉得这些问题,有点匪夷所思,于是ES6就改进了。在函数中使用var声明变量的时候,该变量是局部的。一个变量可多次声明,后面的声明会覆盖前面的声明。而如果在函数内不使用var,该变量是全局的。局部变量,只能在代码块中使用。
2023-11-03 21:43:39 92
原创 算法通关村第六关——二叉树(青铜)
树的概念节点的度:一个节点含有的子节点的个数称为该节点的度树的度:一棵树中,最大的节点的度称为树的度,注意与节点度的区别叶节点或终端节点:度为0的节点称为叶节点;非终端节点或分支节点:度不为0的节点;双亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点孩子节点或子节点:一个节点含有的子树的根节点称为该节点的子节点;兄弟节点:具有相同父节点的节点互称为兄弟节点;节点的祖先:从根到该节点所经分支上的所有节点;子孙:以某节点为根的子树中任一节点都称为该节点的子孙。森林:由m
2023-10-30 22:08:11 84 1
原创 算法通关村第五关——你好hash和队列(青铜)
例子:不同用户密码不同(包括长度、数据样式),但hash后都是同样长度的不同序列的hash结果——散列值。hash函数:再“字典”存入数据时,会对内容进行转化,这里就用到了哈希函数。Hash:hash又叫散列表,可以理解为python的字典。碰撞:当输入值,用同一hash函数hash后,散列值相同时。开放定址法:发生冲突就去找下一个空的散列地址。这里我们借助后端开发中的存储密码辅助理解。再后端开发中,我们需要对用户密码存储。链地址法:每个单元作为头节点。python:直接用数组就行。
2023-10-24 19:27:41 157
原创 算法通关村第四关——基于数组(或者链表)实现栈(青铜)
java中有stack,python中数组可以直接当栈用。python不太合适,所以用C。栈和队列是访问受限的线性表。empty:判断栈是否为空。
2023-10-21 23:30:59 133 1
原创 算法通关村第三关——不简单的数组增删改查(青铜)
流程:找到要添加的位置,其后元素都往后移,然后插入到空出来的位置上。思路:还是老规矩,先查后每一个向前移动一个。size:数组的元素个数(从1开始)语言实现角度:一体式、分离式。扩容角度:固定扩容、倍数扩容。size:已经存放的元素个数。储存角度:顺序型、链表型。key:要删除的目标值。
2023-10-21 00:14:36 107 1
原创 算法通关村第一关————链表经典问题(白银)
问题描述:输入两个链表,找出它们的第一个公共结点。我的思路:(之前没练过算法,所以会有些笨,也叫暴力解法?),先检测链表是否符合链表要求,然后进行遍历对比,找到一个相同节点(值和存储的next都相同),返回该节点。这里应该用两个for循环,一个遍历链表1,另嵌套进去遍历链表2,然后逐个进行对比,找到相同的节点,返回该节点。
2023-10-18 21:08:11 150
原创 算法通关村第一关——链表挑战笔迹(青铜)
让我们先假想创建单链表是一个综艺游戏,游戏开始,主持人A去路边随机抓人加入游戏,每当抓到人加入链表这个“游戏”中时,A先生便告诉他一条数字,然后告诉上一个加入游戏的人我们新拉入的人的位置。假如加入的人叫Y,让X告诉Y:他原本知道的Z的位置,然后告诉X忘记Z吧,记住Y的位置。知道的是,每个人都只知道下一个人的位置,并没有其他信息(比如他的前一个人在哪)。情况二:表尾(就是让新人当最后一个人),就只告诉他数字,再告诉以前的表尾他的位置。A,B,C三人,B想离开,于是他把C的位置告诉了A,然后就离开了。
2023-10-18 17:34:41 184
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人