我想在接触C/C++编程,都会或多或少接触到数据结构这门课程,在这里我就简单把我自己对数据结构这门课程的心得体会分享一下。
数据结构开始应该从时间和空间复杂度开始。
时间复杂度:
下面是一个小demo去计量一段程序所花的时间:
#include <stdlib.h>
#include <stdio.h>
#include <time.h>//这个是引用时间函数
#include <iostream>
#include <string>
using namespace std;
void main(){
clock_t start,finish;
double totalTime;
start=clock();
//。。。。。中间放运行的代码
finish=clock();
totalTime=(double)(finish-start)/CLOCKS_PER_SEC;
cout<<"程序运行的时间是:"<<totalTime<<endl;
system("pause");
}
一般也是通过计算for循环来计算指令的条数,可能有人要问为啥呢,因为计算机cup执行一条指令的时间可以忽略不计的,唯一区分的就是通过for循环来区分,所以一般分为:常数、线性、对数和指数等。
至于空间复杂度:是指一个算法在计算机存储器上所占用的存储空间,包括存储算法本身所占用的存储空间,算法的输入输出数据所占用的存储空间和算法在运行过程中临时占用的存储空间这三个方面,来计算空间复杂度。