`
mmdev
  • 浏览: 13300673 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

关于算法的一些想法

阅读更多

关于算法的一些想法

算法是编程的灵魂。不可想象,没有算法的程序会是一个高水平的程序。窗体的形状、大小涉及到算法;控件自身以及与其它控件的诸多关系需要计算;字符串的查找、截取和替换更离不开它了……总之,从小到一个按钮的安放位置,大到……(哪里呀?我不知道),无不与算法息息相关。
算法或是很简单,或是很复杂。凡事从简单做起,这是捷径吧。本文将从最简单的算法说明一下学习算法从哪开始。
有时简单的事也会让我们做成很复杂。比如:计算a的b次方吧,有人这样处理:
Dim a As Single, Total As Single, b As Integer
a = Text1.Text: b = Text2.Text: Total = 1
Do While b <> 0
Total = Total * a
b = b - 1
Loop
Text3.Text = Total
甚至这样:
Private Sub Command1_Click()
Dim a As Single, Total As Single
Dim b As Integer, n As Integer

a = Text1.Text
Total = Text1.Text
b = Text2.Text

Select Case b
Case 0
Total = 1
Case Is < 0
MsgBox "非法数据", vbOKOnly, "出错"
Text3.Text = ""
Exit Sub
Case Else
For n = 1 To b - 1
Total = Total * a
Next
End Select
Text3.Text = Total
End Sub

其实,如若知道VB中有一个专门计算此类问题的运算符“^”,则会简单可靠得多。试看:
Dim a As Double, b As Integer, c As Double
a = Text1.Text: b = Text2.Text
c = a ^ b
Text3.Text = c
再比如,VB编程乐园最近有一篇关于翻转字符串的文章,讨论如何利用递归原理编制一个翻转字符的函数,算法很精密,非常有意思(推荐认真研究一下):
Function reversestring(revstr As String) As String
Dim doreverse As Long
reversestring = ""
For doreverse = Len(revstr) To 1 Step -1
reversestring = reversestring & Mid$(revstr, doreverse, 1)
Next
End Function

不过如果我们用VB的内部函数StrReverse则更快更方便:
Text2.Text = StrReverse(Text1.Text)
看了这上面几个例子,你得出什么结论?哈,要学算法,首先得学一学VB的运算符和内部函数!吃透这些东西总没错,免得日后辛辛苦苦弄了个算法,回头一看,哇噻,VB自身早就有了!当然了,自己搞些算法不会没有好处的,至少可以锻炼锻炼嘛。只是在当今什么都飞速发展的年代,如果不是为了练习的需要,最好不要走太多的弯路。我说错了什么的话,敬请斧正!

分享到:
评论

相关推荐

    C常用算法程序集,各种经典算法

    首先,我们来探讨一些基础的C语言算法。C语言中的基本算法包括排序算法、查找算法、递归算法、字符串处理算法等。例如,排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序等,它们分别适用于不同的数据...

    使用遗传算法实现 TSP 和 VRP算法_python_代码_下载

    使用遗传算法实现 TSP 和 VRP 算法 TSP 和 VRP 的遗传算法 解决旅行商问题和车辆路线问题(TSP,VRP)的遗传算法这个实际作业需要使用 Python 开发遗传算法的实现,以解决...具有不同种群大小的遗传算法 该想法是将

    板式家具下料算法

    这意味着社区成员可以通过分享改进的想法、提出问题或者提供新的解决方案来共同提高算法的效率。 6. **应用与优化**:在实际生产环境中,板式家具下料算法的性能直接影响到成本控制和生产效率。通过对算法进行优化...

    数模的算法精讲

    的时间是关于问题规模的指数函数存在指数爆炸的问题。解决 TSP 问 题我们最直观的想法就是遍历整个图找出所有的 Hamilton 回路再进行 比较、寻优。对于一个具有 n 个顶点的对称完全图而言要从 2)!1(− n 个 ...

    埃博拉优化搜索算法(EOSA)一种新的基于埃博拉病毒传播模型的元启发式算法_Ebola Optimization Search

    病毒在不同群体状态(易感、感染、隔离、住院、康复和死亡)中随机传播的特点,激发了研究人员创建这种新算法的想法。 EOSA的核心在于模拟埃博拉病毒传播机制,强调所有传播过程中的稳定状态。为了实现这一目标,...

    基于鹅休息和觅食行为的元启发式算法GOOSE

    GOOSE算法在这件艺术品中得到了描述,并解释了该想法的灵感。通过在各种基准函数上进行测试,严格验证了所提出算法的准确性和精度。GOOSE算法在19个著名的基准测试函数上进行了基准测试,并通过与遗传算法(GA)、...

    Bresenham直线算法与画圆算法

    1. **基本思想:** Bresenham算法基于这样的想法:对于给定的两个端点,我们可以在它们之间找到一系列像素点,这些点构成一条接近真实直线的路径。 2. **误差累积:** 通过计算每个像素位置处的误差,并根据误差...

    最新消息摘要算法

    根据给定的信息,我们需要讨论有关消息摘要算法、...论文中提到的“sponge构造”、“内部Keccak”、“分析底层Keccak”、“Keccak的应用”、“对SHA-3标准的一些想法”等内容,这些均是深入理解Keccak算法的核心要点。

    关于Java的书籍阅读、关于NLP的论文阅读和相关算法、想法的各种md文档.zip

    在给定的压缩包"关于Java的书籍阅读、关于NLP的论文阅读和相关算法、想法的各种md文档.zip"中,我们可以预见到一系列与Java编程、自然语言处理(NLP)理论以及相关算法和思想相关的资源。这个压缩包可能是为了帮助...

    BSO头脑风暴算法,头脑风暴优化算法,matlab源码.zip

    该算法受到人类头脑风暴过程的启发,模拟了人们在集体创新过程中产生的想法生成、交流和改进的过程。BSO算法旨在解决复杂的工程设计问题和多目标优化问题,尤其适用于非线性、非凸、多模态的函数优化。 在BSO算法中...

    烟花算法简易版,MATLAB带解析

    通过模拟烟花爆炸的方式来进行多点同时爆炸式搜索,这也许是一种高效的搜索方式,是有别于现有其他方法的新型搜索方法,从而有了研究这种爆炸搜索方式的想法,当时为其取名烟花算法(fireworks algorithm,FWA)。...

    匈牙利算法--详细讲解

    该算法的基本想法是找到一个增广路径,然后通过取反操作获得一个更大的匹配。增广路径是指图G中一条连通两个未匹配顶点的路径,并且属于M的边和不属于M的边在P上交替出现。 匈牙利算法的三个结论 1. P的路径长度...

    安徽大学操作系统实验(八)基于扫描的磁盘调度算法,扫描算法(SCAN)和循环扫描算法(CSCAN),(实验报告+运行结果+源代码)

    实验课上写的,有更好的想法可以提出,大家一起学习,赚点积分不容易 C语言编写,调试过可运行,含实验报告,含具体流程图 ,有注释和变量解释,环境为VS2008 安徽大学操作系统实验(八)基于扫描的磁盘调度算法,...

    6 年大厂面试官,谈谈我对算法岗面试的一些看法 .pdf

    作为一个拥有六年经验的大厂面试官,我在此分享一些关于算法岗面试的看法和经验,希望能帮助大家更好地理解面试的真谛以及如何在面试中脱颖而出。 首先,我要强调的是,尽管算法岗位的招聘标准看似很高,但并不是每...

    动态不等长存储资源分配算法

    这样做的想法是希望通过一次分配来减少未来可能的碎片,因为剩余的大空闲区可以接纳更大的请求。但是,这种算法可能会导致大块内存过早地被分割,从而快速消耗掉大块的空闲内存。 在提供的源代码中,我们看到了BF_...

    头脑风暴算法MATLAB版本

    - 头脑风暴算法借鉴了实际头脑风暴会议中的思想交流和创新过程,通过模拟个体想法的生成、评价、优选和融合,来寻找问题的最优解。 - 算法分为两个主要阶段:创新阶段和评估阶段。在创新阶段,每个个体(解决方案...

    算法与数据结构源代码.zip

    随机化算法在内的一些算法,包含了一些随机输入。 形式化算法的概念部分源自尝试解决希尔伯特提出的判定问题,并在其后尝试定义有效计算性或者有效方法中成形。这些尝试包括库尔特·哥德尔、Jacques Herbrand和...

    头脑风暴优化算法代码

    1. **初始化种群**:算法开始时,随机生成一定数量的想法(个体),这些个体代表了可能的解决方案,分布在搜索空间中。 2. **创新阶段**:这个阶段模拟了头脑风暴中提出新想法的过程。每个个体根据一定的概率生成新...

    CLOSET+ 算法简论

    CLOSET算法的主要贡献在于,它不仅整合了先前算法的有利方面,还提出了新的思想和看法。CLOSET算法的核心思想是在构建FP-tree之后,从最频繁的项目开始,逐层向下挖掘,直到找不到更频繁的子集为止。 CLOSET算法的...

Global site tag (gtag.js) - Google Analytics