计算机算法基础 复习要点 (华中科技大学)
算法初步知识点总结

算法初步知识点总结算法是计算机科学的一个重要领域,在计算机编程和数据处理中起着至关重要的作用。
算法是一种明确定义计算过程,通过这种计算过程,可以解决问题并产生所需的结果。
本文将回顾一些算法的初步知识点,包括基本概念、常见算法和一些实际应用。
一、基本概念1.1 算法的定义算法是一种有限而明确的问题解决方案的序列,其中每个步骤都是确定的、执行的和可计算的。
算法可以解决各种问题,如排序、搜索、最短路径等。
1.2 算法的特性算法有以下特性:输入、输出、确定性、有限性和有效性。
输入是指算法接受什么样的输入数据;输出是指算法产生什么样的输出数据;确定性是指算法的每个步骤都是确定的,如果输入相同,则输出也相同;有限性是指算法必须在有限时间内执行完成;有效性是指算法的每个步骤都是可计算的,可以通过计算机实现。
1.3 算法的复杂度算法的复杂度是指算法在解决问题时所需的资源,包括时间复杂度和空间复杂度。
时间复杂度是指算法在解决问题时所需的时间,通常用大O符号表示;空间复杂度是指算法在解决问题时所需的空间,通常也用大O符号表示。
1.4 算法的设计方法算法的设计方法包括暴力搜索、贪心算法、动态规划、分治法和回溯法等。
不同的问题需要采用不同的设计方法来解决,这些设计方法都可以帮助程序员更好地解决问题。
二、常见算法2.1 排序算法排序算法是指将一组数据按照一定的顺序重新排列的算法,常见的排序算法包括冒泡排序、选择排序、插入排序、快速排序、归并排序等。
其中,冒泡排序和快速排序属于比较排序算法,而计数排序和桶排序则属于非比较排序算法。
2.2 搜索算法搜索算法是指在一组数据中寻找特定的数据的算法,常见的搜索算法包括线性搜索、二分搜索、深度优先搜索和广度优先搜索等。
这些搜索算法可以帮助程序员在数据集中快速找到所需的数据。
2.3 图算法图算法是指解决图相关问题的算法,常见的图算法包括最短路径算法(如Dijkstra算法和Floyd算法)、最小生成树算法(如Prim算法和Kruskal算法)、和拓扑排序等。
计算机算法基础知识介绍常见的算法及其应用

计算机算法基础知识介绍常见的算法及其应用算法是计算机科学中的一种基本概念,它是解决问题的一系列步骤和规则的描述。
在计算机算法的基础知识中,有许多常见的算法及其应用。
本文将为您介绍这些算法,包括排序算法、查找算法、图算法和动态规划等。
通过学习这些算法,您可以深入了解计算机算法的基础知识,提高问题解决的效率。
1. 排序算法排序算法是将一组数据按照一定规则进行排序的算法。
常见的排序算法有冒泡排序、插入排序、选择排序、归并排序、快速排序等。
这些排序算法各有特点,在不同的场景中选择合适的算法可以提高排序效率。
排序算法广泛应用于数据库查询、搜索引擎等场景。
2. 查找算法查找算法是在一组数据中寻找某个特定元素的算法。
常见的查找算法有线性查找、二分查找、哈希查找等。
线性查找是最简单的查找算法,遍历整个数据集合进行查找;二分查找通过将数据集合分为两半,每次比较中间元素,找到目标元素;哈希查找则是通过将元素映射到固定的位置进行查找。
查找算法被广泛应用于数据库查询、索引建立等领域。
3. 图算法图算法是解决图结构相关问题的算法。
图是由一系列节点和边组成的结构,常用于表示实体之间的关系。
图算法包括深度优先搜索(DFS)、广度优先搜索(BFS)、最短路径算法、最小生成树算法等。
图算法被广泛应用于社交网络分析、网络路由、推荐系统等领域。
4. 动态规划动态规划是解决具有重叠子问题和最优子结构性质的问题的算法。
动态规划将问题划分为多个阶段,每个阶段记录子问题的最优解,通过递归的方式求解整个问题。
动态规划算法被广泛应用于最短路径问题、背包问题、序列比对等领域。
总结:通过本文的介绍,您了解了计算机算法基础知识中的常见算法及其应用。
这些算法在计算机科学中有着重要的地位,应用广泛且效率高。
在实际问题解决中,选择合适的算法能够大大提高解决效率。
因此,深入学习和理解这些算法是非常有益的。
请继续拓展你的计算机算法知识,并在实践中应用这些算法,提高问题解决的能力。
算法的知识点总结

