JAVA空间换时间以及时间换空间的例子 您所在的位置:网站首页 修饰词是什么举例子 JAVA空间换时间以及时间换空间的例子

JAVA空间换时间以及时间换空间的例子

2024-07-07 05:10| 来源: 网络整理| 查看: 265

算法的好坏有两个指标:需要的内存空间(可以 理解为运行代码需要的内存空间),代码运行的时间(可以简单的理解为代码需要执行的步数)

程序的设计要不就是时间换空间,要不就是用空间去换时间。并且时间和空间是可以进行相互转化的:对于执行的慢的程序,可以通过消耗内存(即构造新的数据结构)来进行优化。而消耗内存的程序,也可以多消耗时间来降低内存的消耗。 

下面举个简单的例子:比如要写一个两个值互换的算法

//时间换空间 int a = 5; int b = 10; a = a+b;//得到a值为15 b = a-b;//得到b值为5 a = a-b;//得到a值为10 //空间换时间 int c = 5; int d = 10; int e = c;//得到e为5 c= d;//得到c值为10 d = e;//得到d值为

结论:第一个a和b互换值的算法:总共进行了3次加减运算和三次赋值运算,能够把a和b的值进行互换,没有开辟多余的内存空间。c和d互换的时候,多开辟了一个内存空间存储e,但是这样只需要进行三次赋值运算就可以把c和d的值进行互换。所以第一个算法空间效率高,时间效率低,第二个算法空间效率低,时间效率高,

我们在程序当中,请求分页,请求分段,都属于用时间去换空间。在项目当中使用各种缓存技术,都属于利用空间去换时间。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有