数据结构(笔记)

本文介绍了数据结构的基本概念,强调了学习数据结构的重要性,阐述了数据结构与算法的区别,并以线性表为例详细讲解了其概念、性质及操作。同时,讨论了算法效率的度量,包括事后统计法、事前分析估算和大O表示法。
摘要由CSDN通过智能技术生成

1. 数据结构概念

1.1 数据结构相关概念

1.1.1 为什么要学习数据结构?

为什么要学习数据结构?在回答这个问题之前,我们应该弄清楚什么是数据结构,数据结构能够用来干什么?直白的,它能够帮我们解决什么问题?
数据结构是思想层面的,与具体的语言无关,可以用其他的语言去实现这些思想都没有问题
举个例子:
比如我们C语言中没有数组这个数据结构,那么如何实现10个数排序,是不是要定义10个变量,然后让10个变量互相比较,重复劳动,但是使用数组之后,是不是问题变得简单了,只需要通过数组下表就可以,提高了编程的编写效率
再比如说,我们有了数组,为什么还要学习链表这种数据结构?数组是连续内存空间,一旦定义了不能改变,适应性差,但是链表有多少数据,就创建多少个结点,而且比如说数据,删除中间位置一个元素,会引起后面数据的移动,但是链表不会,在有些场合下,使用链表是不是会增加程序的效率
可以得出数据结构的概念:数据结构就是帮我们解决如何组织和存储数据的方式
数据结构主要研究非数值计算问题的程序中的操作对象以及他们之间的关系,不是研究复杂的算法

	数据结构是计算机存储、组织数据的方式

1.1.2 数据结构中的基本概念

数据:程序的操作对象
数据是一个抽象的概念,将其进行分类后得到的程序设计语言中的类型。如:int, float, char等等
数据元素:组成数据的基本单位
数据项:一个数据元素由若干个数据项组成
数据对象:性质相同的数据元素的集合(比如:数组、链表)

//声明一个结构体类型
struct _MyTeacher	//一种数据类型
{
   
	char name[32];
	char tile[32];
	int age;
	char addr[128];
};

int main()
{
   
	struct _MyTeacher t1;	//数据元素
	struct _MyTeacher tArray[30];	//数据对象
	memset (&t1, 0, sizeof(t1));
	strcpy(t1.name, "name")l	//数据项
	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值