第1章 算法简介

第一章 算法简介

学习目标

  • 为学习本书剩余章节打下坚实的基础;
  • 编写二分搜索算法的代码;
  • 学会使用大O​记号来分析算法的运行时间;
  • 介绍一种常用的算法设计技术:递归;

介绍

定义

一个算法指的是一套完成某个任务的指令集。

虽然每个代码块都可被称作一个算法,但是本书认为的算法要比普通的代码块有趣一点。

本书中选择的算法具有如下特点:执行速度快或者能解决有意思的问题
比如

  • 第1章会介绍二分搜索算法,并展示算法如何加速代码。在一个例子里,需要执行的步数从40亿降到了32!
  • GPS设备使用在第6、7、8章里介绍的图算法来计算到目的地的最短路径。
  • 可以使用第9章中的动态规划算法来编写玩跳棋的AI算法。

针对每一种情形,首先,本书描述该算法,并举例说明。然后,本书用大O记号描述该算法的运行时间。最后,本书探究使用同样的算法可解决的其他类型问题。

性能分析能力

学习了本书后,将学会

  • 在不同的算法之间比较:该使用合并排序还是快排?该使用数组还是列表?
  • 有时候,仅仅使用了一个不同的数据结构,就能带来显著的改善;

解决问题能力

学习了本书后,将学会:

  • 编写一个使用图算法的、能跟随用户的AI系统;
  • 制作一个使用k紧邻算法的推荐系统;
  • 如何确认一个NP问题,并提出一个近似解;
  • 了解应用最广泛的若干个算法;
  • 应用算法知识去学习有关AI、数据库等的更具体的算法;
  • 帮助您在工作中解决更大的挑战;

二分搜索

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 算法是一组完成任务的指令;二分查找是一种算法,其输入是一个有序的元素序列(必须是有序的);只有当被查找的列表为有序...
    honvan阅读 105评论 0 1
  • 和自己说说话,我又想你了 不知道为什么喜欢你,不知道为什么会想你 你淡淡烟草味道的吻还挺让人流连忘返 但是,似乎没...
    C小宁willbe女王阅读 163评论 0 0
  • 文集目录:《水浒》里的小山头 这些小山头,书里主讲武力对打的,我就讲讲武力,讲隐喻、讲剧情的,我也顺势说说自己对水...
    魔鬼的赞歌阅读 4,143评论 11 24
  • 掌握朝政,统领群臣虽然威风,但这并不是王振的最终目的,事实上,王振并不只是一个贪财贪权的人,他也有自己的追求抱负。...
    异色瞳的忧伤阅读 641评论 0 0
  • 说在前面. 目标 我们的目标是让孩子快乐,正直,健康,勇敢.如果孩子有了这些特质,我还渴求他取得什么成就吗?不需要...
    heimark阅读 1,306评论 0 1