算法和数据结构是程序的灵魂,没有用VB写的数据结构和算法书,VB关于这方面有天生不足,有人鄙视VB,以及单靠VB谋生的程序员。人们经常注重他的应用而不注重深层的算法问题,昨天我看了一个VB模拟汉诺塔和小鱼绕石头的程序原文件,惊叹VB在算法上一样优秀,在很久以前我就琢磨一些算法问题,大约10年前我甚至想用TURBO BASIC算人机对弈的程序。可惜到现在我连数据结构也没时间系统的学习过,书籍全是别的语言版本,可恶!!我在实际工作中用VB解决了许多涉及算法问题,比如运筹学方面最优开箱方案问题就用到了我的软件中,所以我想化大力气研究算法,因为其乐无穷,想学别的语言的优点,尤其是用来解决实际问题。

解决方案 »

  1.   

    支持。我也非常喜欢算法,做程序最值得骄傲的时候就是想出了一个非常好的算法。VB做算法还可以,数据结构比较差一些。第一个我不太明白什么意思,这个需要算法吗?
    你看看我这样写代码是不是满足你的要求:
    首先在窗体上放一个Command1(0)的控件(先放command1,然后复制粘贴,询问是否使用控件数组,选择是,然后删掉索引为1的按钮)
    Dim CommandCount As Long
    Function Random(B As Long, E As Long) As Long
    Dim LinL As Long
        LinL = E - B + 1
        Randomize
        Random = Int(Rnd * 100000) Mod LinL + B
    End Function
    Private Sub Command1_Click(Index As Integer)
        CommandCount = CommandCount + 1
        Load Command1(CommandCount)
        Command1(CommandCount).Left = Random(0, Me.Width - 600)
        Command1(CommandCount).Top = Random(0, Me.Height - 600)
        Command1(CommandCount).Visible = True
        If Command1(Index).Caption = "鸡" Then
            Command1(CommandCount).Caption = "蛋"
        Else
            Command1(CommandCount).Caption = "鸡"
        End If
    End SubPrivate Sub Form_Load()
        CommandCount = 0
    End Sub
    第二个也不算太难吧,不过现在没时间考虑,过一段时间再说。
      

  2.   

    2.
    这应该不算算法问题
    只要想清楚就行设有n个正常人n精神病人过河
    由于要使两边正常人大于或等于精神病人
    所以船上应该要有一个精神病人
    于是过河以精神病人为主(我这个只是表示过河途中的情况):0疯0常 ←←← 1疯带1常 过 ←←← (n-1)疯(n-1)常
    0疯1常 →→→ 1疯    回 →→→ (n-1)疯(n-1)常
    0疯1常 ←←← 1疯带1疯 过 ←←← (n-2)疯(n-1)常
    1疯1常 →→→ 1疯    回 →→→ (n-2)疯(n-1)常
    0疯0常 ←←← 1疯带1常 过 ←←← (n-2)疯(n-2)常
    ……看出规律没有
    过的时候 疯带 常、疯、常、疯、常……
    回的时候 疯一人回所以总次数为:(n-1)*4+1
      

  3.   

    写错了一点:0疯0常 ←←← 1疯带1常 过 ←←← (n-1)疯(n-1)常
    0疯1常 →→→ 1疯    回 →→→ (n-1)疯(n-1)常
    0疯1常 ←←← 1疯带1疯 过 ←←← (n-2)疯(n-1)常
    1疯1常 →→→ 1疯    回 →→→ (n-2)疯(n-1)常
    1疯1常 ←←← 1疯带1常 过 ←←← (n-2)疯(n-2)常
    1疯2常 →→→ 1疯    回 →→→ (n-2)疯(n-2)常
    ……
      

  4.   

    不知道大家看过THE ART OF COMPUTER PROGRAMMING这本书没?全都是算法问题.把整个编程的灵魂剖析的非常透彻.经典.可是我看不懂.全英文.人民币248一套. 唉~~~~~~~~编程的艺术.
      

  5.   

    THE ART OF COMPUTER PROGRAMMING really very exciting!!!
    that's the spirit of programme.
    No matter what language you use.But, actually I say, You'd better spare some of your time to learn C++/Pascal, They are really better than Basic while being used to describe practical problem.And, the description to the problem has no relations to the language you used.
      

  6.   

    THE ART OF COMPUTER PROGRAMMING
    有中文版
      

  7.   

    MagicianZ(MagicianX)是这样吗?但是我对C++很不适应.不知道为什么~~~~~~C到可以~~~~~~~
      

  8.   

    感谢大家支持!!,我买了很多c和passcal的教学盘,盗班的,准备好好研究研究其他语言的算法精华,不为考研,只为兴趣。
      

  9.   

    感谢大家支持!!,我买了很多c和passcal的教学盘,盗班的,准备好好研究研究其他语言的算法精华,不为考研,只为兴趣。