1.算法的5个重要特性:输入、输出、确定性、有穷性、可行性
2.算法具备一下特性:正确性、健壮性、可理解性、抽象分级、高效性
1.算法的描述方法:自然语言、流程图、伪代码
1.一般过程:理解问题、选择算法设计技术、设计并描述算法、手工运行算法、
分析算法的效率、实现算法
1.欧几里得算法
输入:两个自然数
输出:m和n的最大公约数
1.r=m%n;
2.循环直到r等于0
2.1m=n;
2.2n=r;
2.3r=m%n;
3.输出n
代码实现:
int commfactor(int m,int n)
{
int r=m%n;
while(r!==0)
{
m=n;
n=r;
r=m%n;
}
return n;
}
程序就是蓝色的诗
贪心算法 一.装箱问题 二.找零问题 即商场中给客户找零,收银员输入需要找零金额的大小,程序来判断需要几张现有人民币来找取,收银员各拿取几张对应的纸币找取。 代码实现...
...
文章目录 算法分析与设计 第2章 递归与分治策略 一、为什么提出分治法 二、递归是什么? 2.1 递归的概念 2.2 递归的特点 2.3 递归中应该注意什么问题呢? 2.4 如果编写递归算法呢? 2.5 递归的适用情况? 2.6 举个例子 算法分析与设计 第2章 递归与分治策略 一、为什么提出分治法 有时候要求解的问题的【问题规模】太大了,直接解决过于困难 那不如我们把它分为许多个【子问题】,这些...
...
算法设计与分析 一、算法级基础知识 1.算法的基本概念 解决问题的确定方法和有限步骤称为算法,对于计算机科学来说,算法指的是对特定问题的求解步骤的一种描述,是若干条指令的有穷序列。并有以下特性:输入、输出、确定性、有限性、可行性 算法与程序的区别:程序是算法用某种程序设计语言的具体实现,程序设计的实质就是构造解决问题的算法。算法+数据结构=程序,算法的结构和选择依赖于数据结构,所以数据结构是算法设...
算法设计与分析 2021-12-14 Asymptotic Notations Insertion sort Merge Sort T ( n ) = { 2 T ( n / 2 ) + n i f n > 1 1 i f n = 1 T(n)=\begin{cases} 2T(n/2)+n & if \quad n > 1\\ 1 & if \quad n = 1 \...
文章目录 算法分析示例 前缀平均值: 二次 - 时间算法: 分析: 线性时间算法 三集不相交 算法1 算法2 元素唯一性 算法1 算法2 算法分析示例 以下算法都是基于Python 3 算法分析就是通过优化时间复杂度和空间复杂度,让算法变得更…快 前缀平均值: 前缀平均值就是求这个数之前列表中的所有数的平均值,把这些平均值放在一个新的列表中. 二次 - 时间算法: 分析: 可以得到上...
算法分析与设计作业题 作业来源 Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M. Symbol Value I 1 V 5 X 10 L 50 C 100 D 500 M 1000 For example, two is written as II in Roman numeral,...
881. Boats to Save People Say you have an array for which the ith element is the price of a given stock on day i. Design an algorithm to find the maximum profit. You may complete as many transactions ...
算法分析与设计作业题 作业来源 Write a function to find the longest common prefix string amongst an array of strings. If there is no common prefix, return an empty string “”. Example 1: Input: [“fl...