首页 数据库 mysql教程 DS之算法概述

DS之算法概述

Jun 07, 2016 pm 04:13 PM
概述 步骤 求解 鉴别 算法 问题

算法 算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作,此外,一个算法还具有5个重要的特性。 (1)有穷性 一个算法必须总是(对任何合法的输入)在执行有穷步之后结束,且每一步都可在有穷时间内(合理的,可接受的

算法

算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作,此外,一个算法还具有5个重要的特性。

(1)有穷性 一个算法必须总是(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有穷时间内(合理的,可接受的时间内)完成。

(2)确定性 算法中每一条指令必须有确切的含义,读者理解时不会产生二义性。并且,在任何条件下,算法只有唯一的一条执行路径,即对于相同的输入只能得出相同的输出。

(3)可行性 一个算法是能行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现的。

(4)输入 一个算法有零个或多个的输入,这些输入取自某个特定的对象集合。

(5)输出 一个算法有一个或多个的输出,这些输出是同输入有某些特定关系的量。

算法设计的要求

(1)正确性 算法应当满足具体问题的需求。

(2)可读性 算法主要是为了人的阅读和交流,其次才是机器执行。可读性有助于人对算法的理解。

(3)健壮性 当输入数据非法时,算法也能适当地做出反应或进行处理,不会产生莫名其妙的输出结果。

(4)效率与低存储量需求 通俗地说,效率指的是算法执行的时间。对于同一个问题如果有多个算法可以解决,执行时间短的算法效率高。存储量需求指算法执行过程中所需要的最大存储空间。效率与低存储量需求都与问题规模有关。

算法效率的度量

算法执行时间需要通过依据该算法编制的程序在计算机上运行时所消耗的时间来度量。而度量一个程序的执行时间通常有两种方法:

(1)事后统计的方法

(2)事前分析估算的方法

一个用高级程序语言编写的程序在计算机上运行时所消耗的时间取决于下列因素:

1,依据的算法选何种策略

2,问题的规模

3,书写程序的语言,对于同一个算法,实现语言的级别越高,执行效率就越低。

4,编译程序所产生的机器代码的质量

5,机器执行指令的速度

一个算法是由控制结构(顺序,分支和循环三种)和原操作(指固有数据类型的操作)构成的,则算法时间取决于两者的总和效果。为了便于比较同一问题的不同算法,通常的做法是,从算法中选取一种对于所研究的问题(或算法类型)来说是基本操作的原操作,以该基本操作重复执行的次数作为算法的时间量度。

算法的时间复杂度

一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数f(n),算法的时间量度记作T(n)=O(f(n)),它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐近时间复杂度,简称时间复杂度。

显然,被称作问题的基本操作的原操作应是其重复执行次数和算法的执行时间成正比的原操作,多数情况下它是最深层循环内的语句中的原操作,它的执行次数和包含它的语句的频度相同。语句的频度指的是该语句重复执行的次数。

下面通过几个例子来说明时间复杂度

1,{ ++x; s=0; } “x增1”的语句的频度为1,则时间复杂度为O(1)常量阶

2,for(int i=1; i

3,for(int i=1; i

for(int j=1; j

算法还可能呈现的时间复杂度有对数阶,指数阶等【本文来自鸿网互联 (http://www.68idc.cn)】。

算法的存储空间需求

类似于算法的时间复杂度,而空间复杂度作为算法所需要存储空间的量度,记作S(n)=O(f(n)),其中n为问题的规模(或大小)。一个上机执行的程序除了需要存储空间来寄存本身所用指令,常数,变量和输入数据外,也需要一些对数据进行操作的工作单元和存储一些为实现计算所需要信息的辅助空间。若输入数据所占空间只取决于问题本身,和算法无关,则只需要分析除输入和程序之外的额外空间,否则应同时考虑输入本身所需要空间(和输入数据的表示形式有关)。若额外空间相对于输入数据量来说是常数,则称此算法为原地工作。

如果所占空间量依赖于特定的输入,则除特定指明外,均按最坏情况来分析。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1677
14
CakePHP 教程
1431
52
Laravel 教程
1334
25
PHP教程
1279
29
C# 教程
1257
24
如何在iPhone中使Google地图成为默认地图 如何在iPhone中使Google地图成为默认地图 Apr 17, 2024 pm 07:34 PM

iPhone上的默认地图是Apple专有的地理位置提供商“地图”。尽管地图越来越好,但它在美国以外的地区运行不佳。与谷歌地图相比,它没有什么可提供的。在本文中,我们讨论了使用Google地图成为iPhone上的默认地图的可行性步骤。如何在iPhone中使Google地图成为默认地图将Google地图设置为手机上的默认地图应用程序比您想象的要容易。请按照以下步骤操作–先决条件步骤–您必须在手机上安装Gmail。步骤1–打开AppStore。步骤2–搜索“Gmail”。步骤3–点击Gmail应用旁

升级微信最新版本的步骤(轻松掌握微信最新版本的升级方法) 升级微信最新版本的步骤(轻松掌握微信最新版本的升级方法) Jun 01, 2024 pm 10:24 PM

不断推出新版本以提供更好的使用体验,微信作为中国的社交媒体平台之一。升级微信至最新版本是非常重要的,家人和同事的联系、为了保持与朋友、及时了解最新动态。1.了解最新版本的特性与改进了解最新版本的特性与改进非常重要,在升级微信之前。性能改进和错误修复,通过查看微信官方网站或应用商店中的更新说明、你可以了解到新版本所带来的各种新功能。2.检查当前微信版本我们需要检查当前手机上已安装的微信版本、在升级微信之前。点击,打开微信应用“我”然后选择,菜单“关于”在这里你可以看到当前微信的版本号,。3.打开应

此 Apple ID 尚未在 iTunes Store 中使用:修复 此 Apple ID 尚未在 iTunes Store 中使用:修复 Jun 10, 2024 pm 05:42 PM

使用AppleID登录iTunesStore时,可能会在屏幕上抛出此错误提示“此AppleID尚未在iTunesStore中使用”。没有什么可担心的错误提示,您可以按照这些解决方案集进行修复。修复1–更改送货地址此提示出现在iTunesStore中的主要原因是您的AppleID个人资料中没有正确的地址。步骤1–首先,打开iPhone上的iPhone设置。步骤2–AppleID应位于所有其他设置的顶部。所以,打开它。步骤3–在那里,打开“付款和运输”选项。步骤4–使用面容ID验证您的访问权限。步骤

Shazam应用程序在iPhone中无法运行:修复 Shazam应用程序在iPhone中无法运行:修复 Jun 08, 2024 pm 12:36 PM

iPhone上的Shazam应用程序有问题?Shazam可帮助您通过聆听歌曲找到歌曲。但是,如果Shazam无法正常工作或无法识别歌曲,则必须手动对其进行故障排除。修复Shazam应用程序不会花费很长时间。因此,无需再浪费时间,请按照以下步骤解决Shazam应用程序的问题。修复1–禁用粗体文本功能iPhone上的粗体文本可能是Shazam无法正常运行的原因。步骤1–您只能从iPhone设置中执行此操作。所以,打开它。步骤2–接下来,打开其中的“显示和亮度”设置。步骤3–如果您发现启用了“粗体文本

iPhone屏幕截图不起作用:如何修复 iPhone屏幕截图不起作用:如何修复 May 03, 2024 pm 09:16 PM

屏幕截图功能在您的iPhone上不起作用吗?截屏非常简单,因为您只需同时按住“提高音量”按钮和“电源”按钮即可抓取手机屏幕。但是,还有其他方法可以在设备上捕获帧。修复1–使用辅助触摸使用辅助触摸功能截取屏幕截图。步骤1–转到您的手机设置。步骤2–接下来,点击以打开“辅助功能”设置。步骤3–打开“触摸”设置。步骤4–接下来,打开“辅助触摸”设置。步骤5–打开手机上的“辅助触摸”。步骤6–打开“自定义顶级菜单”以访问它。步骤7–现在,您只需将这些功能中的任何一个链接到屏幕捕获即可。因此,点击那里的首

iPhone中缺少时钟应用程序:如何修复 iPhone中缺少时钟应用程序:如何修复 May 03, 2024 pm 09:19 PM

您的手机中缺少时钟应用程序吗?日期和时间仍将显示在iPhone的状态栏上。但是,如果没有时钟应用程序,您将无法使用世界时钟、秒表、闹钟等多项功能。因此,修复时钟应用程序的缺失应该是您的待办事项列表的首位。这些解决方案可以帮助您解决此问题。修复1–放置时钟应用程序如果您错误地从主屏幕中删除了时钟应用程序,您可以将时钟应用程序放回原位。步骤1–解锁iPhone并开始向左侧滑动,直到到达“应用程序库”页面。步骤2–接下来,在搜索框中搜索“时钟”。步骤3–当您在搜索结果中看到下方的“时钟”时,请按住它并

无法在iPhone上更改Apple ID国家/地区:修复 无法在iPhone上更改Apple ID国家/地区:修复 Apr 20, 2024 am 08:22 AM

无法更改AppleID所属国家或地区。在许多情况下,您无法更改AppleID的区域。我们已经讨论了所有这些条件及其各自的解决方案,以便您能够在iPhone上更改AppleID。修复1–取消所有活动订阅如果您已经有活动订阅,Apple不允许您执行区域修改操作。通常,这些应用程序在不同地区具有不同的订阅计划、等级和费用(货币)。步骤1–您必须转到“设置”。步骤2–您将在“设置”页面的顶部找到您的AppleID。步骤3–点击一次即可打开它。步骤4–在下一页上,打开“订阅”菜单。步骤5–您可以在其中查看

WiFi通话在iPhone上不起作用:修复 WiFi通话在iPhone上不起作用:修复 Jun 03, 2024 am 11:16 AM

无法在iPhone上启用Wi-Fi通话?通话质量得到改善,您甚至可以从蜂窝网络不那么强大的远程位置进行通信。Wi-Fi通话也提高了标准通话和视频通话质量。因此,如果您无法使用手机上的Wi-Fi通话,这些解决方案可能会帮助您解决问题。修复1–手动启用Wi-Fi通话您必须在iPhone设置中启用Wi-Fi通话功能。步骤1–为此,您必须打开“设置”。步骤2–接下来,只需向下找到并打开“电话”设置即可步骤3–在电话设置中,向下滚动并打开“Wi-Fi通话”设置。步骤4–在Wi-Fi通话页面中,将“此iPh

See all articles