记录我用c/c++实现的程序
#感悟
#学习一门程序语言,需要获得,knowledge and skill,知识可以通过讲授传递,但技巧只能通过训练获得。 #所有复杂的问题,都是简单问题的组合。
#给你40分钟的时间,你可以思考十分钟,然后用三十分钟的时间来写代码,最后浪费在无谓的调试上;你也可以思考半个小时,彻底弄清问题的本质与程序的脉络,然后用十分钟的时间来编写代码
Q&A:(建议阅读相关程序后再看答案)
1.奇偶排序(1)和奇偶排序(2),哪一段程序更好呢?
答:奇偶排序(1),因为(1)的程序可以说是由若干个“模块"组成,
模块之内”高内聚“,模块之间”低耦合“。
2.B05_6 复杂度为n*3的算法,现在的是n*m。
3.B05_7 这是也一道经典的算法问题,在企业面试里出现概率很高,是“找到第K大的数”的变种。先排序再找中位数自然
是很直接的做法,但排序本身很慢。我们只想找到第n/2大的数,对于其他数的顺序我们并不关心。那么怎么在不
排序的前提下找到第n/2大的数呢?