C_and_CPP 板


LINE

※ 引述《yauhh (哟)》之铭言: : 这小事,只要写个普通的对应程式,把字母对应为顺序号码: : enum Letter { : None = -1, : B = 0, R, : O, Y, : G, L, : P, W : }; : enum Letter charToLetter(char ch) { : switch (ch) { : default: : return None; : } : } : 虽然写得很长,但就是 O(1) 程度,并且可以把不连续资料调整为连续资料. : 然後在任何 sort 的 compare 函式会看到这样的程式码: 妈阿,太累了吧 XD char a[255] ; a['B'] = 0 ; a['R'] = 1 ; a['O'] = 2 ; a['Y'] = 3 ; a['G'] = 4 ; a['L'] = 5 ; a['P'] = 6 ; a['W'] = 7 ; 这样 a[c] 就知道优先顺序啦 而且你讲的那个 O(1) 也要 compiler 够聪明才有,不然还是 O(n) -- To iterate is human, to recurse, divine. 递回只应天上有, 凡人该当用回圈.   L. Peter Deutsch --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.160.109.130
1F:推 softwind:switch case ? 应该是还是 O(n)吧? 06/25 01:50
2F:→ yauhh:没差啦,反正是小事 06/25 02:52
3F:→ yauhh:原po只是问怎麽写,给个方向;但一堆人拼命给越快越好的作法, 06/25 02:54
4F:→ yauhh:这一点我很不能理解. 先给一个适当的作法不就可以了吗 06/25 02:55
5F:→ yoco315:and why did you remark you algo is O(1) -_-|| 06/25 03:12
6F:→ yoco315:(which actually not...) 06/25 03:12
7F:→ yoco315:not to mention the solution is complicated O_O 06/25 03:23
8F:推 Fenikso:写死在code里面的switch case就算有1000000项也是O(1) 06/25 03:42
9F:→ yoco315:It depends on the case value and the compiler. 06/26 00:30
10F:推 Fenikso:no, 1000000 is a constant 06/26 00:37
11F:推 softwind:对於写死的switch是O(1) 我比较有兴趣 compiler有说明吗? 06/26 00:39
12F:→ softwind:或是哪家的compiler有说明? 有人看过的可以share一下 06/26 00:39
13F:推 Fenikso:我想讲的只是.. n是input size, switch的数量并不会因为 06/26 02:20
14F:→ Fenikso:input而改变, 所以就算里面有100000个case也还是constant 06/26 02:20
15F:→ Fenikso:time 06/26 02:20
16F:→ Fenikso:这点yauhh讲的并没有错 06/26 02:21
17F:→ yoco315:这样算的话,那我乾脆说所有的 input 都是有限多的.. 06/26 22:50
18F:→ yoco315:对任何一个问题,我都用 code generator 生出 switch 码 06/26 22:51
19F:→ yoco315:然後交给 compiler 直接 output 答案就好.. 06/26 22:51
20F:→ yoco315:这种论点无异跟白痴一样嘛.. 06/26 22:51
21F:→ yoco315:人家现在讲的就是 case 的数目跟决策的时间.. 06/26 22:52
22F:→ yoco315:好的 compiler 遇到好的 case 可以做出 O(1) 的跳转没错 06/26 22:52
23F:→ yoco315:但是 general case 就不是 06/26 22:52







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP