zoukankan      html  css  js  c++  java
  • 由玩扑克牌所想到的

    晚上一直在复习数据结构,看排序这部分内容,边看边理解,直到看到了这张ppt,觉得很有意思,写出来给大家一起分享。

    理解到这里时,我眼光发亮,还是这么一回事哦。

    回忆小时候,没事情总是和小伙伴们一起打扑克牌。有时候,发牌人发一张,我捡起来按照大小顺序,往手里插入一张。最后发完了,我也就把牌理好了。

    这个情况在数据结构里的排序是叫做插入排序法。

    但也有些时候,是等小伙伴们全部发好了之后。我一次性理好的。具体操作如下。

    左手拿着叠在一起的牌(未排序),然后慢慢的打开。从中找,看有没有王,有没有2,有没有A,有没有K……。如果有的话,就用右手从中抽出来。一直到左手里的牌全部抽到右手中。这样也可以完成排序。

    那么这个排序叫什么呢??选择排序?其实也不完全是选择排序。至少跟课本里的选择排序不一样。

    课本里的选择排序,是从一堆数中,选择最小的跟第一位数交换。然后再选第二小的跟第2个数交换。这里主要是交换。

    而我小时候洗牌因为有两只手,所以就不是交换,而是把左手里的牌,选入右手中。

    相当于又开辟了一个新的空间。实际上,本质的说,这也是一种选择排序。

    ---------------------------------------------------------

    现实中的打牌也用到了很多数据结构的理论知识。

    除了洗牌用到了排序。接牌用到了查找外。

    还有算牌。应该用到了概率的东西吧。如果跟一个人打牌打多了,还可能用到了人工智能算法。

    ------------------------------------------------------------

    哈哈,感觉如果有时间精力的话,可以去写一个可以自动打牌的软件,也去玩玩人工智能打扑克牌。。哈哈哈哈

  • 相关阅读:
    QA问答系统,QA匹配论文学习笔记
    HMM Viterbi算法 详解
    py2 to py3 return iterator
    git 的回退
    mysql之group_concat函数详解
    sqlserver系统表使用
    Spring事务配置的五种方式
    MySQL 触发器简单实例
    64位Java开发平台的选择,如何区分JDK,Tomcat,eclipse的32位与64版本
    HSSFWorkbook和XSSFWorkbook的区别
  • 原文地址:https://www.cnblogs.com/hello-lijj/p/7157688.html
Copyright © 2011-2022 走看看