你了解排序算法吗?

达到什么程度算是完全掌握了排序算法?

  1 了解排序算法的中心思想。

  2 当提供一个待排序数组时,能通过图例模型,来推理排序过程,并得到最终结果。

  3 可以根据1-2用编程语言写出排序算法。

  4 了解排序算法占用内存的多少和对Cpu的影响,了解排序算法的时间复杂度和空间复杂度的上限和下限。

 

 

我是如何思考、总结1~4的内容?

 1 通过网络搜集适合自己阅读的概念描述,并找到一个在实际生活中,实现该算法的例子。如:插入排序的和新思想就是【打扑克抓牌】 。注释:我们通过生活来了解外界,出非你是玩理论的人,否则不热爱生活的人,也不能把算法用到实际中,学习算法的又有何意义?

 

 2  通过生活中的例子根据算法,从头到尾排序。这一步最中要的是,要以模型的方式来推理这个过程。模型:图例。

     这样做的好处:1 生活中的例子:是你熟悉的事物。当过了N年后,只要你需要这个东西的时候,能方便的回忆。

                          2 模型的例子:推理具体的动作。这一步相当于动手做实验。目的是对于排序算法有一个感官上的认识。

                                               就是说:【她】尽管难以把握,但是一个实在的玩意,我们需要了解过程的细节。

                                               有一个不错的主意可以尝试一下:有一些算法动画,嘿嘿这个东西很有用的。

 

3 通过计算机来实现2。

                         有些人很聪明,2分钟搞定。有些人不聪明,20个小时还没有思路。聪明人啊,我不是,此时你对于我=看不见。

                         这些话是写给向我一样的蠢人的,当我们的智力无法达到【成功的对岸】时,我们需要借助一些【作弊手段】

                         来找到我们思考的盲点。

                                1 我们了解了概念,可以画图来推理到正确的结果,但我们不能用编程语言来实现这个算法,

                                   ok,我们的用【语言】表达问题的方式有些问题,把有问题的部分先记下来。

                                2  一个子“抄”。

                                    到网上找到你看得还算【OK】的算法代码,并勤奋的动手“逆向思维”。

                                    首先在设计思路上比较差别,然后通过修改代码结合断点来推理你思维的误区和盲点,最后解决问题。

                                    最后,总结一下你的思维盲点,这对于我们很【重要】,想想当时为什么这么想而不这么想,多问为什么,

                                    是要学习排序算法吗?不完全是,本质是了解自己思维的误区,提高自己的思维能力。

                              

                               3 写好算法后,还需要对有特征的部分进行封装(封装成函数),这样做的好处是,当你在此回忆这个地方的时候,

                                  只需了解功能和接口就可以了,可以有效的提高思考的效率。

4 的目的:

                       1 要知道排序算法对机器的影响,判断何时使用哪种算法更合理些。

 

  

 

                              

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值