《算法图解》第一章读书笔记
程序员文章站
2022-03-27 09:37:23
...
二分查找
二分查找要求输入数组有序,时间复杂度为,python代码如下:
def binary_search(list,item):
low = 0
high = len(list) - 1
while low <= high:
mid = int((low + high)/2)
if item > list[mid]:
low = mid + 1
if item < list[mid]:
high = mid - 1
if item == list[mid]:
return mid
return None
大O表示法
对于不同的算法,当问题规模增大时,算法运行时间的增加速度不同,简单查找的时间复杂度为,表示算法运行时间与问题规模呈现线性关系。
大O表示法表示的是最坏情况下算法的运行时间。例如,简单查找的时间复杂度为,意思是最坏情况下必须遍历数组中的每一个元素。
- ,对数时间,这样的算法包括二分查找
- ,线性时间,这样的算法包括简单查找
- ,这样的算法包括快速排序
- ,这样的算法包括选择排序
- ,这样的算法包括旅行商问题的解决方案
推荐阅读
-
《深入理解计算机系统》读书笔记 —— 第一章 计算机系统漫游
-
《scala编程实战》读书笔记------前言和第一章前2小节
-
韩顺平_PHP软件工程师玩转算法公开课(第一季)01_算法重要性_五子棋算法_汉诺塔_回溯算法_学习笔记_源代码图解_PPT文档整理
-
《算法图解》Grokking-algorithms(上)
-
韩顺平_PHP软件工程师玩转算法公开课(第一季)01_算法重要性_五子棋算法_汉诺塔_回溯算法_学习笔记_源代码图解_PPT文档整理
-
《Visual C# 从入门到精通》第一章使用变量、操作符和表达式——读书笔记
-
[读书笔记] Spring MVC 学习指南 -- 第一章
-
读书笔记 计算机系统--系统架构与操作系统的高度集成 第一章概叙
-
计算机算法与分析第一章学习心得
-
图解冒泡排序算法