算法导论笔记
e_Chubby
~~~~
展开
-
《算法导论读书笔记》第二部分 第六章 堆排序
第二部分 排序和顺序统计量这一部分介绍了几种解决如下排序问题的算法:即输入n个数的序列,输出排列好的序列数据的结构名词:记录(record),关键字(key),卫星数据(satellite data) …为什么要排序很多计算机科学家认为排序是算法研究中最基础的问题,其原因有很多:有时应用本身就需要对信息进行排序。很多算法通常把排序作为关键子程序。现有的排序算法数量非常庞大,其中所使用的技术也非常丰富。我们可以证明排序问题的一个非平凡下界(在第8章中,我们会给出证明.原创 2020-10-05 22:11:38 · 1638 阅读 · 1 评论 -
《算法导论读书笔记》(第一部分 第四章 分治策略(4.1~4.2))
第一部分 基础知识(3)第四章 分治策略(4.1~4.2)前面的归并排序,利用了分治策略。分治策略中我们采用递归:每层递归中应用如下三个步骤:分解(Divide),解决(Conquer),合并(Combine)根据要不要递归又分为递归情况(recursive case)和基本情况(base case)。递归式递归式(recurrence)就是一个等式或不等式, 它通过更小的输入上的函数值来描述一个函数。递归式可以有很多形式。子问题的规模不必是原问题规模的一个固定比例。例子略本章原创 2020-09-14 16:53:01 · 652 阅读 · 0 评论 -
《算法导论读书笔记》第一部分(第三章 函数的增长)
第一部分(3)第三章 函数的增长第二章定义了算法运行时间增长量级简单地刻画了算法效率,并且允许我们比较可选算法的相对性能。虽然我们能够确定一个算法的精确运行时间,但是通常并不值得计算多余精度。本章给出几种标准方法来简化算法的渐进分析。包括Θ\ThetaΘ。3.1 渐进记号本节将定义一些基本的渐进记号,并介绍一些常见的活用法。渐进记号、函数与运行时间Θ(n2)就是函数an2+bn+c\Theta(n^2)就是函数an^2+ bn+ cΘ(n2)就是函数an2+bn+c本书中对其使用渐进原创 2020-09-14 16:50:33 · 582 阅读 · 0 评论 -
《算法导论读书笔记》第一部分(1~2章 算法基础)
第一部分 基础知识将引导思考算法的设计和分析问题, 简单介绍算法的表达方法,和将在本书中用到的一些设计策略, 以及算法分析中用到的许多基本思想;本书后面的内容都是建立在这些基础知识上的;第一章 算法在计算中的作用对算法及其在现代计算系统中地位的一个综述;本章将给出算法的定义和一些算法的例子;还说明算法是一项技术, 就像硬件, 图形用户界面, 面向对象系统和网络一样;什么是算法?为什么算法值得研究?相对于计算机中使用的其他技术来说算法的作用是什么?本章将回答这些问题;1.1原创 2020-09-14 16:47:01 · 814 阅读 · 0 评论