博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CS50 2016-Week3 学习笔记
阅读量:4099 次
发布时间:2019-05-25

本文共 615 字,大约阅读时间需要 2 分钟。

上一课讲了数组,这节课顺利过渡到了数组的查找、排序。

即查找算法、排序算法。

关于查找算法,除了常见的linear search ,binary search ,还有好多好多。下面是常见的七大查找算法:

  1. 顺序查找
  2. 二分查找
  3. 插值查找
  4. 斐波那契查找
  5. 树表查找
  6. 分块查找
  7. 哈希查找


排序算法,除了冒泡排序、插入排序、归并排序,还有很多很多其他的排序算法。(见维基百科- )


讲到算法,课中自然提到的算法复杂度,O、Ω、Θ 这些记号。

O表示上界,即最坏情况下需要运行的时间(步)。

Ω表示下界,即最好情况下需要运行的时间(步)。
Θ表示准确界限,O=Ω时,可以用Θ表示。

  • 常见的是大O:
  • O(1) denotes constant running time.
  • O(n) denotes linear running time.
  • O(log n) denotes logarithmic running time.
  • O(nlog n) denotes log-linear running time.
  • O( nk ) denotes polynomial running time.
  • O( cn ) denotes exponential running time.

网上有许多排序算法、查找算法复杂度的总结。

可以参考:


关于这些算法的实现,可需要一些时间。

以前的几篇笔记有了部分python的实现,这里就不写了,以后会另外总结的。

转载地址:http://bheii.baihongyu.com/

你可能感兴趣的文章
PHP底层的运行机制与原理
查看>>
深入了解php底层机制
查看>>
PHP中的stdClass 【转】
查看>>
XHProf-php轻量级的性能分析工具
查看>>
PHP7新特性 What will be in PHP 7/PHPNG
查看>>
比较strtr, str_replace和preg_replace三个函数的效率
查看>>
ubuntu 下编译PHP5.5.7问题:configure: error: freetype.h not found.
查看>>
PHP编译configure时常见错误 debian centos
查看>>
configure: error: Please reinstall the BZip2 distribution
查看>>
OpenCV gpu模块样例注释:video_reader.cpp
查看>>
【增强学习在无人驾驶中的应用】
查看>>
《python+opencv实践》四、图像特征提取与描述——29理解图像特征
查看>>
《python+opencv实践》四、图像特征提取与描述——30Harris 角点检测
查看>>
《python+opencv实践》四、图像特征提取与描述——31 Shi-Tomasi 角点检测& 适合于跟踪的图像特征
查看>>
OpenCV meanshift目标跟踪总结
查看>>
人工神经网络——神经元模型介绍
查看>>
人工神经网络——感知器介绍
查看>>
人工神经网络——反向传播算法(BackPropagation)
查看>>
进程的地址空间概述
查看>>
Windows 窗口底层原理
查看>>