算法的知识点总结算法的知识点非常广泛,涉及到数学、计算机科学、逻辑学等多个领域。
本文将从算法的基本概念、常用算法思想、数据结构和算法的关系以及一些常用的算法进行总结介绍。
一、算法的基本概念1. 算法的定义算法是一种解决问题的方法或技巧,它是一个有序的、确定性的操作序列,用来解决特定的问题或完成特定的任务。
算法可以描述为一系列的步骤,每个步骤都能够被清晰地描述,并且能够按照一定的顺序执行。
2. 算法的特性(1)输入:算法需要接受一些输入数据来解决问题。
(2)输出:算法需要产生一个输出来解决问题。
(3)确定性:算法的每一步骤都必须是明确的,没有二义性。
(4)有限性:算法必须在有限步骤内结束。
3. 算法的评价标准(1)时间复杂度:衡量算法执行所需的时间的指标,通常使用大O表示法来描述。
(2)空间复杂度:衡量算法所需的空间资源的指标,通常使用占用空间的增长率来描述。
二、常用算法思想1. 贪心算法贪心算法是一种在每一步选择中都采取当前状态下最好或最优的选择,从而希望通过局部最优解最终达到全局最优解。
贪心算法通常适用于解决最优化问题,但不能保证一定能得到全局最优解。
例如,找零钱时,可以采用贪心算法,选择面值最大的硬币,直到找零完成。
2. 动态规划动态规划是一种具有重叠子问题和最优子结构性质的解决问题的方法。
动态规划通常适用于不同阶段的决策问题,它将问题分解为若干个相互重叠的子问题,然后按照一定的顺序求解子问题从而得到原问题的最优解。
例如,最长递增子序列、背包问题等都可以使用动态规划来解决。
3. 分治算法分治算法是一种将问题分解成一些小的子问题,然后递归地解决这些子问题,最后将这些子问题的解合并起来得到原问题的解。
分治算法通常包括三个步骤:分解,解决子问题,合并子问题的解。
例如,归并排序、快速排序等都是基于分治思想的算法。
4. 回溯算法回溯算法是一种在解决约束满足问题时的穷举搜索技术,它通过递归地搜索所有可能的解来找到满足约束的解。
算法基本知识点总结

算法基本知识点总结一、算法的基本概念1. 算法的定义算法是用来解决特定问题的有限步骤的有序集合。
算法是一种计算方法,可以描述为一系列清晰的步骤,用来解决特定问题或执行特定任务。
2. 算法的特性(1)有穷性:算法必须在有限的步骤内结束。
(2)确定性:对于相同输入,算法应该产生相同的输出。
(3)可行性:算法必须可行,即算法中的每一步都可以通过已知的计算机能力来执行。
3. 算法的设计目标(1)正确性:算法应该能够解决给定的问题。
(2)可读性:算法应该易于理解和解释。
(3)高效性:算法应该能在合理的时间内完成任务。
二、算法的复杂度分析1. 时间复杂度算法的时间复杂度表示算法执行所需的时间长度,通常用“大O记法”表示。
时间复杂度反映了算法的运行时间与输入规模之间的关系。
常见的时间复杂度包括:(1)O(1):常数时间复杂度,表示算法的运行时间与输入规模无关。
(2)O(logn):对数时间复杂度,表示算法的运行时间与输入规模的对数成正比。
(3)O(n):线性时间复杂度,表示算法的运行时间与输入规模成正比。
(4)O(nlogn):线性对数时间复杂度,表示算法的运行时间与输入规模和对数成正比。
(5)O(n^2):平方时间复杂度,表示算法的运行时间与输入规模的平方成正比。
(6)O(2^n):指数时间复杂度,表示算法的运行时间与输入规模的指数成正比。
2. 空间复杂度算法的空间复杂度表示算法执行所需的内存空间大小。
常见的空间复杂度包括:(1)O(1):常数空间复杂度,表示算法的内存空间与输入规模无关。
(2)O(n):线性空间复杂度,表示算法的内存空间与输入规模成正比。
三、常见的算法设计思想1. 贪心算法贪心算法是一种选取当前最优解来解决问题的算法。
贪心算法的核心思想是从问题的某一初始解出发,通过一系列的局部最优选择,找到全局最优解。
2. 动态规划动态规划是一种将原问题分解成子问题来求解的方法。
动态规划通常适用于具有重叠子问题和最优子结构性质的问题。
大学计算机科学算法知识点归纳总结

