数据结构绪论

博客介绍了数据结构和算法设计与分析的相关内容。数据结构包括基本概念、逻辑结构和存储结构;算法设计涉及基本概念、基本算法及分析方法。还探讨了逻辑与存储结构的关系、算法输入及特性等问题,并给出排序编程示例和算法特性判断示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、数据结构概念

1.基本概念

                 数据,数据元素,数据项,数据对象,数据结构,数据类型,抽象数据类型

2.逻辑结构

                 逻辑结构  ,逻辑结构分类,逻辑结构特点

3.存储结构

                   存储结构,存储结构分类

二、算法设计与分析

1基本概念:

算法,算法特性,算法评价标准,算法描述语言,算法设计步骤

2.基本算法:

穷举法,递推法,迭代法,递归法

3.算法分析:

事后测量,事前估计,问题规模,执行频度,时间复杂度,空间复杂度

———————————————————————————————————————————————————————— 1.数据结构是指数据元素之间的逻辑关系,即数据的逻辑结构。可看作是从具体问题抽象出来的数据模型,与数据的存储无关。

2.数据的逻辑结构分为:线性结构,树形结构,图结构,集合结构

3.数据的存储结构分为:顺序存储,链接存储,索引存储,散列存储

4.数据的逻辑结构能否独立于存储结构来考虑?反之数据的存储结构是否可以独立于逻辑结构来考虑?

答:逻辑结构可独立于存储结构。数据设计的两个阶段,逻辑结构在系统分析时进行,存储结构在系统设计时进行

数据的存储结构是不可独立于逻辑结构,它是逻辑结构在存储中的映像。

5.设有10个取值范围为0-9的互不相等的整数存放在数组A[10]中,编程实现将他们从小到大排序并存入另一个数组

#include<stdio.h>
int main(void){
	int A[10]={3,4,5,1,2,6,7,8,9,0};
	int B[10],i;
	for(i=0;i<10;i++) B[A[i]]=A[i];
	for(i=0;i<10;i++) printf("%d ",B[i]);
	printf("\n");
}

6.算法应有输入,则0个输入是什么意思?是否意味着没有输入?

答:0个输入指的是算法的输入不是通过键盘或其他输入设备输入的,而实通过算法内的定值语句或复制与给出所需变量的初值,它也被视为一种特殊的输入。只不过不是显式输入。

7.下面两个算法是否符合算法的特性?

void exam(){

n=2;

while(n%2==0) n=n+2;

printf("%d\n",n);

}

死循环,违反算法有穷性

void test(){

y=0;

x=5/y;

printf("%d,%d",x,y);

}

除零错误,违反算法的正确性特性

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值