答案 0 :(得分:9)
答案 1 :(得分:4)
答案 2 :(得分:2)
答案 3 :(得分:2)
埃里克,
不确定你是否还在订购卡片的实体卡片,但我正在研究它(卡片排序,针头排序,分类机器等)并偶然发现你的帖子。如果你不这样做,那么我希望其他人可能会发现它有用/有帮助。
如果您能够使用打孔器并修改卡片组的边缘 - 那么可以使用排序技术在log2(#of cards)操作中对整个堆进行排序。所以需要8张操作才能获得~200张卡。
我发现效果很好的一种方法如下:
1。)按照你想要的方式订购套牌,给每张卡片#。
2。)将此#转换为二进制,长度为log2(卡数)。 例如log2(216)~8,那么你只需要8个位置......所以0x0会变成00000000
3.。)使用它的二进制表示法对每张卡片进行编码,如下图所示
PIC
4。)修剪1,如同下面的卡1(右边或LSB被修剪掉),卡2上的倒数第二个也被裁掉了......
5.)抓钉子,或针织针或直筒衣架等...... 将甲板包装在一起(无序)w /孔全部对齐
6。)将针穿过整个甲板上的右手孔(或二进制的lsb)。 抬起针头,让那个标签上没有环的卡片(你把它切掉)掉进一个盒子里。将挂在针上的卡片移到卡座的前部。 **在提起所选卡片时,请勿更改未受保护卡片的订购......例如将甲板放在宽松的卡箱或类似的东西中
7.。)再次将甲板包装在一起,这次使用先前使用的相邻孔(第二个到右侧)上的针。做同样的事情,让未连接/未选择的卡落入盒子并重复。
8。)w / 8操作整个牌组应该排序......希望这有助于某人
这是它的工作原理: 第一操作(步骤6)将所有奇数整数移动到前面,例如,将1放在2前面,3放在4前面等。
第二次操作移动(3/4前面的1/2)和7/8前面的5/6。 第3次操作在13/14/15/16前面的5/6/7/8和9/10/11/12之前移动1/2/3/4 .. 第四次操作在9/10/11/12/13/14 / 15/16 /之前移动1/2/3/4/5/6/7/8 等等... 最后一步移动需要大约一半的甲板并将它放在另一个的前面...它会导致一个完全有序的甲板以最小的移动量
干杯, 杰里米
答案 4 :(得分:1)
答案 5 :(得分:1)
我发现这篇文章是因为我想快速排序一副52张扑克牌。一些小实验表明我可以在1:30左右对整个套牌进行分类,使用每张套装将每张卡片分成一堆,然后一次插入一套西装(几乎没有练习,所以我就是这样)确保通过练习可以更快地完成。)
我尝试了一些不同的方法,包括进行红黑分割然后进一步将红色和黑色分成他们自己的套装,然后按套装进行插入排序,但这明显变慢了。我还尝试将每个套装拆分成2-7,8-A,以查看在较小的卡组上执行的插入排序是否更快,但它也明显更慢。所以我的收获就是不要浪费你的时间进行过多的递归来做分组。
将这种方法推断到您的卡片,似乎最好的方法是将卡片放入一个大小的桶中,这些桶子很容易一次性排序(10或20张卡片,因为它可能是因为它很容易弄清楚他们进入哪个桶)然后在桶上进行插入排序。大概你应该可以用这种方式在大约6-7分钟内对216张卡片组进行分类。