首页教程软件资讯正文

对一个算法的评价,举例说明何谓算法,特点是什么评价一个算法的优劣,主要从哪些因...

发布时间:2024-06-20 10:51:52 来源:其它 作者:未知

1,如何评价一个计算机算法的好坏?

1,如何评价一个计算机算法的好坏?

简单,快速,高效,节省资源,可广泛应用,高兼容性

1.是否能高效的使用主存和辅存

2.程序的运行时间是否令人满意

3.程序代码是否易读

4.是否根据逻辑关系分解成有效执行函数

5.程序是否正确

6程序是否符合任务的规范

7是否有配套文档说明原理和用法

正确性,可读性,健壮性,高效率和低存储量

如果简单的回答你,我肯定就说俩字----价格现在的电脑元件的价格几乎已经是透明状态了,所以差价不会很多,所以与其看配置,不如看看件儿是不是被换过,比如内存被打磨过什么的,你非要看配置的话,现在说双核的电脑好,但是四核的已经出来的,所以一个月前买的高配置电脑现在不一定好,所以你就你买电脑的目的(比如是看电影啊,上网玩游戏啊,专业做图啊)在选择配置,适合自己用的就够了,当然越好的电脑越贵

空间和时间

能用尽量最短的时间和最小的存贮空间完成算法,那就是好算法

但时间和空间是矛盾的,时间短必须牺牲比较多的存贮空间,反之亦然

一般是时间复杂度和空间复杂度

时间复杂度:一般通过语句执行次数与输入规模之间的关系来比较

空间复杂度:通过使用额外的内存空间来比较

时间复杂度和空间复杂度也有一定的关系:

提高空间复杂度有利于减低时间复杂度,反之亦然

然后,就需要根据环境不同,平衡这两者

比如在嵌入式开发中,有时内存资源紧张,这时空间复杂度低的算法就可能是一个更好的算法

推荐参考数据结构或算法入门书

2,对一个算法的评价,不包括如下什么方面的内容

2,对一个算法的评价,不包括如下什么方面的内容

1,算法概念:\x0d在数学上,现代意义上的算法通常是指可以用计算机来解决的某一类问题是程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.\x0d2.算法的特点:\x0d(1)有限性:一个算法的步骤序列是有限的,必须在有限操作之后停止,不能是无限的.\x0d(2)确定性:算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当是模棱两可.\x0d(3)顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后继步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题.\x0d(4)不唯一性:求解某一个问题的解法不一定是唯一的,对于一个问题可以有不同的算法.\x0d(5)普遍性:很多具体的问题,都可以设计合理的算法去解决,如心算,计算器计算都要经过有限,事先设计好的步骤加以解决.

企业任务包括长期任务和短期任务,企业任务是企业发展的目标,其报告便于总结过去展望未来

3,3.数据结构中什么是算法,如何评价一个算法?

3,3.数据结构中什么是算法,如何评价一个算法?

首先,正确性不能保证正确性,那剩下的一切都是空谈,更不用说是好的算法了

时间效率和空间效率一个好的算法,应该具有较高的时间效率和空间效率,也就是说,它能在更短的时间内,在占用更少的存储空间的条件下获得期望的结果

易读性在满足以上条件的情况下,一个更容易被读懂的算法无疑更为优秀,一个好的算法如果想被推广甚至传颂,简洁易懂是一个重要的条件

算法是你编程解决具体问题时采用的数据定义方法和实现代码

如何评价一个算法?

1)最基本的是要能解决针对的问题

2)效率要高(耗时短)

3)(内存等)资源占用少

4,算法的评定

同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率算法分析的目的在于选择合适算法和改进算法一个算法的评价主要从时间复杂度和空间复杂度来考虑算法的时间复杂度是指执行算法所需要的计算工作量一般来说,计算机算法是问题规模n的函数f(n),算法的时间复杂度也因此记做

T(n)Ο(f(n))

因此,问题的规模n越大,算法执行的时间的增长率与f(n)的增长率正相关,称作渐进时间复杂度(AsymptoticTimeComplexity)

健壮性是指一个算法对不合理数据输入的反应能力和处理能力,也称为容错性

5,什么是算法?算法的有穷性是什么意思?评价一个算法有哪些指标?-...

什么是算法?这个问题貌似无法回答哦,

我也问一个,为什么1+12?

有穷性(有限性)任何一种提出的解题方法都是在有限的操作步骤内可以完成的,哪怕是失败的解题方法

解题方法中的任何一个操作步骤在现有计算机软硬件条件下和逻辑思维中都能够实施实现

6,如何评估一个算法的有效性

有效性?只要能满足输出项设定的算法都为有效算法但是有效算法中尽量选最优算法

结合算法的五大特性与回归到问题本身来看算法

有穷性

确切性

输入项

输出项

可行性

满足这五点即为有效算法

在算法执行的时候从空间和时间效率,正确性,可读性,健壮性角度来看算法本身是否是最优算法

一个完整硬盘的数据应该包括五部分:mbr,dbr,fat,dir区和data区其中只有主引导扇区是唯一的,其它的随你的分区数的增加而增加主引导扇区主引导扇区位于整个硬盘的0磁道0柱面1扇区,包括硬盘主引导记录mbr(mainbootrecord)和分区表dpt(diskpartitiontable)

