• 软件工程第三次作业—作业二


    效能分析:
    作业描述:通过ptime.exe分析软件对war_and_peace.txt在命令行内输入进行运行时间分析,并对相关性能进行分析。 

    截图如下:

    截图所示:

    第一次、第二次、第三次结果基本相同,都在70S之间。

    瓶颈预测:

    分析原因:

       效能分析结果基本处于失败状态,解决办法暂时没有找到,我觉得应该是我的暴力程序的原因,在结构体里面定义了静态数组,并且最多放40000,导致程序运行大文本文件时候的运行时间已经很长很长。

    接下来,我在Visual Studio 2012中,使用性能探查器进行了一次性能上的测试:

     

    排序函数中我在此使用的是冒泡排序,预测如果使用快速排序,程序的速度应该可以大大提升。

    排序sort()部分代码:

     void sort()
    {    
          int i,j;    
          struct word a;  
          for(i=0;i<sum;i++)  
        {   
            for(j=i+1;j<sum;j++)      
              if(A[i].num<A[j].num)    
             {     
                 a=A[j];          
                 A[j]=A[i];
                 A[i]=a; 
               }
          }
    }

    总结:

    1)程序中首先静态数组设置导致在阅读大文本文件时候比较慢,当时也有设置大堆栈,并查阅相关资料,但是最终没有解决这个问题。对于使用动态数组和链表形式进行存储也有想过,具体代码实现还是有一定问题,主要C程序使用并不熟练,可能想的并不一定能跟上实际做出来的。

    2)排序函数使用冒泡排序,相对时间空间复杂度都不及快速排序的迅速。

    3)基于我对C程序设计的基础,我暂时只能做到现在这一步。

  • 相关阅读:
    poj 2676 Suduku (dfs)
    poj 1562 Oil Deposits (dfs)
    poj 2907 Collecting Beepers (dfs)
    poj 1655 Balancing Act (树形dfs)
    poj 3411 Paid Roads (dfs)
    hdu 2896 病毒侵袭 (AC)
    hdu 3065 病毒侵袭持续中 (AC)
    poj 2251 Dungeon Master (bfs)
    java中debug使用
    Swing入门级小项目总结
  • 原文地址:https://www.cnblogs.com/chjy/p/7598265.html
Copyright © 2020-2023  润新知