特定问题的算法指标=时间+空间+算法复杂度+数据结构复杂度


写道
程序=算法+数据结构

 

congdepeng 写道

特定问题的算法指标=时间+空间+算法复杂度+数据结构复杂度

 

这里,空间指程序运行占用的资源。


我觉得对于指定的问题求解,“时间+空间+算法复杂度+数据结构复杂度”趋向于一个固定值。

其中时间+空间是为机器考虑的,算法复杂度+数据结构复杂度是为程序员的心情考虑的。


我现在简单的拟定一个分值:(如果为负的,说明更简单,时间更短,空间更少)

1分简单,时间短,空间少

2分中等,时间中等,空间中等

3分复杂,时间长,空间大


比如,我要从一个集合里面查找出一个指定的值。


A. 现在数据结构选取数组,结构复杂度较低 得分1。

    算法复杂度也较低,就是循环遍历比较 得分1。

    时间较长,时间t和集合长度n成正比 t=f(n) 得分2

    空间占用正常 得分2。


x=1+1+2+1=5


B.现在数据结构选取二叉树,结构复杂度高 得分3

   算法复杂度高, 得分2。

   时间较短  得分-2 (时间t不会因为集合长度n增长而暴涨)

   空间占用正常 得分2。


x=3+2-2+2=5




以上为本人昨天晚上看书的心得,如果有人感兴趣,可以一起讨论一下,不当之处,还望不吝赐教。






你可能感兴趣的:(数据结构,算法,F#)