系列文章目录

第一章 算法设计与分析基础知识
第二章 算法的分治策略
第三章 算法的动态规划
第四章 算法的贪心法
……


@[TOC](这里写目录标题) # 一级目录 ## 二级目录 ### 三级目录


参考教材

《算法设计与分析(第2版)》是由屈婉玲、刘田、张立昂、王捍贫编著,2016年清华大学出版社出版的21世纪大学本科计算机专业系列教材、普通高等教育“十一五”国家级规划教材。该教材适合作为大学计算机科学与技术、软件工程、信息安全、信息与计算科学等专业本科生和研究生的教学用书,也可以作为从事实际问题求解的算法设计与分析工作的科技人员的参考。


一、算法的由来

1 算法的由来

公元9世纪,波斯著名的数学家、天文学家、地理学 家阿尔·花拉子密在公元825年写成《印度数字算术》一书,对于 印度-阿拉伯数字系统在中东及欧洲的传播起到了重要作用。 该书被翻译成拉丁语“Algoritmi de numeroIndorum”, 花拉子密的拉丁文音译即为“算法”(Algorithm)一词的由来。

2 算法的历史

① 约公元前300年欧几里得提出了辗转相除法,用于计算两个整数的最大公约数, 其被记录在 欧几里得《几何原本》中
② 公元前1世纪,我国的第一本 “算法 ”书《周髀算经》出世
③ 魏晋时期,数学家刘徽在《九章算术注》中首创割圆术,内接正多边形去无限逼近圆,并以此求取圆周率的方法。
④ 唐高宗显庆元年(公元656年),规定将十部汉、唐一千多年间的十部著名数学著作作为国家最高学府的算学教科书,用以进行数学教育和考试,后世通称为《算经十书》。

3 为什么要学算法

数学王子 高斯的故事:
求: 1+ 2 + 3 + 4 + 5 + ⋯+ 100 =?
方式1(普通的方式): 对数据进行累加
1+2 =3
3+3 =6
6+4 =10
……
4950 + 100 = 5050
方式2(高斯算法): (1+100)* 50 = 5050
由上面的案例,我们可以得到如下结论:
求解同一问题通常存在多种方法,其效率可能不同,
所以需要我们分析比较算法运行效率,判断哪个算法更高效。

二、算法的基本概念

1 算法定义

给定计算问题,算法是一系列良定义(定义明确无歧义)的计算步骤,逐一执行计算步骤(计算机可实现的指令)即可得预期的输出。
举例:
比如我们平时在代码编写过程中比较常见的排序问题:

输入包含												

第一章 算法设计与分析基础知识相关推荐

  1. 算法设计与分析基础知识

    一.算法设计基础 算法是(algorithm)是对特定问题求解步骤的一种描述,是指令的有限序列. 算法的五个特性: 输入:一个算法可以有零个或多个输入. 输出:一个算法有一个输出或多个输出. 有穷性( ...

  2. 计算机算法设计与分析读后感,算法设计与分析基础经典读后感有感

    <算法设计与分析基础>是一本由Anany levitin著作,清华大学出版社出版的胶版纸图书,本书定价:49.00元,页数:409,特精心从网络上整理的一些读者的读后感,希望对大家能有帮助 ...

  3. 算法设计与分析基础-笔记-上

    算法设计与分析基础 绪论 什么是算法 一系列解决问题的明确指令,对于符合一定规范的输入,能够在有限的时间内获得要求的输出. 例子:最大公约数:俩个不全为0 的非负整数 m m m和 n n n的最大公 ...

  4. 计算机体系结构 第1-2章 量化设计与分析基础/指令系统原理与示例

    第1章 量化设计与分析基础 计算机的分类类别 计算机系统结构定义和计算机的设计任务:指令集结构概念及要素 实现技术的趋势:技术发展的趋势 集成电路功耗的趋势:功耗的概念 可靠性:提高可靠性的方法 6. ...

  5. 算法设计与分析基础 第一章谜题

    习题1.1 10.b 欧几里得游戏 一开始,板上写有两个不相等的正整数,两个玩家交替写数字,每一次,当前玩家都必须在板上写出任意两个板上数字的差,而且这两个数字必须是新的,也就是说,不能与板上任何一个 ...

  6. 算法设计与分析基础知识点

    前言:全文参考徐承志老师的PPT 适合期末复习,查缺补漏,有缺漏或错误欢迎指正,后面的第九章内容之后会继续补充. 目录 一.算法基础概念 二.算法分析基础 1.概念 2.算法设计的一般过程 3.时间复 ...

  7. 算法设计与分析基础第三版

    课后题答案 一.算法级基础知识 1.算法的基本概念 解决问题的确定方法和有限步骤称为算法,对于计算机科学来说,算法指的是对特定问题的求解步骤的一种描述,是若干条指令的有穷序列.并有以下特性:输入.输出 ...

  8. 数据结构——从概念到c++实现(王红梅第3版)第一章算法设计题答案

    第一章 1.找出整型数组A[n]中的最大值和次大值. #include<iostream> using namespace std; int main() {int max,second_ ...

  9. 算法设计与分析基础 第六章谜题

    习题6.1 9.数字填空 给定n个不同的整数以及一个包含n个空格的序列,每个空格之间事先给定有不等(>或<)符号,请设计一个算法,将n个整数填入这n个空格中并满足不等式约束.例如,数4,6 ...

最新文章

  1. DHTML中style的display和visibility属性
  2. jquery after append appendTo三个函数的区别
  3. 由浅入深区块链技术,程序员不得不看的十篇好文
  4. python慢在哪里_求大神分析一下我的python脚本慢在哪里?
  5. WindowsService 安装后报错: 无法启动计算机“.”上的服务 解决方案
  6. 使用系统规则测试System.in和System.out
  7. java excel处理框架,Java三方—-excel框架之POI的使用一
  8. python-基础-代码备注与变量命名方法
  9. 解密昇腾AI处理器--DaVinci架构(存储系统)
  10. transformers model inputs
  11. 最早的算法可追溯到三千年前,“所谓的 AI 并非源自先进的技术”!
  12. pads中如何设置等长_如何在Windows 10中设置和使用Hyper-V进行OS虚拟化
  13. 管理感悟:什么是“倾诉式管理”
  14. 计算机应用高级教程,计算机应用高级教程(本科)
  15. 利用ODI将Oracle US7ASCII编码的数据库迁移至UTF8编码数据库
  16. Daily record-November
  17. 一加11:新的赛场,“不温和”的答卷
  18. 用python做股市数据分析一_用python做股票数据分析(兴趣篇)
  19. 【第7天】SQL进阶-插入记录(SQL 小虚竹)
  20. 判断当前是移动端还是PC端 判断是微信浏览器还是非微信浏览器

热门文章

  1. java 输出素数_java 素数(按要求输出)
  2. Java核心技术·卷I(原书第12版)
  3. SQL Server(MSSQLSERVER)无法启动问题解决
  4. 深入浅出设计模式 ------ Builder(生成器模式)
  5. linux chmod命令为当前目录下的所有文件都添加可执行权限(可执行文件permission denied解决方法)
  6. C语言学生成绩管理系统(课程设计报告书)
  7. safari下载中文文件名乱码
  8. element-ui input限制输入数字
  9. 神经网络——PRML
  10. 华兴资本确定IPO发行价 募集资金将达3.96亿美元