其中主引导记录的作用就是检查分区表是否正确以及确定哪个分区为引导分区,并在程序结束时把该分区的启动程序(也就是操作系统引导扇区)调入内存加以执行至于分区表,很多人都知道,以80h或00h为开始标志,以55aah为结束标志,共64字节,位于本扇区的最末端值得一提的是,mbr是由分区程序(例如dos的fdisk.exe)产生的,不同的操作系统可能这个扇区是不尽相同

如果你有这个意向也可以自己去编写一个,只要它能完成前述的任务即可,这也是为什么能实现多系统启动的原因(说句题外话:正因为这个主引导记录容易编写,所以才出现了很多的引导区病毒)

操作系统引导扇区obr(osbootrecord)即操作系统引导扇区,通常位于硬盘的0磁道1柱面1扇区(这是对于dos来说的,对于那些以多重引导方式启动的系统则位于相应的主分区/扩展分区的第一个扇区),是操作系统可直接访问的第一个扇区,它也包括一个引导程序和一个被称为bpb(biosparameterblock)的本分区参数记录表

其实每个逻辑分区都有一个obr,其参数视分区的大小,操作系统的类别而有所不同引导程序的主要任务是判断本分区根目录前两个文件是否为操作系统的引导文件(例如msdos或者起源于msdos的win9x/me的io.sys和msdos.sys)如是,就把第一个文件读入内存,并把控制权交予该文件

bpb参数块记录着本分区的起始扇区,结束扇区,文件存储格式,硬盘介质描述符,根目录大小,fat个数,分配单元(allocationunit,以前也称之为簇)的大小等重要参数obr由高级格式化程序产生(例如dos的format.com)

文件分配表fat(fileallocationtable)即文件分配表,是dos/win9x系统的文件寻址系统,为了数据安全起见,fat一般做两个,第二fat为第一fat的备份,fat区紧接在obr之后,其大小由本分区的大小及文件分配单元的大小决定

关于fat的格式历来有很多选择,microsoft的dos及windows采用我们所熟悉的fat

12,fat16和fat32格式,但除此以外并非没有其它格式的fat,像windowsn

t,os/

2,unix/linu

x,novell等都有自己的文件管理方式

目录区dir是directory即根目录区的简写,dir紧接在第二fat表之后,只有fat还不能定位文件在磁盘中的位置,fat还必须和dir配合才能准确定位文件的位置dir记录着每个文件(目录)的起始单元(这是最重要的),文件的属性等定位文件位置时,操作系统根据dir中的起始单元,结合fat表就可以知道文件在磁盘的具体位置及大小了在dir区之后,才是真正意义上的数据存储区,即data区

数据区data虽然占据了硬盘的绝大部分空间,但没有了前面的各部分,它对于我们来说,也只能是一些枯燥的二进制代码,没有任何意义

在这里有一点要说明的是,我们通常所说的格式化程序(指高级格式化,例如dos下的format程序),并没有把data区的数据清除,只是重写了fat表而已,至于分区硬盘,也只是修改了mbr和obr,绝大部分的data区的数据并没有被改变,这也是许多硬盘数据能够得以修复的原因

但即便如此,如mbr/obr/fat/dir之一被破坏的话,也足够咱们那些所谓的diy老鸟们忙乎半天了需要提醒大家的是,如果你经常整理磁盘,那么你的数据区的数据可能是连续的,这样即使mbr/fat/dir全部坏了,我们也可以使用磁盘编辑软件(比如dos下的diskedit),只要找到一个文件的起始保存位置,那么这个文件就有可能被恢复(当然了,这需要一个前提,那就是你没有覆盖这个文件)

硬盘分区方式我们平时说到的分区概念,不外乎三种:主分区,扩展分区和逻辑分区主分区是一个比较单纯的分区,通常位于硬盘的最前面一块区域中,构成逻辑c磁盘在主分区中,不允许再建立其它逻辑磁盘扩展分区的概念则比较复杂,也是造成分区和逻辑磁盘混淆的主要原因由于硬盘仅仅为分区表保留了64个字节的存储空间,而每个分区的参数占据16个字节,故主引导扇区中总计可以存储4个分区的数据

操作系统只允许存储4个分区的数据,如果说逻辑磁盘就是分区,则系统最多只允许4个逻辑磁盘对于具体的应用,4个逻辑磁盘往往不能满足实际需求为了建立更多的逻辑磁盘供操作系统使用,系统引入了扩展分区的概念所谓扩展分区,严格地讲它不是一个实际意义的分区,它仅仅是一个指向下一个分区的指针,这种指针结构将形成一个单向链表

这样在主引导扇区中除了主分区外,仅需要存储一个被称为扩展分区的分区数据,通过这个扩展分区的数据可以找到下一个分区(实际上也就是下一个逻辑磁盘)的起始位置,以此起始位置类推可以找到所有的分区无论系统中建立多少个逻辑磁盘,在主引导扇区中通过一个扩展分区的参数就可以逐个找到每一个逻辑磁盘

需要特别注意的是,由于主分区之后的各个分区是通过一种单向链表的结构来实现链接的,因此,若单向链表发生问题,将导致逻辑磁盘的丢失

文章TAG: 算法 评价 举例说明 何谓 特点 对一个算法的评价

还没有评论,快来抢沙发吧!

最新发现

相关资讯

新闻热榜

热门游戏

精彩专题