2-3-4树的分裂核心代码【JAVA实现】

红黑树与B树的隐秘联系:从2-3-4树看RB-Tree的设计哲学 本文深入探讨了红黑树(RB-Tree)与2-3-4树的隐秘联系,揭示了红黑树设计背后的B树哲学。通过分析红黑树的原理和操作,展示了其如何通过颜色标记和旋转规则模拟2-3-4树的平衡特性,为高效的数据检索和操作提供了理论基础和实用指导。 阅读详情

2-3-4树节点分裂分两种情况。

1:节点分裂;2:根的分裂。

先要分裂的数据项设为A,B,C

节点分裂

1.创建一个新的空节点。它是要分裂节点的兄弟,在要分裂节点的右边。

2.数据项C转移到新节点上。

3.数据项B转移到要分裂节点的父节点上。

4.数据项A保留在原来的节点上。

5.最右边的两个子节点从要分裂节点处断开,连接到新节点上。

根的分裂

1.创建新的节点,作为根。它是要分裂节点的父节点。

2创建第二个新的空节点。它是要分裂节点的兄弟,在要分裂节点的右边。

3数据项C转移到新节点上。

4数据项B转移到要分裂节点的父节点上。

5数据项A保留在原来的节点上。

6.最右边的两个子节点从要分裂节点处断开,连接到新节点上。

代码

【树】B树与B+树 B 树(B-Tree)结构是一种高效存储和查询数据的方法,它的历史可以追溯到 1970 年代早期。B 树的发明人 Rudolf Bayer 和 Edward M. McCreight 分别发表了一篇论文介绍了 B 树。这篇论文是 1972 年发表于《ACM Transactions on Database Systems》中的,题目为"Organization and Maintenance of Large Ordered Indexes"。 阅读详情

相关推荐

西门子 G120 变频器报文

G120报文

mmxxoo_xxmmp的博客 8064

Java数据结构和算法(十二)——2-3-4树

  通过前面的介绍,我们知道在二叉树中,每个节点只有一个数据项,最多有两个子节点。如果允许每个节点可以有更多的数据项和更多的子节点,就是多叉树。本篇博客我们将介绍的——2-3-4树,它是一种多叉树,它的每个节点最多有四个子节点和三个数据项。 1、2-3-4 树介绍   2-3-4树每个节点最多有四个字节点和三个数据项,名字中 2,3,4 的数字含义是指一个节点可能含有的子节点的个数...

IT可乐 704

WPS Office 2026免费安装指南:AI办公与安全使用全解析

办公软件作为数字化办公的核心工具,其基本原理是通过文档处理、数据计算和演示展示等功能模块满足用户日常办公需求。随着人工智能技术的发展,现代办公软件逐步集成AI能力,通过自然语言处理和数据分析算法提升工作效率。在技术价值层面,优秀的办公软件不仅需要保持格式兼容性和跨平台同步能力,更要注重用户数据安全防护。从应用场景来看,无论是个人文档编辑、企业报表分析还是团队协作演示,办公软件都发挥着关键作用。WPS Office 2026作为国产办公软件代表,深度融合AI助手功能,支持智能写作和数据分析,同时通过官方免费策

weixin_30599769的博客 704

2-3-4树的java实现

一、什么是2-3-4树 2-3-4树和红黑树一样,也是平衡树。只不过不是二叉树,它的子节点数目可以达到4个。 每个节点存储的数据项可以达到3个。名字中的2,3,4是指节点可能包含的子节点数目。具体而言: 1、若父节点中存有1个数据项,则必有2个子节点。 2、若父节点中存有2个数据项,则必有3个子节点。 3、若父节点中存有3个数据项,则必有4个子节点。 也就是说子节点的数目是父节...

weixin_34177064的博客 364

【学习笔记】人群归因分数 PAF 以及combined PAF(更新)

在此推荐2篇发表在lancet以及jama子刊上的paf文章,这两篇文章套路是一样的,只是在不同国家进行。希望对大家学习PAF有所帮助,后面有新内容也会继续分享,也欢迎大家分享使用R语言计算PAF的经验~~~的时候,先建立了相关矩阵,再做主成分分析,得到communality。详细信息大家可翻阅原文。

weixin_53499537的博客 1496

微信小游戏CE修改实战:从入门到精通(附防作弊思路)

本文深入探讨微信小游戏的安全攻防实战,重点分析CE修改、反编译和重打包等安全风险。通过详细的内存修改案例和代码保护方案对比,提供从客户端到服务端的全方位防护策略,帮助开发者构建有效的防作弊体系。

m2n3b4v5c6的博客 1134

四分树(Quadtrees)

