例题输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)思路基本思路要查找树A内是否包含树B,首先,先在树A中查找是否存在和树B根节点的值一样的结点R。若存在,则对比R的子树与B子树是否相同;若不存在,则在R的子树中继续寻找是否存在和树B根节点的值一样的结点R。如上图所示,首先我们在树A中找到跟树B值一样的节点:8,而后遍历两者子树,树A中节点8的左子节点为8
转载
2024-03-22 21:47:49
263阅读
前言对于一个树状结构的数据,如下图(图画的丑): 根节点a是唯一的,子节点b,c,d可以有多个(b,c,d)是同级节点,还有孙节点b1,b2等等的嵌套数据,这就是大致的树状结构数据。 那么如何遍历这样的数据呢?深度遍历 深度遍历是从纵向的维度去思考问题,就是实现一层嵌套一层的遍历。深度遍历也可分为串行和并行。 串行深度遍历:从根节点a开始,先是遍历b,再遍历b下的b1,之后再遍历b2,当b的分支被
**函数递归:**如果面试官去问你关于递归的知识,说明面试官对你的要求很高! 但是去公司的话呢,公司是明文禁止使用递归。 可能这两句话听起来有些矛盾,但是跟着小编往下看,我们一起剖析一下这个神秘的函数递归到底是什么什么是递归?递归:
满足以下三种特点就是递归:
1.函数自己调用自己
2.一般情况下有参数
3.一般情况下有return【注】递归可以用来解决循环能解决的事情,有一
一、获取树中的所有祖先节点名称一般用于手动设置vue/react的UI库中的树默认全部展开节点。const treeData = [{
key: '全部',
title: '全部',
isLeaf: false,
children: [{
key: '数据库',
title: '数据库',
isLeaf: false,
转载
2024-07-16 15:01:01
39阅读
省市两级连动
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>省市两级连动</title>
<script defer>
var ar =
[[["安徽省"],["安庆市
转载
2024-10-30 14:38:07
16阅读
引言: 在某个群内看到有位同学分享了这道题。由此来分享我的做法思路; 递归折半顺序查找算法介绍: 简单来说,这个的实现要求之一就是要在一个有顺序的一组数中查找你要求寻找的元素的位置; 首先会输入一个元素个数n 以及
数组遍历,排序,查找,多维数组数组概念,定义,存储方式数组在很多编程语言中都是比较重要的一部分,其中主要包含了数组在内存中的存储方式,以及对数组的各种操作:遍历,查找,排序等等,当然还有多维数组 - 数组的定义及内存分配特点概念数组是同一种类型的数据集合,本质就是一个容器特点自动给里面的元素编号,编号从0开始,数组里面的数据类型可以是任意的,但是同一个数组里面所有元素类型相同格式元素类型 [ ]
众所周知,Oracle数据库的递归查询是 start whith connect by prior 方法,我们在查询上下级部门或组织架构的时候常常会用到它,其主要的用法为 select 部门编号 from 表A where 上级部门编号 != 下级部门编号 start whith 部门编号 connect by prior 上级部门编号 = 部门编号这句sql的意
转载
2024-10-11 20:57:19
33阅读
文章目录前言一、递归是什么?二、递归思想1.递2.归3.递归的图解分析三、递归的两个必要条件1.递归出口2.问题规模不断缩小四、普通代码和递归版对比展示1.求n的阶乘2.经典的斐波那契数列总结 前言递归确实是一个奇妙的思维方式,在了解了递归的实现原理之后不禁让人感叹算法的巧妙!一、递归是什么?简单来说,就是一个函数直接或间接调用自身的一种方法。通常递归可以将一个复杂的大型问题层层转化为一个与原问
一、 数组的扩展1. 扩展运算符主要用于函数调用。当用扩展运算符给push方法传参时可实现分步push。具体见例1如果扩展运算符后面是一个空数组则不会有什么效果扩展运算符后面可以放置表达式扩展运算符只有放在函数调用的圆括号里才不会报错在es5中会用apply方法去将数组分解成一个个元素赋值给函数的形参,在es6中可直接使用扩展运算符ES5通过Array.prototype.push.apply(a
转载
2024-06-16 20:39:06
45阅读
递归的定义函数的内部,可以调用其本身的函数。利用递归求阶乘利用递归求斐波那契数列使用递归遍历数据<script>// 利用递归遍历数据,要求输入id号,返回对象值var data = [{ id: 1, name: '家电', goods: [{ id: 11, gname: '冰箱' }, { id: 12, gname: '洗衣机' }]}, { id: 2
原创
2021-12-25 16:57:57
122阅读
变量 let
1.存在块级作用域:变量在块级作用域中不会污染全局作用域。 2.不存在声明提升:变量只能在声明之后使用。 3.不影响作用域链:变量在作用域链中正常使用。常量 const
1.声明时要赋初始值。 2.常量一般使用大写。 3.常量的值不能修改。 4.存在块级作用域。 5.数组和对象元素修改子元素不算是对常量修改(因为常量对应的地址并没有改变)。解构赋值--提取数组和对象中的值并赋值给变量
转载
2024-07-13 10:13:25
80阅读
javascript 递归 概念在程序中函数直接或间接调用自己,然后跳出结构,返回结果递归的步骤(技巧)假设递归函数已经写好寻找递推关系将递推关系的结构转换为递归体将临界条件加入到递归体中示例求1+2+3+3+...n的和。 二逼青年: 首数加位数 ,乘以个数除以2function sum(n){
return (1 + n) * n / 2
}
console.log(sum(
题目:给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。一般来说,删除节点可分为两个步骤:首先找到需要删除的节点; 如果找到了,删除它。 说明: 要求算法时间复杂度为 $O(h)$,h 为树的高度。示例:题解:步骤:1.确定递归函数参数以及返回值递归函数的返回值:TreeNode
ES6ES6模块是引用,重新赋值会编译报错,不能修改其变量的指针指向,但可以改变内部属性的值;ES6模块中的值属于动态只读引用。对于只读来说,即不允许修改引入变量的值,import的变量是只读的,不论是基本数据类型还是复杂数据类型。当模块遇到import命令时,就会生成一个只读引用。等到脚本真正执行时,再根据这个只读引用,到被加载的那个模块里面去取值。对于动态来说,原始值发生变化,import加载
转载
2024-09-12 09:02:01
32阅读
递归的定义函数的内部,可以调用其本身的函数。利用递归求阶乘利用递归求斐波那契数列使用递归遍历数据<script>// 利用递归遍历数据,要求输入id号,返回对象值var data = [{ id: 1, name: '家电', goods: [{ id: 11, gname: '冰箱' }, { id: 12, gname: '洗衣机' }]}, { id: 2
原创
2022-02-25 14:15:37
40阅读
1.arr.push()从后面添加元素,返回值为添加完后的数组的长度let arr = [1,2,3,4,5]
console.log(arr.push(5)) // 6
console.log(arr) // [1,2,3,4,5,5]2.arr.pop()从后面删除元素,只能是一个,返回值是删除的元素let arr = [1,2,3,4,5]
console.log(arr.pop())//5
转载
2024-07-13 15:11:23
33阅读
1.函数参数的默认值基本用法ES6 之前,不能直接为函数的参数指定默认值,只能采用变通的方法。function log(x, y) {
y = y || 'World';
console.log(x, y);
}
log('Hello') // Hello World
log('Hello', 'China') // Hello China
log('Hello', '') // Hel
一.ECMAScript6,即 ES6,是 ECMAScript 的第六次修订,于 2015年完成,也称 ES2015;ES6 是继 ES5 之后的一次改进,相对于 ES5 更加简洁,提高了开发效率.二.ES6新增的方法:1.新增声明命令 :let 和 const 在 ES6 中通常用 let 和 const 来声明,let 表示变量、const 表示常量.特点:let 和 const 都是块级作
转载
2024-09-03 11:42:50
3235阅读
1、二叉树和二叉查找树的基本概念树是一种非线性的数据结构,以分层的方式存储数据。在二叉树上进行查找非常快,为二叉树添加或删除元素也非常快。一棵树最上面的节点称为根节点,如果一个节点下面连接多个节点,那么该节点称为父节点,它下面的节点称为子节点。一个节点可以有 0 个、1 个或多个子节点,没有任何子节点的节点称为叶子节点。二叉树是一种特殊的树,它的子节点个数不超过两个,一个父节点的两个子节点分别称为
转载
2024-06-24 18:07:27
55阅读