数据结构基本概念

1.什么是数据结构?
“数据结构”是计算机中存储,组织数据的方式。通常情况下,精心选择的数据结构可以带来最优化的
算法。——维基百科
数据结构是数据对象,以及存在于该对象的实例和组成实例的数据元素之间的各种联系。这种联系
可以通过定义相关的函数给出。——《数据结构,算法与应用》
2.数据结构与算法的关系?
精心选择的数据结构可以带来最优化的算法。
   eg1.数据结构
      如何在书架上摆放图书?(前提知道图书的规模)
       两个问题1.新书如何插入? 2.如何找到已有的图书?
       操作1:重头找        方法1:随便放
       操作2:二分法        方法2:按首字母放
       所以可以说数据结构就是解决数据如何插入和查找的问题?
   eg2.写一个程序实现printN,输入一个正整数N,打印从1到N的全部正整数。
       //循环实现
       1.void main()
       {
        int N;
        std::cin>>N>>std::end1;
        for(int i=1;i<=N;i++)
        {
          std::cout<<i<<std::end1;
        }       
       }
       //递归实现
       void main()
       {
        int N;
        std::cin>>N>>std::end1;
        if(N)
         std::cout<<N-1<<std::end1;
        std::cout<<N<<std::end1;
       }
       结果:当输入N=100000,递归函数不执行。
       原因:这时,递归函数的空间使用的太多,而自爆。
       结论:程序的效率与程序空间的利用率有关
       eg3.计算给定多项式在定点x处的值
       f(x)=a0+a1*x+a2*x(i)  具体的就不写了,就是展开
       思想就是不能按照式子本来的样子来写,(会让有经验的程序员严重鄙视),
       而要使用更加简洁的算法。
       因为第一个程序要慢很多,调用#include <time.h>  clock()
       //计算程序运行了多长时间
       #include <stdio.h>
       #include <time.h>
       clock_t start ,stop;   //clock_t是clock函数的返回的变量类型
       int main()
       {
        start=clock();
        MyFunction();
        stop=clock();
        double duration;
        duration=((double)(stop-start))/CLK_TCK;//CLK_TCK机器周期的打点数
       }   
       结论:解决问题的效率与算法的巧妙程度有关。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值