数据结构二 表(王晓东版)

算法与数据结构学习资源大搜罗——良心推荐 数据结构与算法设计是CS相关专业的必修课,也是IT公司笔试面试的重点。网上这方面的资料多如牛毛,我列出了一些我认为非常值得推荐的资源,供有需求的读者研习之用。首先是一些网络资源,然后是一些书籍点评和推荐。不断更新中,但大浪淘沙,我只保留最值得推荐的 阅读详情

二、表

2.1概念
表(线性表),是由n个同类型的元素组成的有限序列;是 数据结构里的逻辑结构的线性结构的线性表。
元素个数为表长度;n=0为空表;
抽象数据类型的定义:

ADT 线性表(List)
Data 

基本运算(k为元素在表L的位置,x为L表的元素之一)

类型含义
ListEmpty(L)测试表L是否为空表
ListLength(L)测表长度
ListLocate(x,L)找元素x在表L的位置(多x情况返回到第一个x那里)
ListRetrieve(k,L)找L表里k处的元素(无k,则无定义)
ListInsert(k,x,L)在L表里k的位置后插入元素x(其他元素后推,无k无定义)
ListDelete(k,L)删除表L里k位置上的元素(返回被删元素)
PrintList(L)打印表L中的元素(按顺序)

2.2实现表方法:

①数组
将表的元素放在数组里保存。
优点:数组是连续储存的,所以随机访问速度快(数组的首地址+下标*sizeof(结构体));
缺点:插入、删除的效率低,插入一个元素,后面的元素会总体后移。

②指针
用指针将存储表元素的单位都连接在一起。
需要用指针来表示元素之间的逻辑关系,所以,插入一个元素的时候就不至于大动干戈。

③间接寻址
刚好和数组相反。方便存储数据,不方便读数据

2.3循环链表
普通的链表(上面123)尾和头连起来。

用指针实现表的时候,表中最后一个元素所在单元的指针为空指针,如果这个空指针改为指向表首单元的指针,就使得整个列表形成一个环。(来源王晓东的《数据结构》)

2.4双链表
在链表结点处设双指针,分别指向前驱结点和后驱结点。

2.5表的搜索游标

游标提供了在结果集中一次一行或者多行前进或向后浏览数据的能力;可以指定结果中的任何位置,允许用户对指定位置的数据进行处理。(来源百度百科)

类型含义
IterInit(L)初始化搜索游标
IterNext(L)搜索游标的下一个位置
CurrItem(L)搜索游标处的元素
InsertCurr(x,L)在当前搜索游标处插入元素x
DeleteCurr(L)删除当前搜索游标处元素

注意:在用数组实现表的搜索游标和单循环链表的搜索游标里,新增的curr数据成员,前者是记录当前的搜索游标值,后者是记录当前的搜索游标指针。

清华大学王晓东教授的算法设计与分析深入教程 动态规划作为一种解决问题的方法,强调了子问题重叠和最优子结构的概念。它在理论上具有重要的意义,是算法分析中的一个核心概念。通过动态规划,我们能够以更高效的方式解决许多看似复杂的问题,尤其在资源优化和决策制定领域内,动态规划提供的解决方案能够显著地提升效益和效率。贪心算法的核心在于贪心选择性质,即通过局部最优选择,希望导致全局最优。贪心选择性质是指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来得到。为了确保贪心算法的正确性,问题必须具备最优子结构的性质。 阅读详情

相关推荐

王晓东教授的Java算法设计与分析课程

空间复杂度衡量的是算法执行过程中临时占用存储空间的大小。它与输入数据的规模相关,通常用O(1), O(n), O(n^2)等形式表示。对于原地排序算法如快速排序,空间复杂度为O(log n),而对于使用额外数组的归并排序,空间复杂度为O(n)。

weixin_27645199的博客 802

数据结构(王晓东版代码)

1

weixin_55288675的博客 1364

王晓东经典算法设计与分析课件详解

算法(Algorithm)是指在有限步骤内解决特定问题的清晰、有效的计算过程。一个优秀的算法应具备以下五个基本特性:特性描述输入(Input)有0个或多个输入数据输出(Output)至少有一个输出结果有穷性(Finiteness)执行步骤有限,最终能结束确定性(Definiteness)每一步骤含义明确,无歧义可行性(Effectiveness)每一步都可通过基本操作实现。

weixin_42298164的博客 468

数据结构一 引论(王晓东版)

一、数据结构引论 1.1算法以及复杂的概念 1.1.1算法与程序

chensay的博客 711

数据结构与算法设计王晓东

数据结构与算法设计PPT王晓东 资源是从华章出版社官网下载的

王晓东《数据结构与算法》课件

该资源为王晓东编著的《数据结构与算法》的课件

位向量实现集合—王晓东数据结构

王晓东数据结构中集合一章,用位向量实现集合看的很懵记录一下。 N是一个不大的固定整数时,{1,2...N}是N的子集 假如N=10000,可以用数组A[N]来表示这个集合的存在,此时数组大小为A[N],如A[1]=1表示集合中第一个元素存在。 位向量顾名思义就是用位来存储元素。以书中unsigned short类型为例,下面用US表示。US占位2个字节,16位,那么一个US就可以表示...

