
编程技术
qb_2008
可怕的不是无知,而是畏难。
展开
-
那些疑难杂症
在平时编程时经常遇到各种疑难杂症,有的只是小bug,调试调试就过去了。有的却是因为自己对CPU或硬件的工作方式理解有错误,这就麻烦了,因为你永远也无法从你百分百相信的代码里找出错误。除非是长期苦恼纠结后的灵机一动,或者看过别人代码或相关书籍后的恍然大悟。我想在这篇文章中加以记录,聊作警戒或谈笑之用。 1. nor flash擦除 我是首次需要自己擦除nor flash。根据fl原创 2012-05-27 19:05:08 · 1348 阅读 · 1 评论 -
一段评价程序平均运行时间的shell脚本&shell脚本编写注意事项
#!/bin/bash usage() { echo "$0 -c command [-r repeat time]" } # average_time head_match_string filename average_time() { head=$1 filename=$2 minutes=`sed -n "s/^$he原创 2012-06-02 11:56:55 · 2274 阅读 · 0 评论 -
调试小记
就像许多文章中说的那样,调试一定要冷静,要耐心。急躁解决不了问题,盲目地修改很容易添加新的bug,让问题更加复杂。 调试时需要活跃地思维,从不同角度去测试程序,观察结果,并思考为什么会这样。能把自己思考的过程写成文档记录下来是最好的。 调试不一定非要把bug揪出来,也不是对程序不能做优化。如果调试过程中发现有更好的实现方法,或者可以优化的地方,可以先优化,再调试。当然我并不建议对程序做大的改动原创 2012-06-06 20:51:28 · 928 阅读 · 0 评论 -
貌似桶排序的快速排序—线性时间
我们假设要对一个数组进行排序,排序的key值为32位整数类型。那么可以使用快速排序对数组进行排序,但快速排序虽然简单易用,但它的平均情况和最坏情况复杂度是不同的。平均情况下,快速排序的时间复杂度为O(nlogn),空间复杂度为O(logn)【分配给递归调用时的堆空间】;最坏情况下,快速排序的时间复杂度为O(n2),空间复杂度为O(n)。但如果要排序的是整型key值,就可以利用桶排序对其按位分配,使原创 2013-04-30 19:47:38 · 1233 阅读 · 1 评论