什么是数据结构?


1、解决问题方法的效率,跟数据的组织方式直接相关。

2、解决问题方法的效率,跟空间的利用效率直接相关。

3、解决问题方法的效率,跟算法的巧妙程度直接相关。

例1:写程序实现一个函数PrintN,使得传入一个正整数为N的参数后,能顺序打印从1到N的全部正整数。

#include <stdio.h>

//循环实现
void PrintN(int N)
{
   int i;
   for(i = 1; i<= N; i++)
   {
      printf("%d\n", i);
   }
   return ;
}

//递归实现
void printn(int N)
{
   if(N)
   {
      printn(N-1);
      printf("%d\n", N);
   }

   return ;
}
    
int main () 
{   
   int N;
   scanf("%d", &N);
   PrintN(N);
   //printn(N);

   return 0;
}

调用循环实现时,输入1000000,输出为:
在这里插入图片描述
可以看到这个输出是没有问题的。

下面调用递归实现,输入同样为1000000,输出为:
在这里插入图片描述
可以看到根本没有我所期望的输出,这是因为递归函数对空间的占用很恐怖,这个程序就是因为递归函数将空间完全吃掉,所以导致程序崩溃,无法得出运行结果。

一、 什么是数据结构?

数据结构是关于数据对象在计算机中间的组织方式的,而数据对象必定与加在其上的操作相关联,完成这些操作所用的方法就是算法。

1、逻辑结构

一对一的结构叫线性结构;
一对多的结构叫树;
多对多的结构叫图;

2、物理存储结构

物理存储结构就是我们说的这些逻辑结构在机器的内存里面到底怎么一个放法。

3、抽象数据类型

3.1、数据类型

1)、数据对象集
2)、 数据集合相关联的操作集

3.2、抽象

描述数据类型的方法不依赖于具体实现
1)、与存放数据的机器无关
2)、与数据存储的物理结构无关
3)、与实现操作的算法和编程语言无关

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值