什么是数据结构?

数据结构是数据对象,以及存在于该对象的实例和组成实例的数据元素之间的各种联系。这些联系可以通过定义相关的函数来给出。
数据结构是ADT(抽象数据类型 Abstract dataype)的物理实现。
数据结构( data structure)是计算机中存储、组织数据的方式。通常情况下,精心选择的数据结构订以带来最优效率的算法。
1.解决问题方法的效率,跟数据的组织方式有关
例.写程序实现一个函数 PrintN,使得传入一个正整数为N的参数后,能顺序打印从1到N的全部正整数
循环实现:
void PrintN ( int N)
{ int i;
for ( i=1; i<=N; i++ ){
printf ("%d\n’’, i );
}
return;
}
递归实现:
void PrintN ( int N)
{ if (N ) {
printf(’’%d\n,N);
}
return;
}
令N=100,1000,10000,100000,…
【当N极大时,递归代码实现时会直接罢工。(可运行上述程序加以实现)
递归代码简洁、清楚、极易理解,但是也极占空间。】
2.解决问题方法的效率,跟空间的利用效率有关
clock():捕捉从程序开始运行到clock( )被调用时所耗费的时间。这个时间单位是 clock tick,即"时钟打点’’。
常数 CLK_TCK(或 CLOCKS_PER_SEC):机器时钟每秒所走的时钟打点数。
include <stdio. h>
include<time.h>

clock_t start, stop;
/*clock_t是clock()函数返回的变量类型 */
double duration;
/*记录被测函数运行时间,以秒为单位 */
int main()
{ /*不在测试范围内的准备工作写在clock()调用之前 */
start =clock( ); /*开始计时 */
MyFunction( ); /*把被测函数加在这里 */
stop =clock( ); /*停止计时 */
duration =((double)(stop start))/CLK_TCK;
/*计算运行时间 */
/*其他不在测试范围的处理写在后面,例如输出 duration的值 */
return 0;
}
3.解决问题方法的效率,跟算法的巧妙关系有关
所以到底什么是数据结构???
数据对象在计算机中的组织方式
逻辑结构;
物理存储结构.
数据对象必定与一系列加在其上的操作相关联
完成这些操作所用的方法就是算法

抽象数据类型( Abstract Data Type)

数据类型
数据对象集;
数据集合相关联的操作集
抽象:描述数据类型的方法不依赖于具体实现
与存放数据的机器无关;
与数据存储的物理结构无关;
与实现操作的算法和编程语言均无关.
只描述数据对象集和相关操作集“是什么”,并不涉及“如何做到”的问题

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值