脚本之家(jb51.cc)算法栏目主要收集统计算法、大数据算法等资料。
一、什么是多路查找树 二叉树有诸多便利之处,但是当二叉树节点极多时,二叉树的构建速度就会受影响,而且过高的层数也会导致对树的操作效率降低。 对于树的查找而言,树的高度决定了查找的时间下限,但是同样数量
一、双向链表 双向链表与单链表基本相似,但是最大的区别在于双向链表在节点中除了指向下一节点的next指针外,还有指向前一节点的prev指针,这使得双向链表在可以在任意节点从头尾两个方向进行遍历,是“双
什么是排序? 排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。 1.排序的分类 排序分为两类: 内部排序:若整个排序过程不需要访问外存便能完成,则称此类排序
一、迷宫回溯问题 1.问题 一个7*8的数组模拟迷宫,障碍用1表示,通路使用0表示,给定起点(1,1)和终点(6,5),要求给出起点到终点的通路 2.解题思路 首先,我们需要给程序一个寻向的基本策略,
一、什么是平衡二叉树 1.概述 平衡二叉树(AVL树)是一种带有平衡条件的二叉搜索树。它的特性如下: AVL树的左右两个子树的高度差的绝对值不超过1 AVL树的左右两个子树都是一棵平衡二叉树 举个例子
一、什么是栈 栈(stack)是一种先进后出的有序列表,其中的元素只能在线性表的同一端进出, 允许元素插入和删除的一端被称为栈顶(top),固定的另一端被称为栈底(button)。 二、数组简单实现栈
一、什么是链表 链表是一种数据结构,跟数组不同,链表不需要连续的内存空间,而是通过指针将零散的内存块连接起来。 因此,链表的查找需要通过节点按顺序遍历,而增加与删除通过只需要操作指针指向,这也造成了相
一、什么是递归 所谓递归,简单点来说,就是一个函数直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。 引用知乎大佬的例子: 我们可以把” 递归
一、什么是二叉树 1.概述 首先,需要了解树这种数据结构的定义: 树:是一类重要的非线性数据结构,是以分支关系定义的层次结构。每个结点有零个或多个子结点;没有父结点的结点称为根结点;每一个非根结点有且
一、计算器的计算思路分析 我们以计算3ʸ*2-6这个算式为例: 将算式解析为数字和符号:3,+,8,*,2,-,6 准备一个用于存放数字的数字栈numStack,还有一个存放运算符号的符号栈symb
基本介绍 在上述队列的基础上进行改动,使这个队列可以重复使用,从而实现环形队列,数组中可预留一个空间?队列的实际长度是数组的长度-1 front 指向队列头元素 rear 执行队列尾元素的后一个位置
基本介绍 队列是一个 有序列表,可以用数组或是链表来实现 遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出 代码实现 public class ArrayQueueDemo { p
基本介绍 单向链表,查找只能是单向的,双向链表查找是双向的 单链表不能自我删除,需要找到删除节点的前一个节点,双向链表可以自我删除 双向列表操作思路 遍历:和单向一样,可向前,可向后 添加:可之间添加
基本介绍 单向循环链表和单向链表基本一样,尾节点的next指向第一个节点 当链表中只有一个节点时,该节点的next指向本身 约瑟夫问题 基本介绍 设编号为 1,2,… n 的n个人围坐一圈,约定编号为
基本介绍 当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组 处理方法 第一行:记录数组 一共有几行几列,有多少个不同的值 第二行以后:把具有不同值的元素的行列及值记录在
基本介绍 链表是一个有序的列表,以节点的方式存储,是链式存储 每个节点包含data域和next域,指向下一个节点 链表的各个节点不一定是连续存储 链表分为带头节点的链表和不带头结点的链表 代码实现 p
获取单链表节点的有效个数(不统计头结点) 思路分析 遍历链表,统计个数 代码实现 // 获取链表的有效节点个数(不包含头节点) public static int getLength(HeroNode
基本介绍 栈是一个先入后出的有序列表,类似于子弹夹 栈是限制线性元素表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表,允许插入和删除的一端,为变化的一端,为栈顶,另一端为固定的一端,为栈底
// // main.c // 数组-冒泡排序 // // Created by LongMa on 2019/6/26. // Copyright © 2019. All rights r
1 // 2 // main.c 3 // 统计输入单词数 4 // 5 // Created by LongMa on 2019/6/27. 6 // Copyright © 2019 .
在《 "接口自动化测试框架 AIM" 》这篇博客中,提到了parewise算法。 这次对其进行性能优化,共3点。 一、 因为笛卡尔积和两两拆分,是有序的。 就保证了两两拆分后的每列
搭建接口自动化测试框架,一般都要对post/get请求做封装。 一般的封装过程是, 然而,借助装饰器,可以实现更优雅的封装。 在这之前,先打开requests.api.request,看看源码。 py
公司接口自动化,需要用到cookie。这个cookie可以从login的响应header中取到。 直接用python调这个接口,返回的响应header是这个: 没有看到预期的数据。 刚好公司Jmete
由于数据量的增大,调用接口的次数会增加。 当连续向目标网站发送多次request后,目标网站可能会认为是,恶意攻击。 于是会抛出requests异常。 测试代码: 在python3.6中,异常为 在p
网上有比较多相关教程,自己写一遍,加深下印象。 环境搭建 据说,很多人都被繁琐的环境搭建给吓到了。 是的,确实,繁琐。 node.js 网址 cmd输入node -v,出现下图说明成功。 JDK 网址
最近在做公司项目的自动化接口测试,在现有几个小框架的基础上,反复研究和实践,搭建了新的测试框架。利用业余时间,把框架总结了下来。 AIM框架介绍 AIM,是Automatic Interface Mo
在《 "parewise算法性能优化" 》一文中, 对原来算法代码进行了一些优化, 对于笛卡尔积后千条数据,是能满足使用需要的。 但在实际业务中,会碰到百万数据。 比如某接口共18
基本功能: 执行脚本a,打开一个chrome,脚本a执行完成,chrome未关闭。 执行脚本b,继续使用a打开的chrome,不新启浏览器。 附加: 如果已打开的chrome未关闭,则在chrome中
这两天要在阿里云日志中操作UI,以输入关键字搜索日志。 在send_keys时报错element not interactable。 iframe 第一个问题是iframe,通过切换iframe解决:
版权说明 本框架系本人结合一些实践经验和开源框架设计思想, 在家 基于兴趣爱好独立完成的代码开发。 源码只保存在私人电脑,办公电脑上无。github开源与公司无关,先把关系撇清,不涉及侵权。 嘘。 框