日撸 Java 三百行(48 天: 堆排序:专门设计一个数据结构来实现的排序算法)

注意:这里是JAVA自学与了解的同步笔记与记录,如有问题欢迎指正说明目录一、关于堆排序二、堆积树——堆(Heap)结构· 创建型堆的维护· 创建型堆的维护的代码· 添加型堆维护· 删除型堆维护三、堆排序的实现逻辑四、全部代码及其单元测试性能与特性分析总结一、关于堆排序堆排序是基本的排序算法体系,也就是本科阶段基本要求掌握的算法体系中,是最麻烦的一个算法,因为其涉及了一个全新的数据结构——堆(Heap)。因此在完成堆排序操作时,还需要...
分类: 其他 发布时间: 05-14 06:31 阅读次数: 0

日撸 Java 三百行(49 天: 迭代法实现二路归并排序:稳定的高级排序)

注意:这里是JAVA自学与了解的同步笔记与记录,如有问题欢迎指正说明
分类: 其他 发布时间: 05-14 06:31 阅读次数: 0

日撸 Java 三百行(50 天: 过去十天总结)

注意:这里是JAVA自学与了解的同步笔记与记录,如有问题欢迎指正说明
分类: 其他 发布时间: 05-14 06:31 阅读次数: 0

基于 Java 机器学习自学笔记 (第51-53天:kNN)

注意:本篇为50天后的Java自学笔记扩充,内容不再是基础数据结构内容而是机器学习中的各种经典算法。这部分博客更侧重与笔记以方便自己的理解,自我知识的输出明显减少,若有错误欢迎指正!
分类: 其他 发布时间: 05-14 06:31 阅读次数: 0

基于 Java 机器学习自学笔记 (第54-55天:基于M-distance的推荐系统)

注意:本篇为50天后的Java自学笔记扩充,内容不再是基础数据结构内容而是机器学习中的各种经典算法。这部分博客更侧重与笔记以方便自己的理解,自我知识的输出明显减少,若有错误欢迎指正!
分类: 其他 发布时间: 05-14 06:31 阅读次数: 0

基于 Java 机器学习自学笔记 (第56-57天:kMeans 聚类)

注意:本篇为50天后的Java自学笔记扩充,内容不再是基础数据结构内容而是机器学习中的各种经典算法。这部分博客更侧重与笔记以方便自己的理解,自我知识的输出明显减少,若有错误欢迎指正!
分类: 其他 发布时间: 05-14 06:31 阅读次数: 0

基于 Java 机器学习自学笔记 (第58天:符号型数据的Naive Bayes算法)

