C语言复习笔记(三)

来源:互联网 发布:怎么投诉不了淘宝卖家 编辑:程序博客网 时间:2024/05/07 14:04
1、复习指针与数组


http://www.docin.com/p-488144140.html参考
2、选择排序法讲解
   归纳:1、把0坐标的元素与右边最小的一个元素交换,达到效果最小的放到0位置
         2、把1坐标的元素与右边最小一个元素交换,达到效果,第2小的放到1位置
         3、把2坐标的元素与右边最小的一个元素交换,达到效果,第3小的放到2位置
         以此类推
3、冒泡排序:
    归纳:两两比较大小,交换内容。
4、二分查找
   归纳:二分查找的前提是对数组已经排序,排序之后,取中间数字M与要查找的数子X比较,
         4.2、如果m>x,那么重新再M左边取中间位置的数字再与x比较
         4.3 如果M<X,那么取M右边中间位置的数字与X比较
         按照上面逻辑循环直到找到X。


 5、时间复杂度
     时间复杂度是一个用于描述一个基本语句需要被执行次数的一个指标,通常写成O(f(n))的格式。
     空间复杂度是一个用于描述程序递归执行的一个指标。也是是O(F(N))这个格式。
     时间复杂度的估算:
       取运行最多的代码,估算需要运行的次数
       具体算法见下发的参考资料
     常见算法对应的时间复杂度和空间复杂度的值
         冒泡算法:时间复杂度 O(N^2)   空间复杂度  O(1)
         选择排序法:时间复杂度 O(N^2)   空间复杂度  O(1)
         快速排序法  时间复杂度 O(n*log2n)   空间复杂度 O(log2n)
    
         具体算法见下发的参考资料
0 0