Quadtrees Time Limit:3000MS   Memory Limit:Unknown   64bit IO Format:%lld & %llu Submit  Status Description A quadtree is a representation format used to encode images.

梦空间 1371

IFIX往Mysql数据库同步数据方法

通过IFix数据库向Mysql数据库同步数据

仙人掌 1594

浅析B树的分裂过程

B-树>      最近一直在研究树的这种数据结构,今天实现了一颗适合外查找的平衡多叉树就是B树,有的地方也叫B-树(不要误读为"B减树"奥).当然了还存在B+树,B*树这里只实现B树  一.B树的性质>      一颗M阶(M>2)的B树,是一颗平衡的M路平衡搜索树,可以是空树或者满足下面几条性质>      1).根结点至少有两个孩子.      2).每个非根结点存在[M/2,M)

微风 1万+

1.4 点云数据获取方式——结构光相机

与此同时,利用相机从特定角度捕捉变形后的图案,基于三角测量原理,通过精确计算相机与投影仪之间的几何关系以及图案的变形程度,就能准确计算出物体表面各点的三维坐标,从而获取高精度的三维点云数据。在高端制造业中,对于微小零部件的尺寸测量和缺陷检测,结构光相机能够提供极其精确的数据,确保产品质量符合严格的标准。时序编码:这类相机通过序列投射多幅不同图案,如格雷码、相移条纹等,通过对这一系列图案的时间序列进行解码分析,就能够获取亚像素级精度的三维信息,其单点误差能够控制在≤0.1mm,展现出极高的测量精度。

qq625924821的博客 924

24年电赛H题 | 想要小车走直线,正在调角度环,但不知道怎么把角度偏航角偏差转化成电机速度输出?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1311

《C算法》笔记12:2-3-4树

今天李善平突然在课上讲起人工智能,把蔡登的课程计划批判了一番。机器学习已经远远把70年代的计算机技术抛在后头,但是从数学角度来讲实际上应当是另外一个分支。他那个时候的人工智能课程(90年代初),肯定要讲一阶谓词,讲A*,而现在呢?都在讲数理统计,最大似然,最小二乘,梯度下降。红黑树的前身,2-3-4树,虽然在书中没有明确指出,想必也是60年代斯坦福计算机系的产物。百度百科2-3-4 树把数据存储在叫

acrux1985的专栏 949

Claude Code(1):手把手教你安装配置 Claude Code

Claude Code 是一款强大的 AI 编程助手工具,能够帮助开发者提升编码效率。本文将详细介绍如何在不同操作系统上安装和配置 Claude Code,让你快速上手这款工具。

blues_C的博客 744

java实现2-3树_2-3-4树的分裂核心代码【JAVA实现】 | 学步园

public void split(Node thisNode) // split the node{// assumes node is fullDataItem itemB, itemC; //数据项B,CNode parent, child2, child3;//thisNode节点父节点,第3、4个子节点int itemIndex;itemC = thisNode.removeIt...

weixin_42299396的博客 214

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain&#39;s apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath(&#39;DeepLearnToolbox&#39;));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand(&#39;state&#39;,0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = &#39;sigm&#39;;%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, &#39;Too big error&#39;);```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, &#39;Too big error&#39;);```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

B+树原理分析及Java代码实现

今天我们分析B+树原理及Java代码实现,以前我写过一篇关于mysql 存储引擎B+Tree、 B-Tree和hash三种原理及区别,可以先参考 参考 参阅

nandao158的博客 4919

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

模拟实现B-树详解

B-树的插入,模拟实现B-树,B+树,B*树。

. 1万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

吃透 2-3-4 树:从底层逻辑到实战

本文深入解析2-3-4树这一多路平衡查找树的核心原理与实现。作为4阶B树,2-3-4树通过允许节点存储1-3个key和2-4个子节点,从根本上解决了二叉搜索树退化为链表的问题,保证所有叶子节点同层,实现O(logn)的稳定时间复杂度。文章详细阐述了2-3-4树的查找、插入(含4节点分裂)和删除(含节点合并)操作原理,并通过Java实现完整展示了节点类设计、核心算法逻辑及测试验证。2-3-4树不仅是理解红黑树的基础,也是数据库索引、文件系统等场景的重要理论基础。相比其他平衡树,2-3-4树具有直观的平衡规则。

果酱 の 博客 1190

【数据结构】高级树——红黑树太难懂?换个思路,从 2-3 树的分裂合并聊起