weixin_30632899的博客 1413

数据结构与算法设计-王晓东PPT

《数据结构与算法设计》以基本数据结构为知识单元,系统地介绍数据结构知识与应用、计算机算法的设计与分析方法。全书共分13章,第1章介绍数据结构、抽象数据类型和算法的基本概念;第2~4章以抽象数据类型为主线索,围绕常用的基本数据结构,分别介绍基于序列的常用数据结构表、栈、队列;第5章介绍递归以及递归在数据结构和算法设计中的应用;第6章介绍实际应用中常用的排序与选择算法;第7~12章讨论反映层次关系的数据结构树、表示集合的抽象数据类型、符号表以及散列表等实践中常用实现符号表的方法、字典及其实现方法、优先队列及其实现方法、并查集及其实现方法;第13章介绍非线性结构图及图的算法。《数据结构与算法设计》内容丰富,观点新颖,理论联系实际,不仅可用做高等院校计算机科学与工程专业学生学习数据结构与算法的教材,而且也适合广大工程技术人员参考。本书由王晓东著。

(可更新)计算机算法设计与分析 第4版 (王晓东) 课后答案[1-9章]

本书《计算机算法设计与分析 第4版 (王晓东) 课后答案[1-9章]》为完整版。打开即可观看。 链接:https://pan.baidu.com/s/1c1slpOY1GQdnfIE4a_Sn_Q 提取码:8fz4

Tizzi的博客 2万+

数据结构课件(王晓东)

各种版本都很多 这个版本的网上没看到过好像 我们上的是这本书 ~有用没用的都看看吧~

基于bootstrap+Java的图书管理系统(任务书)

10] 倪甜弟,周晓波,王相喜.基于JSP图书馆自习室预约系统的设计与实现[J].现代计算机, 2024, 30(9):117-120.DOI:10.3969/j.issn.1007-1423.2024.09.023.[2] 陈明雪,赵勇,周小丽,等.基于Node.js和Bootstrap的图书管理系统设计与研究[J].现代信息科技, 2021, 5(24):4.[9] 杨婷婷.基于VOSviewer的图书馆管理系统研究的可视化分析[J].现代信息科技, 2023, 7(3):123-126.

毕业作品网站 646

java 位向量_位向量实现集合—王晓东数据结构

王晓东数据结构中集合一章,用位向量实现集合看的很懵记录一下。N是一个不大的固定整数时,{1,2...N}是N的子集 假如N=10000,可以用数组A[N]来表示这个集合的存在,此时数组大小为A[N],如A[1]=1表示集合中第一个元素存在。位向量顾名思义就是用位来存储元素。以书中unsigned short类型为例,下面用US表示。US占位2个字节,16位,那么一个US就可以表示16个数,那么这N...

weixin_36444911的博客 245

洛奇 服务器文件,MabinogiG20S2 [洛奇G20服务端]

Code:Titles:>set_title /id: /add /remove Parameters for titles>set_title /id:60001 /add add devcat title>set_title /id:60001 /remove remove devcat title===========================...

weixin_30813385的博客 4304

数据结构三 栈和队列(王晓东版)

