11 2012 档案

摘要:1.贪心算法和动态规划区别 贪心算法是自顶向下的,它会先做在当时看起来最优的选择. 而动态规划则自底向上的,先寻找子问题的最优解,然后再选择. 以矩阵链相乘举例. A0A1A2A3A4 动态规划会先把问题支解到最小,然后一步步向上选择最优的子问题. 而动态规划会先算A0-A4的最好选择.比如是2,则 阅读全文
posted @ 2012-11-24 21:07 黑暗遊侠 阅读(505) 评论(0) 推荐(0) 编辑
摘要:read属于系统调用,它的缓存是基于内核的缓冲,是记在内核空间的. 而fgetc是标准函数, 是在用户空间I/O缓冲区的 比如用fgetc读一个字节,fgetc有可能从内核中预读1024个字节到I/O缓冲区中,再返回第一个字节,这时该文件在内核中记录的读写位置是1024,而在FILE结构体中记录的读 阅读全文
posted @ 2012-11-13 22:02 黑暗遊侠 阅读(383) 评论(0) 推荐(1) 编辑
摘要:IPC代表一个时钟周期内指令的执行条数.主频代表单位时间内的时钟周期数. 所以两者共同决定了CPU的效率.即主频*IPC,单位时间内指令执行数. 阅读全文
posted @ 2012-11-05 12:04 黑暗遊侠 阅读(197) 评论(0) 推荐(0) 编辑
摘要:传统的CPU会利用分支预测来保持指令执行序列的流水线(即执行当前指令的同时取下一条指令). 但如果预测失败则代价太大. 新一代的CPU采用了条件传送指令.该方法预先计算出所有分支的结果以保持流水线指令序列.最后用一句cmovl(根据条件判断选择执行或跳过,一条指令内完成)指令来结束 阅读全文
posted @ 2012-11-05 12:04 黑暗遊侠 阅读(153) 评论(0) 推荐(0) 编辑