大学计算机科学算法知识点归纳总结计算机科学的一个重要分支就是算法,它是解决问题的具体步骤和方法的集合。
通过学习和掌握算法知识,我们可以更加高效地解决各种问题。
本文将对大学计算机科学中常见的算法知识点进行归纳总结。
一、排序算法排序算法是计算机科学中最基本也是最常用的算法之一。
它将一组元素按照特定的规则进行重新排列。
以下是几种常见的排序算法:1. 冒泡排序(Bubble Sort)冒泡排序通过相邻元素的比较和交换来实现排序,每一轮将最大的元素冒泡到末尾。
2. 插入排序(Insertion Sort)插入排序通过将元素逐个插入已经有序的部分来实现排序。
3. 快速排序(Quick Sort)快速排序是一种基于分治法的排序算法,通过选择一个基准元素和其它元素进行比较和交换来实现排序。
4. 归并排序(Merge Sort)归并排序是一种基于分治法的排序算法,将待排序序列分为若干个子序列,分别进行排序后再合并。
二、查找算法查找算法是在给定的数据集合中找到指定元素的算法。
以下是几种常见的查找算法:1. 顺序查找(Sequential Search)顺序查找是一种逐个比较的查找算法,从列表的开头依次比较每个元素,直到找到目标元素或遍历完整个列表。
2. 二分查找(Binary Search)二分查找是一种基于分治法的查找算法,通过将待查找的区间不断缩小,最终找到目标元素。
三、图算法图是由节点和边组成的一种数据结构,图算法是解决图相关问题的一种算法。
以下是几种常见的图算法:1. 深度优先搜索(Depth First Search)深度优先搜索是一种遍历和搜索图的算法,它以深度优先的方式访问节点。
2. 广度优先搜索(Breadth First Search)广度优先搜索是一种遍历和搜索图的算法,它以广度优先的方式访问节点。
3. 最小生成树(Minimum Spanning Tree)最小生成树是一个无环连通子图,它是图中边的一种子集,使得树上所有边的权值之和最小。
计算机算法基础知识全面解读