三、栈和队列(后进先出表、先进先出表) 3.1概念 栈:最先进栈的元素会被排到最后,要想对其就行修改,那最后进去的会先进行操作;表首为栈顶,表尾栈底;不含任何元素为空栈。 队列:一种特殊的表,出队列(删除)会从第一个进的开始出,进队列(插入)会排到第一个后面。 栈的运算 类型 含义 StackEmpty(S) 测试栈S是否为空 StackFull(S) 测试栈S是否已满 StackTop(S) 返回栈S的栈顶元素 Push(x,S) 将元素x入栈 Pop(S) 抛栈(删除栈顶

chensay的博客 254

海思MPP平台千兆以太网驱动集成与测试指南

千兆以太网(GE)是嵌入式视觉系统中音视频流传输与边缘控制的核心物理接口,其底层驱动需兼顾DMA高效调度、中断实时响应与PHY链路稳定性。在Linux嵌入式环境中,GE驱动通常基于net_device框架实现,并深度耦合于SoC专用媒体处理平台(如海思MPP),通过硬件抽象层(HAL)屏蔽寄存器操作,提供零拷贝、RGMII时序适配、描述符环管理等关键能力。技术价值体现在降低CPU负载、保障1080p@30fps实时推流、支持ONVIF/RTSP协议交互及固件远程升级。典型应用场景包括网络摄像机(IPC)、A

weixin_42599908的博客 89

STM32L151C8T6低功耗实战:RTC闹钟唤醒停机模式的配置与优化

本文详细介绍了如何在STM32L151C8T6微控制器上配置与优化RTC闹钟唤醒停机模式,以实现极致的低功耗设计。文章从核心原理出发,结合STM32CubeMX配置实战,深入讲解了进入停机模式前的关键准备工作、唤醒后的系统恢复流程,并分享了将功耗降至个位数微安级的深度优化技巧与常见问题解决方案。

weixin_29166013的博客 301

数据结构和算法经典书籍

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

duguliuhu190的博客 9055

RTKlib操作手册--使用样例数据演示

本文将使用样例数据演示如何使用RTKLIB进行rtk差分定位。

samur2的博客 7776

算法与数据结构

原 算法与数据结构技术书籍从入门到进阶推荐适合大神小白附技术书阅读方法论【附网盘链接】 2018年11月04日 18:55:48 qq_43337774 阅读数:227 ...

草帽小子的博客 1166

SQL注入绕过information_schema:实战技法与替代路径详解

SQL注入是Web安全领域的核心漏洞类型,其原理是通过构造恶意SQL语句,干扰应用程序与数据库的正常交互逻辑,从而窃取或篡改数据。在渗透测试与CTF竞赛中,绕过常见防护措施是提升技术能力的关键。当标准的信息收集方式受阻时,例如无法访问information_schema数据库,攻击者需要掌握替代的元数据获取方法。这些技术价值在于模拟真实环境中日益严密的防御体系,锻炼在受限条件下的系统性信息收集思维。典型的应用场景包括存在WAF过滤、权限限制或编码干扰的实战环境。本文将围绕SQL注入这一核心,深入探讨如何利用

weixin_33980459的博客 429

5分钟用AI搞定顶刊级引言!掌握三段式结构+避坑要点,让你的Introduction更有说服力(附提示词)

说明你是怎么来填补这个缺口的,一句话概括你的研究,再简述你采用了什么新方法、新模型或新视角,也就是创新点,最后说明你的方案是怎么克服第二段提到的缺口的,带来了哪些贡献,注意要确保方案与第二段提到的缺口一一对应。以上三段式引言模板,是非常经典的问题导向型结构,相比传统的结构,这种结构更能吸引是审稿人的注意,希望这篇分享的模板能给在你写论文引言时,提供一点帮助。上一段写好后,就在前人研究的基础上,亮出自己的方案,借助AI说明自己的研究,用了什么新方法/框架/理论/视角来填补这个缺口的。

智能AI让学术科研更容易 745

计算机算法设计与分析 第5版 (王晓东) 课后答案[解析]

个人博客导航页(点击右侧链接即可打开个人博客):大牛带你入门技术栈 《计算机算法设计与分析(第3版)》为普通高等教育“十一五”国家级规划教材,是计算机专业核心课程“算法设计与分析”教材。全书以算法设计策略为知识单元,系统介绍计算机算法的设计方法与分析技巧。主要内容包括:算法概述、递归与分治策略、动态规划、贪心算法、回溯法、分支限界法、随机化算法、线性规划与网络流、NP完全性理论与近似算...

qq_43567795的博客 4万+

使用cmd命令查看电脑是不是翻新机 如何查看自己电脑是不是翻新机

最近pdd啥的百亿补贴啊,什么品牌店啊,很多“假一赔十”,绝对“正品”都蹦出来了,很多人拿到以后,也上网查了各种鉴别方式,包括区分是不是翻新机之类的。本人亲自踩坑“pdd品牌店”,“假一赔十”,“绝对正品”等店铺,跟大家分享一下我得鉴别经验(说道分享鉴别经验了,大家也就不用好奇了,我肯定是买到翻新机了,mmp)。 第一步:准备好手机,开始录屏,没有完整的拆箱视频,可能不容易退货退款 第二步:拆箱,查看屏幕划痕(用手机闪光灯看,要不然看不清),然后查看屏幕有没有被擦过的痕迹 第三步:查看USB孔等插口有没有划

weixin_39417324的博客 1万+

《算法设计与分析(第3版)》课后答案

《算法设计与分析(第3版)》课后答案 去发现同类优质开源项目:https://gitcode.com/ 简介 本资源包含《算法设计与分析(第3版)》一书的所有课后答案,由王晓东教授精心编写。该书旨在为学生提供算法与数据结构学习指导与习题解析,帮助学生更好地理解和掌握算法设计与分析的精髓。 内容 课后习题详尽解析 算法设计与分析的深入讲解 实用性强,便于自学与实践 使用说明 请根据课程进度或个人...

gitblog_06765的博客 448

深度学习工具包 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'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('DeepLearnToolbox'));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('state',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'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',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 = 'sigm';%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, 'Too big error');```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('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';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)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';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, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% 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'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 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, 'Too big error');```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('state',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, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',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, 'Too big error');%% ex3 neural net with dropoutrand('state',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, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % 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, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % 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, 'Too big error');%% 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('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % 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, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

算法设计与分析

数据结构与算法分析:C语言第二版: 链接:https://pan.baidu.com/s/19UVc-RWycr60xp0LHYieUQ 提取码:zqsy 算法设计与分析,王晓东第三版课后答案 链接:https://pan.baidu.com/s/18pFbQg8KwNWnexru87vgWw 提取码:uix7 算法设计与分析,王晓东第三版 链接:https://pan.b...

arnbdmt15232的博客 304

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

上一篇: 数据结构一 引论(王晓东版)
下一篇: 数据结构三 栈和队列(王晓东版)
Chensay.
博客等级 码龄6年 1万+粉丝 122原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值