零基础VB教程021期:冒泡排序算法精讲

简介: 零基础VB教程021期:冒泡排序算法精讲

数据类型补充

„Variant数据类型:是一种神奇的数据类型。

„Variant 是一种特殊的数据类型,除了定长 String 数据及用户定义类型外,可以包含任何种类的数据

„VarType 函数或 TypeName函数来决定如何处理 Variant 中的数据

数组的补充

„1、声明

„Dim n   如果声明的类型没有明确写明,那么默认表示为variant类型

„Dim n as variant

„2、初始化

„N=array(4,7,2,5,77,43,33,88)  一次性对数组进行初始化

算法概述

„算法说是编程的一个思想精髓。算法就是一种普遍的方法。

„主要有:冒泡排序法、选择排序法、折半查找法、快速排序法、穷举法等。。。

边界函数求数组长度

„Ubound函数:上边界的位置

„lBound函数:下边界的位置

„求数组长度

„数组n的长度=ubound(n)-lbound(n)+1

„这种算法的好处:可以动态计算数组的长度

冒泡排序法应用案例,从小到大输出

„案例:

„Dim n as variant

„N=array(4,7,2,5,77,43,33,88)

逻辑思维

„数据:4, 7, 2,5, 77, 43, 33, 88

„从小到大

„人工排序

„第一趟

„第1次

„4 与 7  结果  4, 7, 2, 5, 77, 43, 33, 88

„第2次

„7与2    结果 4, 2, 7, 5, 77,43, 33, 88

„第3次

„7与5    结果  4, 2, 5, 7, 77, 43, 33, 88

„第4次

„7与77   结果 4, 2, 5, 7, 77,43, 33, 88

„第5次

„77与43   结果 4, 2, 5, 7,  43,77, 33, 88

„第6次

„77与33   结果 4, 2, 5, 7,  43, 33, 77, 88

„第7次

„77与88   结果 4, 2, 5, 7,  43, 33, 77, 88

„所以结论:第一趟比较了7次,筛选出了最大数值,放在最后面

„第二趟

„第1次

„4与2  结果 2, 4, 5, 7,  43, 33, 77, 88

„第2次

„。。。

„第6次 结果。。。

„第7趟,出来从小到大的顺序

„总结:每一趟挑选出最大的数值放在最后,类似于一次冒出一个泡

„ 

课堂总结

1、掌握冒泡排序法原理

2、优化冒泡排序法的算法,使得运行效率更高

3、动态获取数组的长度

4、数组的初始化,利用variant数据类型以及array函数

相关文章
|
2月前
|
机器学习/深度学习 算法 搜索推荐
从理论到实践,Python算法复杂度分析一站式教程,助你轻松驾驭大数据挑战!
【10月更文挑战第4天】在大数据时代,算法效率至关重要。本文从理论入手,介绍时间复杂度和空间复杂度两个核心概念,并通过冒泡排序和快速排序的Python实现详细分析其复杂度。冒泡排序的时间复杂度为O(n^2),空间复杂度为O(1);快速排序平均时间复杂度为O(n log n),空间复杂度为O(log n)。文章还介绍了算法选择、分而治之及空间换时间等优化策略,帮助你在大数据挑战中游刃有余。
78 4
|
19天前
|
搜索推荐 Python
利用Python内置函数实现的冒泡排序算法
在上述代码中,`bubble_sort` 函数接受一个列表 `arr` 作为输入。通过两层循环,外层循环控制排序的轮数,内层循环用于比较相邻的元素并进行交换。如果前一个元素大于后一个元素,就将它们交换位置。
123 67
|
2月前
|
搜索推荐
冒泡排序算法
【10月更文挑战第19天】冒泡排序是一种基础的排序算法,虽然在实际应用中可能不是最优的选择,但对于理解排序算法的基本原理和过程具有重要意义。
|
2月前
|
算法 搜索推荐
数据结构与算法学习十一:冒泡排序、选择排序、插入排序
本文介绍了冒泡排序、选择排序和插入排序三种基础排序算法的原理、实现代码和测试结果。
23 0
数据结构与算法学习十一:冒泡排序、选择排序、插入排序
|
2月前
|
搜索推荐 C语言
排序算法--冒泡排序
排序算法--冒泡排序
20 0
|
2月前
|
存储 搜索推荐 算法
【排序算法(二)】——冒泡排序、快速排序和归并排序—>深层解析
【排序算法(二)】——冒泡排序、快速排序和归并排序—>深层解析
|
2月前
|
算法 Python
Python算法编程:冒泡排序、选择排序、快速排序
Python算法编程:冒泡排序、选择排序、快速排序
32 0
|
13天前
|
算法
基于WOA算法的SVDD参数寻优matlab仿真
该程序利用鲸鱼优化算法(WOA)对支持向量数据描述(SVDD)模型的参数进行优化,以提高数据分类的准确性。通过MATLAB2022A实现,展示了不同信噪比(SNR)下模型的分类误差。WOA通过模拟鲸鱼捕食行为,动态调整SVDD参数,如惩罚因子C和核函数参数γ,以寻找最优参数组合,增强模型的鲁棒性和泛化能力。
|
19天前
|
机器学习/深度学习 算法 Serverless
基于WOA-SVM的乳腺癌数据分类识别算法matlab仿真,对比BP神经网络和SVM
本项目利用鲸鱼优化算法(WOA)优化支持向量机(SVM)参数,针对乳腺癌早期诊断问题,通过MATLAB 2022a实现。核心代码包括参数初始化、目标函数计算、位置更新等步骤,并附有详细中文注释及操作视频。实验结果显示,WOA-SVM在提高分类精度和泛化能力方面表现出色,为乳腺癌的早期诊断提供了有效的技术支持。
|
6天前
|
存储 算法
基于HMM隐马尔可夫模型的金融数据预测算法matlab仿真
本项目基于HMM模型实现金融数据预测,包括模型训练与预测两部分。在MATLAB2022A上运行,通过计算状态转移和观测概率预测未来值,并绘制了预测值、真实值及预测误差的对比图。HMM模型适用于金融市场的时间序列分析,能够有效捕捉隐藏状态及其转换规律,为金融预测提供有力工具。