计算机算法基础知识全面解读计算机算法是计算机科学的核心领域之一,是解决问题和实现功能的重要工具。
本文将全面解读计算机算法的基础知识,包括算法的定义、分类、复杂度分析和常见算法。
一、算法的定义算法是指解决一类问题的有限序列指令的描述。
它可以被看作是一种计算过程,通过逐步执行的指令将输入转化为输出。
算法需要满足清晰、确定、有限和有效的要求,能够解决某个具体的问题。
二、算法的分类根据算法的实现方式和思想,可以将算法分为以下几类:1. 暴力算法:按照问题的定义直接解决,没有使用任何优化技巧。
虽然效率低下,但是思路简单明确,易于实现。
2. 贪心算法:每一步都采取最优的选择,以期达到最终的最优解。
贪心算法通常简单高效,但不能保证一定能够得到全局最优解。
3. 分治算法:将问题分解成若干个规模更小、相互独立且与原问题性质相同的子问题,递归地求解这些子问题,再将子问题的解合并得到原问题的解。
4. 动态规划算法:将问题分解成若干个子问题,并保存子问题的解,避免重复计算。
通过解决子问题来解决原问题。
5. 回溯算法:通过搜索问题的解空间树,找到所有可能的解。
回溯算法通常适用于组合优化问题、NP完全问题等。
三、算法的复杂度分析算法的复杂度是衡量算法效率的重要指标,通常从时间复杂度和空间复杂度两个方面进行评估。
1. 时间复杂度:表示算法执行所需的时间量级,通常用大 O 表示法表示。
常见的时间复杂度有O(1)、O(logn)、O(n)、O(nlogn)、O(n^2)等。
2. 空间复杂度:表示算法所需的存储空间量级,也用大 O 表示法表示。
空间复杂度包括程序代码所占用的空间、输入和输出所需的空间以及算法执行过程中临时变量所需的空间。
四、常见算法1. 排序算法:排序算法是计算机算法中最常见的一类。
包括冒泡排序、插入排序、选择排序、快速排序、归并排序等。
排序算法的选择依赖于实际需求和数据规模。
2. 查找算法:查找算法用于在一组数据中寻找特定元素的位置或者判断某个元素是否存在。
算法考试复习要点
内部资料,转载请注明出处,谢谢合作。
算法考试复习提纲一、算法的基础知识1、算法的基本概念算法是由若干条指令组成的有穷序列,具有以下5个特征:●确定性:每条指令都是明确的、无二义的●能行性:每条指令都必须是能够执行的●输入:允许有0个或多个输入量,取自特定的集合●输出:产生一个或多个输出,它(们)与输入量之间存在着某种特定的关系●有穷性:每一条指令执行的次数都是有穷的2、衡量算法好坏的标准最初,用所需要的计算时间来衡量一个算法的好坏,但不同的机器相互之间无法比较,需要用独立于具体计算机的客观衡量标准,包括:●问题的规模●基本运算●算法的计算量函数3、渐近符号的概念和内涵●符号O:对于存在大于0的常数c和非负的整数n0,以及足够大的n,对于所有的n≥n0来说,有t(n)≤cg(n),我们说函数t(n)包含在O(g(n))中,记作t(n)∈O(g(n))。
(上界)●符号Ω:对于存在大于0的常数c和非负的整数n0,以及足够大的n,对于所有的n≥n0来说,有t(n)≥cg(n),我们说函数t(n)包含在Ω(g(n))中,记作t(n)∈Ω(g(n))。
(下界)●符号Θ:对于存在大于0的常数c1、c2和非负的整数n0,以及足够大的n,对于所有的n≥n0来说,有c2g(n)≤t(n)≤1g(n),我们说函数t(n)包含在Θ(g(n))中,记作t(n)∈Θ(g(n))。
(上下界,即确界)换言之,一个算法的渐进时间由算法的多项式时间中次数最高的那一项决定。
二、分治法1、分治法的基本概念把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。
2、分治法适合求解问题的特点●问题的规模缩小到一定程度就可以容易地解决●问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质●基于子问题的解可以合并为原问题的解●问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题3、分治法求解的一般过程。
计算机算法基础知识系统梳理
计算机算法基础知识系统梳理计算机算法是指解决特定问题的一系列步骤或指令。
算法的设计和分析是计算机科学领域的核心内容之一。
为了更好地理解和应用算法,我们需要对计算机算法的基础知识进行系统梳理。
本文将从算法的定义、分类、特性以及常见的算法设计思想进行介绍。
一、算法的定义算法是指一种具体可行的解决问题的方法,描述了在有限的时间和空间内,如何将输入转化为输出。
算法必须具备以下特点:明确性、有限性、确定性和可执行性。
明确性表示算法的步骤必须明确而不含糊;有限性表示算法必须在有限的步骤内结束;确定性表示算法的每一步都有确定的含义;可执行性表示算法能够被计算机实现。
二、算法的分类根据问题的性质和算法的设计思想,算法可以分为以下几类:1. 递归算法:递归算法是指在解决问题时,调用自身来进行子问题的求解。
递归算法通常包括基本情况和递推关系两个部分。
递归算法的典型应用包括斐波那契数列的求解和二叉树的遍历等。
2. 分治算法:分治算法是指将一个大问题划分成若干个相互独立且具有相同结构的子问题,然后逐个求解,并最后将各个子问题的解合并得到原问题的解。
经典的分治算法有归并排序和快速排序等。
3. 贪心算法:贪心算法是一种通过每一步的局部最优选择来达到整体最优解的算法。
贪心算法通常不是全局最优解,但在某些问题中可以得到近似最优解。
常见的贪心算法有Prim算法和Kruskal算法来解决最小生成树问题。
4. 动态规划算法:动态规划算法是一种将问题划分为多个阶段,每个阶段的求解依赖于之前阶段的结果,并通过保存之前阶段的结果来避免重复计算的算法。
动态规划算法常用于解决最优化问题,如背包问题和最短路径问题等。
5. 回溯算法:回溯算法也被称为试探法,通过枚举所有可能的解,并逐步剪枝来找到问题的解。
回溯算法通常用于求解组合、排列、子集等问题,典型的应用有八皇后问题和0-1背包问题等。
三、算法的特性算法的性能可以通过时间复杂度和空间复杂度来评估。
算法基础知识点复习
第一单元算法基础1.算法的概念及特点。
(1)复述算法的概念;答:答案1:书P6——算法是在有限步骤内求解某一问题所使用的具有精确定义的一系列操作规则。
答案2:——为解决某一问题而设计的确定的有限的步骤称为算法。
(2)解释算法的主要特点;答:书P61、有穷性:指每一个算法都应该在一定的时间和步骤内完成。
2、确定性:指算法的每个步骤必须有确切的含义,而不应当是含糊的、模棱两可的。
3、可行性:指算法中的每一个步骤都必须是实际能做的,而且能在有限的时间内完成。
4、有0个或多个输入:指算法的执行需要从外界获取信息,为算法的某些阶段建立初试状态。
如果建立初试状态所需要的信息已经包含在算法中,那就不再需要输人。
5、有1个或多个输出:指算法用来解决问题的结果应以一定的方式输出,即使问题“无”解答,也需要输出相关信息。
(3)描述用算法解决问题的一般过程。
答:书P3答案1:1、分析问题→2、设计算法→3、编写程序→4、运行程序答案2:1、需求分析→2、设计算法→3、编写程序→4、上机调试与维护2.算法的描述方法;流程图的绘制方法;用流程图来描述算法。
(1)列举算法的描述方法(用自然语言描述、用流程图描述、用程序语言描述实现);答:书P8,1、自然语言描述;2、流程图描述;3、伪代码或直接用计算机程序描述(2)列举常用的流程图符号(起止框、输入输出框、处理框、判断框、流程线等);答:书P 8—P 9开始结束框(即:起止框)判断框输入、输出框流程线处理框连接框(3)根据需要使用合适的流程图符号描述算法;和)(4)描述绘制流程图的基本要求。
3.常量和变量的区别。
(1)复述常量和变量的概念;答:书P57常量——常量是在程序运行过程中值不变的数据或存储单元。
变量——变量用来表示数据的存数区,在程序运行过程中,这些存储区中的值是可以改变的。
(2)比较常量与变量的不同;答:在程序运行过程中,常量的值不变,变量的值可以改变(3)列举数据的基本类型(整型、实数型、字符型、逻辑型等)。
算法初步主要知识点总结
算法初步主要知识点总结一、算法的基本概念1. 什么是算法算法是解决问题的一系列有序的步骤。
它是一种解题方法,目的是找到一个问题的解决方案。
在计算机科学中,算法是对问题的描述和解决方法的精确定义。
2. 算法的特点(1)有穷性:算法必须在有限的步骤内结束。
(2)确定性:算法的每一步必须有确定的含义。
(3)可行性:算法的每一步都必须是可以实现的。
(4)输入:算法具有零个或多个输入。
这些输入以约定的顺序列在参数列表中。
(5)输出:算法至少具有一个输出。
这些输出以约定的顺序列在参数列表中。
3. 算法的评价标准算法的好坏可以通过以下标准来评价:(1)正确性:算法能够得到正确的输出。
(2)效率:算法执行所需要的时间和空间。
(3)可读性:算法的代码结构明了,易于理解。
二、算法的设计方法1. 穷举法穷举法也叫暴力搜索法,是一种简单粗暴的思想,它通过穷尽所有可能的情况,找到问题的解。
穷举法的效率通常不高,但是在某些情况下,却是最直接的解决方法。
2. 分而治之分而治之是一种将问题分成若干个子问题,分别解决的方法。
通过将原问题分解成一些规模较小的子问题,再将子问题的解合并起来,就能得到原问题的解。
分而治之的典型应用是归并排序和快速排序。
3. 贪心算法贪心算法是一种采用每一步的最优选择来解决问题的方法。
它通常用于求解最优化问题,但是不一定能够得到最优解。
贪心算法思想简单,实现容易,但是需要注意选择最优策略时的约束条件。
4. 动态规划动态规划是一种通过将原问题分解成若干个子问题,并记忆子问题的解,最终得到原问题的解的方法。
它通常用于解决最优化问题。
动态规划需要一个递推公式来描述问题的结构,并用一个表格或者数组来存储中间状态。
典型的动态规划问题有背包问题和最长公共子序列问题。
5. 回溯法回溯法是一种通过尝试所有可能的情况来解决问题的方法。
在解决问题时,回溯法会不断尝试所有可能的解,然后通过一些条件来剪枝,直到得到问题的解。
回溯法通常用于解决排列组合问题、图搜索问题等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章 导引
掌握: 1.算法的定义及其性质(1.1节) 2.算法分析的基础知识(1.2节) • 重要的约定和假设 • 关于O, ,Θ 的定义 了解: 3.SPARKS语言(1.3节) 4.常用数据结构(1.4节) 5.递归与消去递归(1.5节)
第二章 分治法
掌握: 1.基本知识 分治法的基本思想:2.1节 关系式的化简: 1)递推关系式的化简 作业题 2)常用求和公式 在统计语句的频率时,求和公式的一般形式为:
第四章 动态规划
掌握: 1.基本知识(4.1节) 1)基本概念 • 多阶段决策过程 • 最优性原理 2)动态规划求解的一般策略: • 证明最优性原理成立 • 列出递推关系式:向前处理法、向后处理法
第四章 动态规划(续)
2.重要实例 • 多段图问题:段的定义、 (4.2节) 基于多段图的多阶段决策过程、 导出的递推关系式及算法 • 最优二分检索树:最优二分检索树的定义、 (4.4节) 最优二分检索树的多阶段决策过程、 递推关系式、 基于递推关系式的W,C,R的计算 习题 • 0/1背包问题:0/1背包问题的定义、向后递推策略、 (4.5节) 序偶Si的表示方法及其计算过程 习题
(6)
+∞ +∞ +∞ +∞ 25 +∞ 29 25 +∞ 29 25 28 29 25 28
第三章 贪心方法(续)
一般了解: 3.最优归并模式(3.4Kruskal算法(不保持连通) • 要求:给出图例,能够可以画出相应的最小 成本生成树
20 1 15
迭代 置初值 1 2 3 4 选取的 结点 - 3 2 5 6 S
2 4 3
10 30
4 15 10 3 5
DIST (4) (5)
6
10
(1) (2) 1 1,3 1,3,2 1,3,2,5 1,3,2,5,6 0 0 0 0 0 20 19 19 19 19
(3) 15 15 15 15 15
第三章 贪心方法
掌握: 1.基本知识(3.1节)
• • • • 基本概念:约束条件、目标函数、可行解、 最优解 贪心方法的适用对象:求输入的一个可行的 子集 贪心方法的一般策略:度量标准 贪心解是问题最优解证明的基本思想
第三章 贪心方法(续)
2.重要实例 • 背包问题:最优度量标准的选择、最优解的证明 (3.2节) • 带有限期的作业排序问题:度量标准和处理策略、 • 作业集合可行性的判定(3.3节) • 单源最短路径:给出一个图,能够写出算法的执行 轨迹(3.6节) 例题和实验
g ( n ) ≤ i ≤ h(n)
∑
k
f (i )
k +1
特殊形式
1≤i ≤ n
∑i
= Θ( n
)
1≤ i ≤ n
i = n ( n + 1) / 2 = Θ(n 2 ) ∑
1≤i ≤ n
i 2 = n (n + 1)(2n + 1) / 6 = Θ(n 3 ) ∑
第二章 分治法(续)
2.重要实例 • 二分检索算法及其算法分析:2.2节 • 基于PARTITION的选择算法:2.6节 3.分类算法及其应用:2.4、2.5节 一般了解: 4.找最大和最小元素:2.3节 5.最坏情况时间是O(n)的选择算法:2.3节后半部分
1 2 4 5 6 3 7 无向图G
8
BFS BFS检测序列: 1 2 3 4 5 6 7 8 DFS检测序列: 1 2 4 8 5 6 3 7 D_Search检测序列: 1 3 7 8 5 4 6 2
第五章 基本检索和周游方法(续)
一般了解: 3.二元树的周游 4.树的周游 5.书中关于算法时间和空间复杂度的定理及其 证明
第四章 动态规划(续)
一般了解: 3.每对结点之间的最短路径(4.3节) 4.最优二分检索树算法的实现(4.4节) 5.0/1背包问题算法的实现(4.5节)
第五章 基本检索和周游方法
掌握: 1.基本概念:检索、周游 2.图的检索算法 • 宽度优先检索:BFS • 深度优先检索:DFS • D_SEARCH 要求:掌握算法的处理规则,对给定的图,能 够写出各算法检索的结点序列。