注意:本篇为50天后的Java自学笔记扩充,内容不再是基础数据结构内容而是机器学习中的各种经典算法。这部分博客更侧重与笔记以方便自己的理解,自我知识的输出明显减少,若有错误欢迎指正!目录一、算法概念· 概率论回顾-条件概率与贝叶斯公式· 基本Naive Bayes推导· 基于程序设计的算法调整· Laplacian 平滑二、代码的变量确定三、代码实现1.构造函数2.计算\(P^{L}(D_i)\)3.计算\(P^{L}(x_jD_i)\)4.计算\(d(\ma
分类: 其他 发布时间: 05-14 06:31 阅读次数: 0

基于 Java 机器学习自学笔记 (第59天:数值型数据的Naive Bayes算法)

注意:本篇为50天后的Java自学笔记扩充,内容不再是基础数据结构内容而是机器学习中的各种经典算法。这部分博客更侧重与笔记以方便自己的理解,自我知识的输出明显减少,若有错误欢迎指正!
分类: 其他 发布时间: 05-14 06:31 阅读次数: 0

基于 Java 机器学习自学笔记 (第61-62天:ID3决策树)

注意:本篇为50天后的Java自学笔记扩充,内容不再是基础数据结构内容而是机器学习中的各种经典算法。这部分博客更侧重于笔记以方便自己的理解,自我知识的输出明显减少,若有错误欢迎指正!
分类: 其他 发布时间: 05-14 06:31 阅读次数: 0

基于 Java 机器学习自学笔记 (第63-65天:集成学习之AdaBoost)

注意:本篇为50天后的Java自学笔记扩充,内容不再是基础数据结构内容而是机器学习中的各种经典算法。这部分博客更侧重于笔记以方便自己的理解,自我知识的输出明显减少,若有错误欢迎指正!
分类: 其他 发布时间: 05-14 06:31 阅读次数: 0

2.4 滑块拼图验证码

滑动拼图验证码可以算是滑块验证码的进阶版本,其验证机制相对复杂。本节将介绍两种滑动拼图验证码:初级版和高级版本。2.4.1 初级版滑块拼图验证码初级版滑动拼图验证码是在普通滑块验证码的基础上增加了随机的滑动距离,用户需要根据拼图的缺口位置来决定滑块的滑动位置。如下左图所示为一个滑块拼图验证码的起始状态,注意此时还没有显示拼图和缺口。单击滑块后就会出现拼图和缺口,如下右图所示。之后会利用这一特性来找到拼图和缺口的位置。下面开始编写代码。首先用Selenium打开网页,代码如下:from .
分类: 其他 发布时间: 05-14 06:31 阅读次数: 0

Python3 PIL库问题:ImageChops.difference返回None

问题代码from PIL import Image,ImageChopsimage_a = Image.open('origin.png')image_b = Image.open('after.png')x = ImageChops.difference(image_a,image_b).getbbox()print(x)参考Python3 PIL库问题:ImageChops.difference返回None将image_a和image_b打印出来,发现是如下结果。、from PIL
分类: 其他 发布时间: 05-14 06:31 阅读次数: 0

2.5 点选验证码(bilibili点选验证码识别)

点选验证码是一种相对复杂的验证码,如下图所示,它不仅需要识别文字的内容,而且还需要识别文字的位置。通过传统的识别手段点选验证码会比较麻烦,好在超级鹰也提供了相应的接口,如下图所示(详见https://www.chaojiying.com/price.html)。我们只需修改2.1节中定义的cjy()函数的代码,将其中的PosPic()函数的第2个参数改成与点选验证码的类型对应的接口,如9004,修改后的代码如下:def cjy(): #使用超级鹰识别图像验证码的自定义函数 ..
分类: 其他 发布时间: 05-14 06:31 阅读次数: 0

第 3 章 Ajax 动态请求破解(3.1 Ajax 简介、网页翻页方式的对比)

通常情况下,如果要更新网页的内容,需要重新加载整个网页。而Ajax动态请求则能在不重新加载整个网页的情况下,与服务器交换数据并更新网页中的部分内容。因此,严格来说,Ajax动态请求并不是一种反爬手段,而是一种网页展示手段。不过它的确在一定程度上给数据的爬取造成了困难,所以本书也将其视为一种反爬手段。本章将介绍Ajax动态请求的基本原理与破解方法,并以开源中国博客频道和新浪微博为例进行实战演练。3.1 Ajax 简介Ajax动态请求在本质上就是把常规的翻页操作做成了动态刷新的效果。最典型的例子就是开.
分类: 其他 发布时间: 05-14 06:31 阅读次数: 0

Window11环境变量配置

依次点击:系统–>关于–>高级系统设置–>环境变量
分类: 其他 发布时间: 05-14 06:31 阅读次数: 0

报错:Please set the ANDROID_HOME environment variable with the Android SDK root directory path

错误如下:from appium import webdriverdesired_caps = { 'newCommandTimeout': 3600, 'platformName': 'Android', 'deviceName': '127.0.0.1:62001', 'platformVersion': '5.1.1', 'udid': '127.0.0.1:62001', # 模拟器多开时必须加这么一行 'appPackage': 'com.t
分类: 其他 发布时间: 05-14 06:31 阅读次数: 0

turtle()函数

turtle.penup()、turtle.pendown()turtle.pencolor()turtle.fd()turtle.seth()turtle.circle()
分类: 其他 发布时间: 05-14 06:31 阅读次数: 0

3.1 数字类型(整数类型、浮点数类型、复数类型)

整数类型浮点数类型高精度浮点运算类型(decimal)复数类型
分类: 其他 发布时间: 05-14 06:31 阅读次数: 0

3.2 数字类型操作(内置的数值运算操作符、内置的数字运算函数、内置的数字类型转换函数)

3.2.1 内置的数值运算操作符3.2.2 内置的数值运算函数3.2.3 内置的数字类型转换函数
分类: 其他 发布时间: 05-14 06:31 阅读次数: 0

3.3 math模块

math模块
分类: 其他 发布时间: 05-14 06:31 阅读次数: 0