2-3树是一种多路查找2-节点:包含1个键和2个子节点(左子树所有键小于该键,右子树所有键大于该键),与BST节点类似。3-节点:包含2个键和3个子节点,通常记为(a, b),其中a < b。左子树所有键小于a,中间子树所有键介于a和b之间,右子树所有键大于b。重要性质:所有叶子节点都在同一层,因此树是完美平衡的。下图展示了2-3树的结构(用文字描述):[50]/ \这里根节点是2-节点(50),左子节点是3-节点(20,30),右子节点也是3-节点(60,80)。2-3树。

2402_88094563的博客 403

2-3树

和2-3-4树相同,2-3树每个节点也存储多个数据项,是多叉树,仅仅数据项和子节点的个数不同,因此导致2-3树的分裂也有很大的区别,同时2-3树的插入也有所不同,2-3树只在叶子节点插入,遇到满街后向上分裂。 因此,2-3树比2-3-4树的空间利用率更高。 插入 分裂 分类时两种情况: 根节点满 子节点满 因为一个节点最多会有三个节点,因此分裂的子节点有三种位置,因此父节点连接分裂结点时最多...

的博客 632

数据结构——2-3-4树

文章目录1 引言2 2-3-4树3 定义4 查找5 插入5.1 非4-节点插入5.2 4-节点插入5.3 父节点分裂6 删除6.1 删除的节点不为2-节点6.2 删除非叶子节点6.3 删除的叶子节点为2-节点7 结语推荐阅读 1 引言 在上一篇文章中介绍了2-3树的定义以及插入删除操作。本篇文章将在2-3树的基础上更进一步,介绍比2-3树更为复杂的数据结构2-3-4树。之所以介绍2-3-4树是因为...

weixin_38927257的博客 814

B树操作详解与JAVA实现

一棵 mmm 阶的B树,或为空树,或为满足下列特性的 mmm 叉树:总而言之,该版本的B树定义依赖于阶数 mmm,即分支结点的的最大分叉数。一棵B树T是具有以下性质的有根树(根为 T.rootT.rootT.root ):每个结点xxx有下面属性:每个内部结点还包含x.n+1x.n+1x.n+1个指向其孩子的指针x.c1x.c_1x.c1​,x.c2x.c_2x.c2​,… ,x.cx.n+1x.c_{x.n+1}x.cx.n+1​。叶结点没有孩子,所以它们的cic_ici​属性没有定义。关键字x.keyi

m0_55773390的博客 806

B树的java实现

1. B树基本概念      关于B树的基本概念、定义可以参考这篇博客:http://blog.youkuaiyun.com/kalikrick/article/details/27980007,本文侧重于B树的java代码实现。1.1 B树性质B树T有如下性质:      1. 每个节点x有如下属性:x.n表示节点当前key的个数。x中key满足:x.key1 &lt;= x.key2&lt;= x.key...

qq_29864971的博客 1563

数据结构系列之2-3-4树的插入、查找、删除和遍历完整版源代码实现与分析(dart语言实现)...

  本文属于原创,转载请注明来源。     在上一篇博文中,详细介绍了2-3树的操作(具体地址:https://www.cnblogs.com/outerspace/p/10861488.html),那么对于更多教科书上更为普遍的2-3-4树,在这里也给出 树的定义、节点的定义、插入、查找、删除和遍历等操作的源代码实现。   关于2-3-4树的文字定义,网上很多,可自行百度,这里不再重复论述。...

weixin_30564785的博客 323

数据结构-B树

B树(B-Tree)结构是一种高效存储和查询数据的方法,它的历史可以追溯到1970年代早期。B树的发明人Rudolf Bayer和Edward M. McCreight分别发表了一篇论文介绍了B树。这篇论文是1972年发表于《ACM Transactions on Database Systems》中的,题目为"Organization and Maintenance of Large Ordered Indexes"。

埃泽漫笔 1354

红黑树原理与应用:从2-3-4树到高效实现

平衡二叉搜索树是计算机科学中重要的数据结构,其中红黑树以其优异的综合性能被广泛应用。红黑树通过颜色标记和旋转操作,在二叉结构上模拟了2-3-4树的平衡特性,实现了插入、删除和查找操作的最坏O(log n)时间复杂度。与AVL树相比,红黑树的平衡条件更宽松,减少了旋转次数,特别适合频繁更新的场景。在工程实践中,红黑树被用于C++ STL的map、Java的TreeMap等标准库实现,以及Linux内核调度器等系统。理解红黑树与2-3-4树的等价关系是关键,红色节点表示2-3-4树中的节点合并关系,而黑色节点保

weixin_34112181的博客 345
上一篇: 数据结构 B-树 源代码 IntBalancedSet.java
下一篇: 外部排序算法【java实现】
Java2King
博客等级 码龄18年 221粉丝 77原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值